概要
OneSignal + Google Pub/Subインテグレーションにより、Pub/SubトピックからOneSignalへのカスタムイベントのリアルタイム同期が可能になり、ユーザー行動に基づいた自動化されたメッセージングキャンペーンとJourneysをトリガーできます。 Pub/Subは、独立したコンポーネント間でメッセージを送受信できるようにするGoogleのスケーラブルなメッセージングサービスです。OneSignalはPub/Subトピックのサブスクライバーとして機能し、Pub/Subからイベントメッセージを同期してパーソナライズされたユーザーエクスペリエンスをトリガーできます。要件
- アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
- インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
- 更新されたアカウントプラン(無料アプリでは利用できません)
Google Pub/Sub
- Pub/Subが有効になっているGoogle Cloud Project
- イベントメッセージを含むPub/Subトピック
- サービスアカウントアクセスを付与するためのIAM権限
- トピック上のJSON形式のメッセージ
セットアップ
1
Pub/Sub接続を作成する
OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。
- リストからGoogle Pub/Subを選択します
- Pub/Subトピックが配置されているGCP Project IDを入力します
- 認証方法を選択します:
- 自動生成サービスアカウント(推奨):OneSignalがサービスアカウントを作成して管理します
- 既存のサービスアカウント:独自のサービスアカウントキーJSONファイルを提供します
- 接続をクリックします
2
サービスアカウントに権限を付与する
OneSignalは新しいサービスアカウントを作成し、サービスアカウントのメールアドレスを提供します。GCPプロジェクトでこのサービスアカウントに**OneSignalはこのロールを使用して以下を行います:
roles/pubsub.editor**ロールを付与します:- イベントトピックへのサブスクリプションを作成する
- トピックからイベントメッセージを消費する
- 処理が失敗した場合のエラートピック(Dead Letter Queue)を作成する
3
接続をテストする
必要な権限を付与したら、OneSignalで保存をクリックして接続を確認します。OneSignalは、Pub/Subトピックにアクセスでき、イベントメッセージを処理する準備ができていることを検証します。
イベントデータスキーマ
カスタムイベントにPub/Subトピックを使用する前に、イベントメッセージのスキーマを定義する必要があります。1
イベントスキーマ定義に移動する
OneSignalで、データ > インテグレーションに移動し、Pub/Sub接続を選択します。OneSignalは自動的にプロジェクトからトピックのリストを取得します。手動でリストを更新するには、トピックを更新をクリックします。
2
イベントメッセージスキーマを定義する
- イベントデータを含むトピックの名前をクリックします
- メッセージ形式としてJSONを選択します(サポートされている唯一の形式)
- サンプルメッセージをインポートをクリックして、サンプルイベントメッセージを提供します
- 検出されたスキーマを確認して、適切なフィールドマッピングを確保します
- データセットを保存をクリックします
イベントメッセージ形式
Pub/Subメッセージは、OneSignalカスタムイベントの次のJSON構造に従う必要があります:イベントデータマッピング
をOneSignalのカスタムイベント形式にマッピングします:| OneSignalフィールド | 説明 | 必須 | |
|---|---|---|---|
name | event_name | イベント識別子 | はい |
external_id | user_id | ユーザー識別子 | はい |
timestamp | event_timestamp | イベントが発生した時刻 | いいえ |
properties | event_data | いいえ |
サンプルメッセージに顧客のPIIまたは機密データを含めないでください。OneSignalは、データセット定義の一部としてメッセージサンプルを保存します。
リアルタイムイベント処理
バッチインテグレーションとは異なり、Pub/Subはほぼリアルタイムのイベント処理を可能にします:- 低レイテンシ:イベントはトピックに公開されてから数秒以内に処理されます
- 自動サブスクリプション:OneSignalは各トピックに専用のサブスクリプションを作成します
- エラー処理:失敗したイベントは調査のためにDead Letter Queueトピックに送信されます
- スケーラブルな処理:大量のイベントストリームを自動的に処理します
高度な構成
Dead Letter Queue
OneSignalは、処理に失敗したイベントのエラートピックを自動的に作成します:- 自動作成:エラートピックはサブスクリプションごとに作成されます
- 失敗したイベントの保存:処理できないイベントはデバッグ用に保存されます
- 手動レビュー:トラブルシューティングのためにGoogle Cloud Consoleを介して失敗したイベントにアクセスします
メッセージ確認応答
OneSignalはPub/Subメッセージの確認応答を自動的に処理します:- 処理成功:イベント作成が成功した後、メッセージが確認応答されます
- 処理失敗:メッセージは否定的に確認応答され、Dead Letter Queueに送信されます
- リトライロジック:一時的な障害に対する組み込みのリトライ処理
制限事項
- JSON メッセージ形式のみがサポートされています
- メッセージサンプルはデータセット定義の一部として保存されます(PIIを避けてください)
- プロジェクトレベルで
roles/pubsub.editor権限が必要です - 最大メッセージサイズはGoogle Pub/Subの制限(10MB)に従います