# Mobile Pushセットアップ ## 概要 Engage StudioからMobile Pushキャンペーンを送信する前に、Firebase Cloud Messaging (FCM) を設定し、Treasure Dataと統合する必要があります。このガイドでは、AndroidとiOSの両プラットフォームの完全なセットアッププロセスを説明します。 ## 必要要件 - **Firebaseプロジェクト**: Cloud Messagingが有効なFirebaseプロジェクト - **Apple Developer Account**: iOSプッシュ通知 (APNs) に必要 - **Treasure Dataアカウント**: 統合を設定するための適切な権限 ## アーキテクチャ概要 Engage StudioのMobile Push通知は次のフローで動作します: 1. **キャンペーン作成**: Engage Studioでターゲットオーディエンスとコンテンツを含むキャンペーンを作成 2. **配信パイプライン**: Engage StudioがデバイストークンとペイロードをFirebase Cloud Messagingに送信 3. **FCM/APNs**: FirebaseがAndroid (FCM経由) とiOS (APNs経由) に通知を配信 4. **モバイルアプリ**: アプリが通知を受信し、ユーザーアクションをトラッキング 5. **イベントトラッキング**: アプリがイベントをTreasure Dataに送り返して分析 ``` ┌─────────────────┐ │ Engage Studio │ │ Campaign │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Firebase │ │ Cloud │ │ Messaging │ └────────┬────────┘ │ ┌────┴────┐ │ │ ▼ ▼ ┌────────┐ ┌────────┐ │ FCM │ │ APNs │ │Android │ │ iOS │ └───┬────┘ └───┬────┘ │ │ ▼ ▼ ┌──────────────────┐ │ Mobile App │ │ (Customer-built) │ └────────┬─────────┘ │ ▼ ┌─────────────────┐ │ Treasure Data │ │ (Event Logs) │ └─────────────────┘ ``` ## ステップ1: Firebaseプロジェクトのセットアップ ### 1.1 Firebaseプロジェクトを作成または選択 1. [Firebase Console](https://console.firebase.google.com/)にアクセス 2. **プロジェクトを追加**をクリックするか、既存のプロジェクトを選択 3. ウィザードに従ってプロジェクト作成を完了 ### 1.2 Androidアプリを登録 1. Firebase Consoleで**Androidアイコン**をクリック 2. Androidパッケージ名を入力 (例: `com.example.myapp`) - これは`build.gradle`ファイルの`applicationId`と一致する必要があります 3. オプションでアプリのニックネームとSHA-1証明書を入力 4. **アプリを登録**をクリック 5. `google-services.json`ファイルをダウンロード - このファイルをAndroidアプリの`app/`ディレクトリに配置 6. SDKセットアップ手順に従う(Android開発者ガイドで説明) ### 1.3 iOSアプリを登録 1. Firebase Consoleで**iOSアイコン**をクリック 2. iOSバンドルIDを入力 (例: `com.example.myapp`) - これはXcodeのBundle Identifierと一致する必要があります 3. オプションでアプリのニックネームとApp Store IDを入力 4. **アプリを登録**をクリック 5. `GoogleService-Info.plist`ファイルをダウンロード - このファイルをXcodeプロジェクトルートに追加 6. SDKセットアップ手順に従う(iOS開発者ガイドで説明) ## ステップ2: Apple Push Notification Service (APNs) の設定 このステップは**iOSプッシュ通知に必須**です。AndroidはFCMを直接使用するため、APNsは不要です。 ### 2.1 APNs認証キーを作成 1. [Apple Developer Portal](https://developer.apple.com/account/)にログイン 2. **Certificates, Identifiers & Profiles** > **Keys**に移動 3. **+**ボタンをクリックして新しいキーを作成 4. キー名を入力 (例: "My App APNs Key") 5. **Apple Push Notifications service (APNs)**にチェック 6. **Continue**をクリックし、次に**Register**をクリック 7. `.p8`キーファイルをダウンロード - **重要**: このファイルを安全に保存してください — ダウンロードは1回のみ可能です ### 2.2 APNsキーをFirebaseにアップロード 1. Firebase Consoleで**Project Settings** > **Cloud Messaging**に移動 2. **Apple app configuration**の下で**Upload**をクリック 3. 次の情報を提供: - **APNs Authentication Key**: `.p8`ファイルをアップロード - **Key ID**: Apple Developer PortalのKeysで確認 - **Team ID**: Apple Developer PortalのMembershipで確認 4. **Upload**をクリック ## ステップ3: Integration Hubの設定 Engage Studioからプッシュ通知を送信するには、Treasure DataのIntegration HubでFirebase統合を設定する必要があります。 ### 3.1 Firebase Streaming Connectorを登録 1. Treasure Data Consoleにログイン 2. **Integration Hub** > **Catalog**に移動 3. **Firebase Cloud Messaging** (Streaming Egress Connector) を検索 4. **Create Authentication**をクリック 5. 認証を設定: | フィールド | 説明 | 例 | | --- | --- | --- | | **Authentication Name** | この設定の説明的な名前 | `fcm-production` | | **Firebase Project ID** | Firebase ConsoleからのFirebaseプロジェクトID | `my-app-12345` | | **Service Account JSON** | Firebase Consoleからのサービスアカウント鍵ファイル (Settings > Service Accounts > Generate new private key) | ダウンロードしたJSONファイルをアップロード | 1. **Save**をクリック ### 3.2 Treasure Engage Connectorを設定 Treasure Engage Connectorは、Engage Studioからのキャンペーン配信を認証するために使用されます。 1. **Integration Hub** > **Catalog**に移動 2. **Treasure Engage**を検索 3. **Create Authentication**をクリック 4. 認証を設定: | フィールド | 説明 | | --- | --- | | **Authentication Name** | このコネクタの説明的な名前 例: `engage-master-key` | | **Master API Key** | Treasure Data Master API Key **セキュリティ注意**: このキーはアカウント全体へのアクセス権を持ちます。安全に保存し、定期的にローテーションしてください。 | 1. **Save**をクリック ## ステップ4: 設定を確認 ### 4.1 Firebase接続をテスト 次の手順でFirebaseセットアップを確認できます: 1. Firebase Consoleで**Cloud Messaging**に移動 2. **Send your first message**をクリック 3. 通知のタイトルとテキストを入力 4. **Send test message**をクリック 5. デバイスFCMトークンを入力(開発者ガイド実装後、アプリログから取得可能) 6. デバイスに通知が表示されることを確認 ### 4.2 Integration Hub認証を確認 Treasure Data Consoleで: 1. **Integration Hub** > **Authentications**に移動 2. 両方の認証がリストに表示されることを確認: - Firebase Cloud Messaging (Streaming Egress) - Treasure Engage 3. ステータスが**Active**と表示されていることを確認 ## ステップ5: モバイルアプリの実装 この時点で、FirebaseとTreasure Dataの統合が設定されました。次のステップは、モバイルアプリでプッシュ通知処理を実装することです。 開発者による実装が必要 一部のマーケティングプラットフォームとは異なり、Treasure Dataはモバイルプッシュ通知用の事前構築SDKを提供していません。開発チームは、AndroidおよびiOSアプリに次の機能を実装する必要があります: 1. **FCM/APNsトークン登録**: デバイストークンを取得し、Treasure Dataに送信 2. **通知表示**: 受信したプッシュ通知を処理 3. **ユーザーアクショントラッキング**: 配信、開封、削除、リンク/ディープリンクイベントをトラッキング 4. **イベントアップロード**: イベントデータをTreasure Data Ingest APIに送信 詳細な実装手順については、次を参照してください: - [Android開発者ガイド](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/developer-guide-android) - [iOS開発者ガイド](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/developer-guide-ios) ## セキュリティベストプラクティス ### APIキー管理 - **APIキーをソースコントロールにコミットしない**: 環境変数またはセキュアなキー管理サービスを使用 - **定期的にキーをローテーション**: Master API KeyとFirebaseサービスアカウントキーを定期的に変更 - **開発と本番で別々のキーを使用**: 各環境に対して異なるFirebaseプロジェクトとTreasure Data書き込みキーを作成 - **キー権限を制限**: アプリ側のイベントトラッキングには書き込み専用キーを使用 ### Firebaseサービスアカウントの権限 Firebaseサービスアカウント鍵を生成する際: 1. Firebase Console > **Project Settings** > **Service Accounts**に移動 2. **Generate new private key**をクリック 3. ダウンロードしたJSONファイルを安全に保存 4. サービスアカウントに最小限の必要な権限のみがあることを確認: - **Firebase Cloud Messaging API**: 有効 - 不要なロールを削除 ## トラブルシューティング ### 問題: iOSで通知が受信されない **考えられる原因:** - APNsキーがFirebaseにアップロードされていない - XcodeとFirebase間のBundle IDの不一致 - デバイスで通知権限が許可されていない - アプリがリモート通知用に正しく登録されていない **解決策:** 1. APNsキーがFirebase Consoleに正しくアップロードされていることを確認 2. Bundle IDが完全に一致することを確認(大文字小文字を区別) 3. iOS設定 > 通知で通知権限ステータスを確認 4. [iOS開発者ガイド](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/developer-guide-ios)で実装を確認 ### 問題: Androidで通知が受信されない **考えられる原因:** - `google-services.json`がプロジェクトに追加されていない - パッケージ名の不一致 - Firebase Cloud Messagingが有効になっていない - デバイスがオフラインまたはFCMトークンが期限切れ **解決策:** 1. `google-services.json`が`app/`ディレクトリにあることを確認 2. `build.gradle`のパッケージ名がFirebase登録と一致することを確認 3. Firebase ConsoleでFCMが有効になっていることを確認 4. デバイスから新しいFCMトークンをリクエスト 5. [Android開発者ガイド](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/developer-guide-android)で実装を確認 ### 問題: Integration Hubで認証に失敗 **考えられる原因:** - Master API Keyが正しくない - Firebaseサービスアカウント鍵が無効または期限切れ - Firebase Project IDが正しくない **解決策:** 1. Master API Keyが正しくアクティブであることを確認 2. Firebase Consoleから新しいサービスアカウントキーを生成 3. Firebase Project IDを再確認(Firebase Console > Project Settingsで確認) ## 次のステップ このセットアップが完了したら: 1. **モバイルアプリ機能を実装**: - [Android開発者ガイド](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/developer-guide-android) - [iOS開発者ガイド](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/developer-guide-ios) 2. **最初のキャンペーンを作成**: - [Mobile Pushキャンペーン概要](/ja/products/marketing-cloud/engage-studio/channels/mobile-push)を参照 3. **イベントトラッキングをセットアップ**: - [Push Eventsテーブル](/ja/products/marketing-cloud/engage-studio/channels/mobile-push/push-events-table)を参照 ## 追加リソース - [Firebase Cloud Messaging Documentation](https://firebase.google.com/docs/cloud-messaging) - [Apple Push Notification Service Documentation](https://developer.apple.com/documentation/usernotifications) - [Treasure Data Integration Hub](/products/customer-data-platform/integration-hub)