跳转到主要内容

概览

OneSignal + Apache Kafka 集成支持将自定义事件从您的 Kafka 主题自动同步到 OneSignal 的自定义事件 API。这使您能够基于通过 Kafka 基础设施流式传输的实时用户行为触发自动化旅程和个性化消息传递活动。 您可以同步购买、产品浏览、订阅变更或任何自定义用户操作等事件,以自动触发引导序列、重新参与活动、交易消息和跨推送通知、电子邮件、应用内消息和短信的定向促销。

要求

  • 访问自定义事件(目前处于测试阶段)
  • 升级账户计划(免费应用不可用)。

Apache Kafka

  • Kafka 集群(Apache Kafka、Confluent 或云托管)
  • 包含事件数据的主题
  • 身份验证凭据(SASL/SCRAM、SSL 或 API 密钥)
  • 对 Kafka 代理的网络访问
  • JSON 格式的事件数据

设置

配置 Kafka 权限

OneSignal 需要从您的 Kafka 主题消费事件。具体设置取决于您的 Kafka 配置:
1

收集连接详细信息

收集有关您 Kafka 集群的以下信息:
  • 引导服务器:Kafka 代理端点
  • 安全协议:PLAINTEXT、SASL_PLAINTEXT、SASL_SSL 或 SSL
  • 身份验证:用户名/密码、证书或 API 密钥
  • 主题名称:包含事件数据的主题列表
2

创建消费者凭据

为 OneSignal 创建访问您 Kafka 主题的凭据:对于 SASL/SCRAM 身份验证:
# 创建具有事件主题读取权限的用户
kafka-configs --bootstrap-server localhost:9092 \
  --alter --add-config 'SCRAM-SHA-256=[password=onesignal-password]' \
  --entity-type users --entity-name onesignal-consumer
对于基于 ACL 的授权:
# 授予主题和消费者组的读取权限
kafka-acls --bootstrap-server localhost:9092 \
  --add --allow-principal User:onesignal-consumer \
  --operation Read --topic your-event-topic

kafka-acls --bootstrap-server localhost:9092 \
  --add --allow-principal User:onesignal-consumer \
  --operation Read --group onesignal-consumer-group
3

验证主题访问

测试 OneSignal 是否可以访问您的事件主题:
kafka-console-consumer --bootstrap-server localhost:9092 \
  --topic your-event-topic \
  --from-beginning \
  --max-messages 5

配置 OneSignal Kafka 连接

1

导航到集成

在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成
2

选择 Apache Kafka

从可用集成列表中选择 Apache Kafka
3

输入连接详细信息

提供您的 Kafka 连接信息:
  • 引导服务器:逗号分隔的代理端点
  • 安全协议:您集群的安全配置
  • 用户名/密码:SASL 凭据(如适用)
  • 主题名称:包含您事件数据的主题
  • 消费者组:OneSignal 的唯一组 ID
4

测试连接

点击 测试连接 以验证 OneSignal 能够连接到您的 Kafka 集群并消费事件。

事件数据映射

将您的 映射到 OneSignal 的自定义事件格式:
OneSignal 字段描述必需
nameevent_name事件标识符
external_iduser_id用户标识符
timestampevent_timestamp事件发生时间
propertiesevent_data

事件数据架构

您的 Kafka 事件消息应为 JSON 格式,并包含映射到 OneSignal 自定义事件结构的字段:
Kafka 事件字段OneSignal 事件字段描述
event_type
I