0

Firebase対応プロジェクトからメッセージを送信すると、どのインテントアクションが実行されますか?次のようにメッセージを送信したときに意図されたアクションは何ですか?

私のマニフェストは次のとおりです。

<receiver android:name="com.test.testapi.MyPushReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
       <category android:name="com.test.androidtester" /> 
      </intent-filter> 
     </receiver> 

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

私は予想通りMyFirebaseMessagingServiceが呼び出されることがわかり、しかし、私はまたMyPushReceivercom.google.android.c2dm.intent.RECEIVE意図アクションで呼び出されることがわかります。

com.google.android.c2dm.intent.RECEIVEがFirebaseで引き続き呼び出されることは保証されていますか? GCMが完全に廃止されるまで、Googleはこの機能を一時的に保持していた可能性があります。

*注:理想的には、FCMまたはGCMのいずれかでサポートされている多数のアプリケーションとの下位互換性を保つため、既存のMyPushReceiverをマニフェストに保存したいと考えています。

答えて

1

これはまさに予想される動作です。 FCMを使用してメッセージを送信する場合でも、GCM実装をまだ持っているデバイス/アプリケーションインスタンスは引き続きメッセージを受信できます。

It's just compatible。アプリがGCMとFCMの両方と互換性があることを確認するために、2つの別々のサービスを実装する必要はありません。

は、それが(非常に少なくとも私にとってはない)を保証されている場合伝えるために、実際に方法はありませんが、私はそれは彼らがGoogleに廃止することを決定した時まで互換であり続けることを言っても安全だと思いますそれは完全に。

関連する問題