
Auxiaによるプッシュ通知送信の有効化
1. サービスアカウントのセットアップ
Auxiaは、プッシュ通知API呼び出しの認証にGCPサービスアカウントを使用します。
以下の手順に従ってください:
-
既存のGoogle CloudプロジェクトでFirebaseの使用を開始します。
-
リンクされたGCPプロジェクトでサービスアカウントを作成します。
-
サービスアカウントに以下のロールを割り当てます:
Firebase Cloud Messaging API Admin

-
このサービスアカウントのJSONキーを生成します。

備考
このサービスアカウントのJSONキーをAuxiaチームと共有してください。
2. FCMトークン
FCMトークンは、Firebase Cloud Messaging (FCM) に登録されたデバイスの一意の識別子です。このトークンはデバイスにプッシュ通知を送信するために必要です。
ライフサイクル:
getToken()を使用してトークンを生成します。- トークンのリフレッシュイベントを監視します。
アプリケーションがバックエンドでuser_idとFCMトークンのマッピングを更新するようにしてください。これにより、プッシュ通知が正しいユーザーに配信されます。
サンプル実装については、Flutter サンプルセットアップセクションをご参照ください。
ヒント
user_idとFCMトークンのマッピングは、ユーザー属性の取り込みを通じてAuxiaチームと共有する必要があります。プロパティfcm_tokenを使用し、プロパティ値にはstring_valueフィールドを設定してください。
3. 配信の詳細
前提条件:
- FCMトークンは特定のユーザーを識別するために使用されます。
- サービスアカウントのJSONキーは認証に使用されます。
- サーバー上では、JSONキーを使用して短期間有効なOAuth 2.0アクセストークンを取得します。
- アクセストークンは、FCMトークンをユーザー識別子としてsend-message APIで使用されます。
Auxiaはデータのみのメッセージ(notificationオブジェクトなし)を使用します。title、body、imageを含むすべてのフィールドは、dataオブジェクトのキーと値のペアとして送信されます。これにより、AndroidとiOSの両方との互換性が確保されます。
ペイロードの例:
{
"message": {
"token": "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data": {
"title": "Portugal vs. Denmark",
"body": "great match!",
"Nick": "Mario",
"Room": "PortugalVSDenmark"
}
}
}