MPS は、海外の Android デバイスでのメッセージプッシュ要件を満たすために、Firebase Cloud Messaging(FCM)プッシュチャネルの統合をサポートしています。
以下のセクションでは、FCM プッシュチャネルを統合する方法について説明します。
前提条件
FCM を統合する前に、以下の条件が満たされていることを確認してください。
ネイティブ AAR 統合モードを採用します。ポータル & バンドル統合モードは FCM では機能しません。
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 サービス プラグインを追加します。buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google の Maven リポジトリ } dependencies { // ... // Add the following line: classpath 'com.google.gms:google-services:4.3.4' // Google サービス プラグイン } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google の Maven リポジトリ // ... } }メインモジュールの
build.gradleファイルに Google サービス プラグインを適用します。apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google サービス プラグイン android { // ... }メインモジュールの
build.gradleファイルに FCM SDK 依存関係を追加します。dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.1.1') // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.firebase:firebase-analytics' }
mPaaS の統合
次の手順を実行します。
メインモジュールの
build.gradleファイルに FCM アダプター依存関係を追加します。dependencies { implementation 'com.mpaas.push:fcm-adapter:0.0.2' }mPaaS ベースラインの要件を参照して、MPS SDK を統合します。
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 チャネルを介して送信され、通知バーに表示されます。
(オプション) 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(); } } }