Repro - Mobile Analytics for growth
English
アカウント登録 管理画面に戻る
  • 動作環境
  • 管理画面ガイド
  • 開発ガイド
  • リリースノート
    • SDK
    • Web
    • ドメイン移行に伴う作業
    • FCMへの移行手順
      • Android
        • 移行手順
          • Google Cloud PlatformのプロジェクトをFirebase Consoleへ移行する
          • FCMを設定する
          • Repro Android SDKのアップデート
          • Firebase SDKを導入する
          • AndroidManifest.xmlファイルを編集する
          • Registration IDの取得方法を変更する
          • カスタムReceiver
      • Unity
      • Cordova
      • Monaca
      • Cocos2d-x
  • FAQ

FCMへの移行手順: Android¶

Googleからアナウンスされている通り、GCMは2019/4/11までに廃止が予定されております。すでにReproのプッシュ通知をGCMで実装している場合は、それまでに以下の手順を参照し、FCMでの実装に移行してください。

移行手順¶

Google Cloud PlatformのプロジェクトをFirebase Consoleへ移行する¶

Firebase ConsoleからGCMで利用していたプロジェクトを選択して作成してください:

../../_images/1-1-ImportGCMProject.ja.png
  • Google Cloud Platformのプロジェクト番号と、Firebase Consoleの送信者IDが同一であるか確認してください。Google Cloud Platformのプロジェクト番号は Google Cloud Platform > IAMと管理 > 設定 のプロジェクト番号から確認できます:

    ../../_images/1-2-GCMProjectID.ja.png
  • Firebase Consoleの送信者IDは 設定 > クラウドメッセージング の送信者IDから確認できます:

    ../../_images/1-3-FCMSenderID.ja.png

FCMを設定する¶

  1. アプリの登録 の手順を参照し、 google-services.json をダウンロードしてください。
  2. Firebaseの秘密鍵を生成 と Firebaseの秘密鍵をReproに登録 の手順を参照し、Firebaseの秘密鍵をReproに登録してください。

Repro Android SDKのアップデート¶

アプリケーションの app/build.gradle を開き、 repro-android-sdk のバージョンを 3.1.1 以上に変更してください:

 dependencies {
     ...
-    implementation 'io.repro:repro-android-sdk:3.0.0'
+    implementation 'io.repro:repro-android-sdk:3.1.1'
     ...
 }

Firebase SDKを導入する¶

  1. google-services.json をアプリモジュールのディレクトリにコピーしてください。

  2. プロジェクトのbuild.gradleを以下のように修正してください:

     buildscript {
         ...
         dependencies {
             ...
    +        classpath 'com.google.gms:google-services:4.2.0'
         }
     }
    
     allprojects {
         ...
         repositories {
             ...
    +        google()
         }
     }
    
  3. アプリのbuild.gradleに以下のように修正してください:

     dependencies {
    -    implementation 'com.google.android.gms:play-services-gcm:15.0.1'
    +    implementation 'com.google.firebase:firebase-core:16.0.4'
    +    implementation 'com.google.firebase:firebase-messaging:17.3.4'
         ...
     }
    
    +apply plugin: 'com.google.gms.google-services'
    

AndroidManifest.xmlファイルを編集する¶

io.repro.android.GCMReceiver を io.repro.ReproReceiver に修正してください:

 <receiver
-    android:name="io.repro.android.GCMReceiver"
+    android:name="io.repro.android.ReproReceiver"
     android:exported="true"
     android:permission="com.google.android.c2dm.permission.SEND">
     <intent-filter>
         <action android:name="com.google.android.c2dm.intent.RECEIVE" />
         <category android:name="YOUR_PACKAGE_NAME" />
     </intent-filter>
 </receiver>

Registration IDの取得方法を変更する¶

  1. Repro.enablePushNotification の呼び出しの引数を削除してください。

     import io.repro.android.Repro;
    
     public class MyApplication extends Application {
    
         @Override
         public void onCreate() {
             super.onCreate();
    
             ...
    
             Repro.setup(this, "YOUR_APP_TOKEN");
    -        Repro.enablePushNotification("SENDER_ID");
    +        Repro.enablePushNotification();
    
             ...
         }
     }
    
  2. FirebaseMessagingService を継承したクラスの onNewToken にて Repro.setPushRegistrationID を呼び出してください。

        import io.repro.android.Repro;
    
        public class MyFirebaseMessagingService extends FirebaseMessagingService {
            ...
            @Override
            public void onNewToken(String token) {
                Repro.setPushRegistrationID(token);
            }
            ...
        }
    
  3. 以下をAndroidManifest.xmlの <application> タグの中に追加してください。

    <service
        android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    

カスタムReceiver¶

カスタムReceiverを引続き利用する¶

カスタムReceiverを実装している場合、FCMへ移行後も引続き利用可能です。この場合、カスタムReceiverが継承するクラスを ReproReceiver に変更してください。

-public class Receiver extends io.repro.android.GCMReceiver {
+public class Receiver extends io.repro.android.ReproReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         ...

カスタムReceiverをFirebaseMessagingServiceに移行する¶

カスタムReceiverからFirebaseMessagingServiceへ移行する場合は、下記の手順を参考してください。

  1. カスタムReceiverを削除し、 AndroidManifest.xml から下記のタグを削除してください:

    <receiver
        android:name="your.package.name.GCMReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="your.package.name" />
        </intent-filter>
    </receiver>
    
  2. 以下のXML中の "YOUR_PACKAGE_NAME" をアプリケーションのパッケージ名に置き換え、AndroidManifest.xmlの <application> タグの中に追加してください。

    <receiver
        android:name="io.repro.android.ReproReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="YOUR_PACKAGE_NAME" />
        </intent-filter>
    </receiver>
    

    注釈

    AndroidManifest内のreceiverの登録は、FCM移行後も必要になります。

  3. プッシュ通知受信時の動作をカスタマイズする を参照し、FirebaseMessagingServiceのonMessageReceivedメソッドを実装してください

  • « FCMへの移行手順
  • FCMへの移行手順: Unity »

About Us Careers Terms of Service Privacy Policy Cookie Policy

© 2022 Repro Inc.