Androidプッシュ通知
はじめに
Catalystは、Firebase Cloud Messaging (FCM)を使用して、CatalystアプリのプッシュメッセージをクライアントAndroidデバイスに転送します。FCMはGoogle Firebaseによるクロスプラットフォームメッセージングソリューションで、プッシュ通知をクライアントデバイスに配信するためのバックエンドとトランスポートレイヤーを提供します。Catalystはこのシナリオにおいてアプリサーバーとして機能し、アプリのロジックを実行してプッシュ通知リクエストを処理します。以下のセクションでこのプロセスを詳しく説明します。
プッシュ通知フローの一般的なアーキテクチャについては、アーキテクチャヘルプセクションで学ぶことができます。
主要概念
実装パスとワークフロー
AndroidアプリのCatalystプッシュ通知を設定するための実装パスは以下の通りです:
- FirebaseにアプリをregistrationしFirebaseの設定ファイルをアプリのディレクトリに追加することで、AndroidアプリでFirebaseサービスを有効にします。
- プライベートキーを生成してFirebase Admin SDKへのアクセスを取得します。
- Firebase Admin SDKのプライベートキーをCatalystに追加して、Catalystでプッシュ通知に登録します。
- プッシュ通知を受信するモバイルデバイスを登録します。
上記の実装を行った後、アプリからプッシュ通知が送信される際にバックグラウンドで以下のプロセスが実行されます:
- CatalystはFirebase Admin SDKを通じてFCMのバックエンドと通信します。これはFCMサーバーと通信するための優れた、強く推奨されるオプションです。
- Catalystはビジネスロジックから、またはテスト通知の場合はCatalystコンソールからプッシュ通知メッセージをFCMのバックエンドに転送します。
- その後、Firebaseは設定されたサーバーロジックに基づいて、プッシュ通知メッセージをユーザーのデバイスで実行されているクライアントアプリにルーティングします。
Androidプッシュ通知の要素
Androidは、基本的なテキスト通知、リッチメディア要素を含む通知、通話スタイルの通知など、多数の通知タイプをサポートしています。FCMはクライアントへのメッセージを2つのタイプに分類しています。ヘルプドキュメントで説明されているように、通知メッセージとデータメッセージです。ヘルプページに記載されている形式と仕様に従って、いずれかのタイプで通知を作成できます。
画像、ハイパーリンク、コールトゥアクションボタンなどの要素は、これらのメッセージ形式のデータペイロードとして渡すことができます。CatalystはAndroidプッシュ通知での通知バッジカウントもサポートしています。これにより、通知バッジに未読の通知数が表示されます。
プッシュメッセージの作成と送信時には、AndroidとFCMが定義する基準、ガイドライン、および制限に従う必要があります。詳細については、通知のデザインと開発に関するAndroidの公式ドキュメントを参照してください。
Androidプッシュ通知の設定と登録
AndroidアプリのCatalyst Push Notificationサービスの設定と登録手順を、論理的な順序で以下に示します:
ステップ1:FirebaseのAndroid設定ファイルを生成する
まず、AndroidアプリでFirebaseを有効にする必要があります。以下の手順で、Firebase上にAndroidアプリのプロジェクトを作成し、Android SDKと設定ファイルを追加します:
- AndroidアプリのFirebaseプロジェクトをまだ作成していない場合は、Firebaseコンソールにログインして作成できます。新しいFirebaseプロジェクトを作成するオプションを選択します。
すでにAndroidアプリのFirebaseプロジェクトを作成している場合は、ステップ4に進んでください。
- Firebaseプロジェクトの名前を入力し、チェックボックスにチェックを入れます。Continueをクリックします。
- 必要に応じて、プロジェクトのGoogle Analyticsを有効にして設定できます。Continueをクリックします。
プロジェクトが作成されます。
- プロジェクトが作成された後、Androidアイコンをクリックして、アプリのFirebase Android SDKを設定できます。
- Androidアプリのパッケージ名と表示名を入力し、Register Appをクリックします。アプリのデバッグ署名証明書を生成済みの場合は、オプションで設定することもできます。
- ダウンロードボタンをクリックして、Firebaseが生成したgoogle-services.jsonファイルをダウンロードできます。Nextをクリックして、アプリにFirebase SDKを組み込むためのコードスニペットを確認し、セットアップを完了します。
- ダウンロードしたgoogle-services.json設定ファイルは、上記のようにAndroid Studioを通じてアプリのモジュール(アプリレベル)ルートディレクトリに追加する必要があります。
これでFirebaseのAndroid設定ファイルがAndroidアプリで利用可能になりました。
ステップ2:Firebaseアクセス用のプライベートキーを生成する
次のステップは、AndroidアプリケーションからFirebase Admin SDKにアクセスするためのプライベートキーを生成することです。Firebase Admin SDKの統合Admin SDKは、複数のFirebase機能の認証を容易にし、FCMを通じたメッセージの送信やトピックサブスクリプションの管理に対する完全な管理者権限を提供します。これは、Firebaseが管理者権限でサービスを運用および管理するために使用するFirebaseサービスアカウントの一部として利用できます。
以下の手順に従って、サービスアカウントのプライベートキーを生成できます。
- Firebaseコンソールに移動します。以前にAndroidアプリケーションを設定したプロジェクトを開きます。
- コンソールでProject Overviewをクリックし、Project settingsをクリックします。
- プロジェクト設定のService Accountsタブに移動します。Firebase Admin SDKセクションから、Generate new private keyをクリックします。
- 表示されるポップアップからGenerate keyをクリックします。
これにより、プライベートキーJSONファイルがシステムにダウンロードされます。
ステップ3:CatalystでAndroidプッシュ通知サービスを設定する
FirebaseからAndroidアプリのサービスアカウントプライベートキーを取得した後、アプリでCatalyst Push Notificationサービスに登録するために、そのキーをCatalystに設定する必要があります。
CatalystでAndroidアプリのプッシュ通知に登録するには:
- プロジェクトのCatalystコンソールからCloud Scaleサービスに移動し、Push Notificationsを開きます。Androidタブをクリックし、Configureをクリックします。
- AndroidアプリのバンドルIDを入力します。これは、Firebaseでアプリを登録した際、およびCatalystでアプリを登録した際に指定したパッケージ名と同じである必要があります。次に、前のセクションでFirebase Admin SDK用に生成したサービスアカウントJSONファイル(プライベートキーファイル)をアップロードします。
- Enrollをクリックします。
これにより、Catalyst Androidプッシュ通知サービスに登録されます。Firebaseサービスアカウントの JSONファイルが設定されると、CatalystはAndroidアプリのFCMサーバーと通信できるようになります。
その後、Androidアプリの登録済みユーザーにプッシュ通知を送信したり、コンソールから通知の送信をテストしたりできます。
ステップ4:プッシュ通知用のモバイルデバイスを登録する
Androidアプリからプッシュ通知を送信したり、Catalystコンソールから送信をテストしたりする前に、プッシュ通知を受信するモバイルデバイスを登録する必要があります。
これは、デバイスから以下のコードスニペットを呼び出すことで実行できます。これにより、必要な資格情報がCatalyst SDKのapp.registerNotification()メソッドに渡されます。
val app = ZCatalystApp.getInstance()
app.registerNotification(device_token,"bundleID",
"appID", test_device_boolean, {
Log.i("Register","App register successfully");
}, {
Log.i("Register","App register failed");
})
パラメータ:
-
device_token:アプリのFCMから取得したデバイストークン。
-
bundleID:Catalystおよび Firebaseでアプリを登録した際に設定したAndroidアプリのバンドルID。
-
appID:Push NotificationsでCatalystがアプリに対して生成したアプリID。CatalystコンソールのPush NotificationsのAndroidセクションで確認できます。
-
test_device_boolean:テストデバイスの場合はtrueに、本番デバイスの場合はfalseに設定します。
モバイルデバイスが登録された後、ユーザーはデバイスからプッシュ通知を送信するためのアプリの明示的な許可を提供する必要があります。許可プロンプトを送信してユーザーが許可または拒否できるようにすることで、アプリのロジックでこれを処理できます。許可が提供された後、デバイスにテスト通知を送信できます。
モバイルデバイスの登録解除
以下のコードを実行することで、Androidアプリからのプッシュ通知の受信からモバイルデバイスの登録を解除できます。これにより、必要な資格情報がCatalyst SDKのapp.deregisterNotification()メソッドに渡されます。
val app = ZCatalystApp.getInstance()
app.deregisterNotification (device_token,"bundleID",
"appID", test_device_boolean, {
Log.i("Unregister","App unregistered successfully");
}, {
Log.i("Unregister","App unregisteration failed");
})</code></pre>
</div>
パラメータ:
-
device_token:アプリのFCMから取得したデバイストークン。
-
bundleID:CatalystおよびFirebaseでアプリを登録した際に設定したAndroidアプリのバンドルID。
-
appID:Push NotificationsでCatalystがアプリに対して生成したアプリID。CatalystコンソールのPush NotificationsのAndroidセクションで確認できます。
-
test_device_boolean:テストデバイスの場合はtrueに、本番デバイスの場合はfalseに設定します。
Androidプッシュ通知のテスト
Catalystでは、コンソールから登録済みのすべてのユーザーデバイスにテキスト形式のテスト通知を送信できます。コンソールから必要なオプションを選択して、開発環境または本番環境の環境からテスト通知を送信できます。テスト通知の送信先のエンドユーザーがアプリで認証済みであり、登録ユーザーであることを確認してください。
CatalystコンソールからCatalyst Androidアプリのテストプッシュ通知を送信するには:
- プロジェクトのCloud ScaleセクションからPush Notificationsに移動します。Androidタブをクリックします。
- プッシュ通知のメッセージを入力し、Sendをクリックします。
メッセージは、Androidアプリで登録され認証されたユーザーデバイスにプッシュ通知として送信されます。
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us













