メッセージプッシュサービスは、中国以外のデバイス上の Android アプリケーション向けに、Firebase Cloud Messaging (FCM) チャンネルをサポートしています。
このトピックでは、FCM プッシュチャンネルの統合方法について説明します。
前提条件
FCM を統合する前に、以下の前提条件が満たされていることを確認してください。
ネイティブ AAR 方式を使用して統合する必要があります。FCM はこの方式のみをサポートしており、Portal & Bundle 統合はサポートしていません。
Gradle のバージョンは 4.1 以降である必要があります。
プロジェクトで AndroidX を使用する必要があります。
com.android.tools.build:gradleのバージョンは 3.2.1 以降である必要があります。compileSdkVersionは 28 以降である必要があります。
FCM SDK の統合
以下の手順に従ってください。
Firebase コンソールでアプリケーションを追加します。
Firebase コンソールにログインし、アプリケーションを登録します。詳細については、Firebase ドキュメントをご参照ください。
Firebase Android 構成ファイルをアプリケーションに追加します。
google-services.json構成ファイルをダウンロードします。このファイルをプロジェクトのアプリモジュールディレクトリに配置します。プロジェクトのルートレベルにある
build.gradleファイルのbuildScript依存関係に Google Services プラグインを追加します。buildscript { repositories { // 以下の行があることを確認します (ない場合は追加します): google() // Google の Maven リポジトリ } dependencies { // ... // 以下の行を追加します: classpath 'com.google.gms:google-services:4.3.4' // Google Services プラグイン } } allprojects { // ... repositories { // 以下の行があることを確認します (ない場合は追加します): google() // Google の Maven リポジトリ // ... } }アプリモジュールの
build.gradleファイルに Google Services プラグインを適用します。apply plugin: 'com.android.application' // 以下の行を追加します: apply plugin: 'com.google.gms.google-services' // Google Services プラグイン android { // ... }アプリモジュールの
build.gradleファイルに FCM SDK の依存関係を追加します。dependencies { // Firebase プラットフォームの BoM をインポートします implementation platform('com.google.firebase:firebase-bom:26.1.1') // Firebase Cloud Messaging および Analytics ライブラリの依存関係を宣言します // BoM を使用する場合、Firebase ライブラリの依存関係でバージョンを指定する必要はありません implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.firebase:firebase-analytics' }
mPaaS の統合
以下の手順に従ってください。
アプリモジュールの
build.gradleファイルに FCM Adapter の依存関係を追加します。dependencies { implementation 'com.mpaas.push:fcm-adapter:0.0.2' }MPS コンポーネントを統合します。mPaaS のベースラインバージョンは、以下の要件を満たす必要があります。
com.mpaas.push:fcm-adapter:0.0.2の場合、ベースラインバージョンは 10.1.68.34 以降である必要があります。com.mpaas.push:fcm-adapter:0.0.1の場合、ベースラインバージョンは 10.1.68.19 以降である必要があります。
プッシュメッセージの受信。FCM SDK の動作により、コンソールまたはサーバーサイドからプッシュされた場合、クライアントは FCM チャンネルからのメッセージを常に受信するとは限りません。代わりに、自己構築チャンネルから受信する場合があります。配信ルールは以下の通りです。
アプリケーションがバックグラウンドにある場合、またはアプリケーションプロセスが終了している場合、メッセージは FCM チャンネルを通じて配信されます。これらのメッセージは、他のベンダーチャンネルからのメッセージと同様に、通知バーに表示されます。
アプリケーションがフォアグラウンドにある場合、FCM はメッセージをアプリケーションに渡し、アプリケーションは自己構築チャンネルを通じてメッセージを受信します。
(オプション) FCM の初期化に失敗した場合にエラーメッセージを受信するために、メッセージレシーバーを登録します。詳細については、エラーコードのドキュメントをご参照ください。以下のコードは一例です。
<receiver android:name=".push.FcmErrorReceiver" android:exported="false"> <intent-filter> <action android:name="action.mpaas.push.error.fcm.init" /> </intent-filter> </receiver>package com.mpaas.demo.push; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class FcmErrorReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if ("action.mpaas.push.error.fcm.init".equalsIgnoreCase(action)) { Toast.makeText(context, "fcm error " + intent.getIntExtra("error", 0), Toast.LENGTH_SHORT).show(); } } }