メインコンテンツへスキップ

概要

OneSignal + Apache Kafka統合により、KafkaトピックからOneSignalのカスタムイベントAPIに直接カスタムイベントを自動同期できます。これにより、Kafkaインフラストラクチャを通じてストリーミングされるリアルタイムのユーザー行動に基づいて、自動化されたジャーニーとパーソナライズされたメッセージングキャンペーンをトリガーできます。 購入、商品閲覧、サブスクリプション変更、またはカスタムユーザーアクションなどのイベントを同期して、プッシュ通知、メール、アプリ内メッセージ、SMSを通じて、オンボーディングシーケンス、再エンゲージメントキャンペーン、トランザクションメッセージ、ターゲットプロモーションを自動的にトリガーできます。

要件

  • アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
  • インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
  • 更新されたアカウントプラン(無料アプリでは利用できません)

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認証の場合:
# Create a user with read access to event topics
kafka-configs --bootstrap-server localhost:9092 \
  --alter --add-config 'SCRAM-SHA-256=[password=onesignal-password]' \
  --entity-type users --entity-name onesignal-consumer
ACLベースの承認の場合:
# Grant read access to topics and consumer group
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で、Data > Integrationsに移動し、Add Integrationをクリックします。
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