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

概要

OneSignal + Confluent Cloud統合により、マネージドKafkaトピックからOneSignalへのカスタムイベントの自動同期が可能になります。これにより、Confluent Cloudストリーミングプラットフォームを流れるリアルタイムのユーザー行動データに基づいて、自動化されたJourneysとパーソナライズされたメッセージングキャンペーンをトリガーできます。

要件

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

Confluent Cloud

  • アクティブなトピックを持つConfluent Cloudクラスター
  • イベントトピックへの読み取りアクセス権を持つAPI認証情報
  • Schema Registry(オプション、構造化されたイベントスキーマ用)
  • 適切なメッセージフォーマットを持つ行動データを含むイベントトピック

セットアップ

1

Confluent CloudでAPI認証情報を作成

Confluent CloudコンソールでOneSignal用のAPI認証情報を生成します:
  1. Confluent CloudでData Integration > API Keysに移動します
  2. Create keyをクリックし、Global accessを選択します
  3. API KeyAPI Secretを保存します(OneSignalに必要です)
  4. クラスター設定からBootstrap serversエンドポイントをメモします
2

トピックACLを構成(詳細な権限を使用する場合)

イベントデータを含む特定のトピックへの読み取りアクセス権をOneSignalに付与します:
confluent kafka acl create \
  --allow \
  --service-account <ONESIGNAL_SERVICE_ACCOUNT_ID> \
  --operation READ \
  --topic <EVENT_TOPIC_NAME>

confluent kafka acl create \
  --allow \
  --service-account <ONESIGNAL_SERVICE_ACCOUNT_ID> \
  --operation DESCRIBE \
  --topic <EVENT_TOPIC_NAME>
3

OneSignalで統合を追加

OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。Confluent Cloudを選択し、次を提供します:
  • Bootstrap Servers:Confluent Cloudクラスターエンドポイント
  • API Key:Confluent Cloud APIキー
  • API Secret:Confluent Cloud APIシークレット
  • Consumer Group:OneSignal用の一意のグループID(例:onesignal-events
  • Schema Registry URL(オプション):Confluent Schema Registryを使用する場合
4

イベントトピックを構成

イベントデータを含むConfluent Cloudトピックを指定します:
  • Topic Names:消費するトピックのカンマ区切りリスト(例:user-events,purchase-events
  • Event Format:JSON、Avro、またはProtobufメッセージフォーマット
  • Schema Registry:構造化されたスキーマを使用する場合は有効にします
イベントメッセージには次が含まれている必要があります:
  • イベント名/タイプ(String)
  • ユーザー識別子(String)
  • イベントタイムスタンプ(Long/ISO形式)
  • 追加のイベントプロパティ(ネストされたJSON)
5

接続をテスト

Test Connectionをクリックして、OneSignalがConfluent Cloudクラスターに接続し、イベントメッセージを消費できることを確認します。

イベントデータマッピング

をOneSignalのカスタムイベント形式にマッピングします:
OneSignalフィールド説明必須
nameevent_nameイベント識別子はい
external_iduser_idユーザー識別子はい
timestampevent_timestampイベントが発生した時刻いいえ
propertiesevent_dataいいえ

高度な構成

Schema Registry統合

構造化されたイベントデータにConfluent Schema Registryを活用します:
{
  "schema": "user_event_schema_v1",
  "data": {
    "event_name": "purchase",
    "user_id": "user_12345",
    "event_timestamp": 1640995200000,
    "properties": {
      "product_id": "prod_abc123",
      "amount": 29.99,
      "currency": "USD"
    }
  }
}

Consumer Group管理

OneSignalは、メッセージオフセットを追跡するための専用のConsumer Groupを作成します:
  • 自動コミット:正常に処理された後、オフセットが自動的にコミットされます
  • エラー処理:失敗したメッセージは再試行メカニズムでログに記録されます
  • スケーリング:OneSignal Consumerインスタンス間でパーティションがバランスされます

リアルタイム処理

Confluent Cloudは、ほぼリアルタイムのイベントアクティベーションを可能にします:
  • 低レイテンシ:公開されてから数秒以内にイベントが処理されます
  • 高スループット:1秒あたり数千のイベントを処理します
  • フォールトトレランス:組み込みのレプリケーションと自動フェイルオーバー
Confluent Cloudクラスターが、他のConsumerと並行してOneSignalの消費レートを処理するのに十分なスループット容量を持っていることを確認してください。

FAQ

OneSignalはConfluent Cloudからイベントをどのくらいの頻度で消費しますか?

OneSignalは、トピックに到着したイベントをリアルタイムで消費し、最小限のレイテンシ(通常5秒未満)で処理します。

複数のトピックから同時に消費できますか?

はい、OneSignalは複数のトピックから並行して消費できます。構成でトピック名をカンマ区切りリストとして指定します。

OneSignalがConfluent Cloudに接続できない場合はどうなりますか?

OneSignalは、指数バックオフで接続を再試行します。接続が復元されると、イベントの消費が自動的に再開されます。