すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:FCM プッシュチャネルの統合

最終更新日:Jan 17, 2025

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 の統合

次の手順を実行します。

  1. Firebase コンソールでアプリを追加します。

    Firebase コンソールにログインし、アプリを登録します。 Firebase ドキュメント を参照してください。

  2. Firebase Android 構成ファイルをアプリに追加します。

    構成ファイル google-services.json をダウンロードし、プロジェクトのメインモジュールに移動します。

  3. ルートレベルの 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 リポジトリ
         // ...
       }
     }
  4. メインモジュールの build.gradle ファイルに Google サービス プラグインを適用します。

     apply plugin: 'com.android.application'
     // Add the following line:
     apply plugin: 'com.google.gms.google-services'  // Google サービス プラグイン
    
     android {
       // ...
     }
  5. メインモジュールの 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 の統合

次の手順を実行します。

  1. メインモジュールの build.gradle ファイルに FCM アダプター依存関係を追加します。

     dependencies {
         implementation 'com.mpaas.push:fcm-adapter:0.0.2'
     }
  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 以降のバージョンである必要があります。

  3. プッシュメッセージを受信します。

    FCM SDK の機能により、FCM チャネルを介してプッシュされたメッセージは、常に FCM チャネルを介してクライアントで受信されるとは限りません。セルフビルドチャネルを介して受信される場合があります。具体的なルールは次のとおりです。

    • アプリがフォアグラウンドにある場合、メッセージは FCM によってアプリに渡され、アプリはセルフビルドチャネルを介してメッセージを受信します。

    • アプリがバックグラウンドにある場合、またはアプリが強制終了されている場合、メッセージは FCM チャネルを介して送信され、通知バーに表示されます。

  4. (オプション) 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();
             }
         }
     }