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에서 계속 호출 될 것이라는 보장이 있습니까? 아마도 Google은 GCM이 완전히 사용 중단 될 때까지이 기능을 중간에 유지했을 것입니다.

* 참고 : 기존의 MyPushReceiver을 내 매니페스트에 보관하여 FCM 또는 GCM 중 하나 일 수있는 수많은 앱과 이전 버전과의 호환성을 유지하고 싶습니다.

답변

1

이것은 단지 예상되는 동작입니다. FCM을 사용하여 메시지를 보내는 경우에도 여전히 GCM 구현이있는 기기/앱 인스턴스는 여전히 메시지를받을 수 있습니다.

It's just compatible. 앱이 GCM 및 FCM과 호환되는지 확인하기 위해 두 가지 별도의 서비스를 구현할 필요는 없습니다.

그것이 (최소한 나를 위해하지 않음)을 보장 경우 알려 실제로있는 방법은 없습니다,하지만 난 그들이 구글이 더 이상 사용하기로 결정 때까지 호환이 될 것이라고하는 것이 안전합니다 같아요 완전히.

관련 문제