7

Ich möchte von gcm zu fcm in Android-App migrieren. Muss ich Push-Benachrichtigung an alte Benutzer der Android-App von gcm senden oder ich kann es über den neuen fcm vom Server senden?Migrieren von gcm zu fcm auf Android

FCM funktioniert einwandfrei Ich kann Push-Benachrichtigungen auf meinem Gerät über fcm empfangen, aber ich kann keine Push-Benachrichtigungen an alte GCM-Registrierungstoken von der FCM-Konsole senden.


Unten ist der Code, den ich zu meinem Manifest-Datei für fcm hinzugefügt haben

<uses-permission android:name="com.google.android.z.permission.RECEIVE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<application> 
    <service 
     android:name=".view.activity.MyFcmListenerService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
     </intent-filter> 
    </service> 

    <service 
     android:name=".view.activity.MyInstanceIDListenerService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> 
     </intent-filter> 
    </service> 
</application> 
+1

Sobald Sie tun müssen, wandern Ihr Projekt von GCM zu FC M, kannst du wie immer per fcm senden. Es gibt jedoch Migrationsschritte, die folgen müssen. Überprüfen Sie einige [hier] (https://developers.google.com/cloud-messaging/android/android-migrate-fcm). Wenn Sie weitere Details benötigen, schauen Sie sich einfach die offiziellen Dokumente an. Ziemlich sicher wirst du finden, was du dort brauchst. –

+1

@intj Ich bin bereits migriert und die neue fcm-Konfiguration funktioniert gut. Aber meine Sorge ist, dass ich keine Push-Benachrichtigung an die GCM-Registrierungstoken senden kann. Wenn ich versuche, den Push an das alte gcm-Registrierungs-Token über die Firebase-Konsole zu senden, schlägt es fehl. Können Sie dazu etwas sagen? – Anmol

+0

Was hast du benutzt, um die alten Tokens zu generieren? Die Firebase-Konsole funktioniert nur mit InstanceID-Token. –

Antwort

1

Ich suchte viel, konnte aber keine befriedigende Antwort finden. Also habe ich diesen Fix angewendet.

Ich verwende weiterhin die alte Methode, die ich verwendet habe, um Push-Benachrichtigungen an GCM-Benutzer zu senden, und für die Benutzer, die sich über FCM registrieren, kann ich ihnen Push-Benachrichtigungen über FCM oder Firebase-Benachrichtigungskonsole senden.

P.S. Sie können keine Push-Benachrichtigung an GCM-Registrierungstoken über FCM senden.

+0

Haben Sie also sowohl GCM- als auch FCM-Implementierungen in Ihrer App? Funktioniert das für dich? –

+0

@MarieAmida Benutzer mit alten Versionen haben gcm in der App und die neuen Benutzer haben fcm. Also, was ich jetzt mache, ist das Senden von Push an Tokens mit Hilfe der fcm & gcm serverseitigen Implementierung. Außerdem funktioniert es großartig für mich. – Anmol

1

Ich glaube, Sie es durch FCM an Werk senden können. Um mehr über FCM zu erfahren, können Sie die Dokumentation für frequently asked questions about GCM to FCM überprüfen. Auch wenn Sie von GCM zu wandern beginnen FCM die Sie können diese Anleitungen folgen:

auch für weitere Informationen, können Sie diese SO question überprüfen.

+1

Ich habe bereits migriert und die neue fcm-Konfiguration funktioniert gut. Aber meine Sorge ist, dass ich keine Push-Benachrichtigung an die GCM-Registrierungstoken senden kann. Wenn ich versuche, den Push an das alte gcm-Registrierungs-Token über die Firebase-Konsole zu senden, schlägt es fehl. Können Sie dazu etwas sagen? – Anmol

+0

können Sie bitte Ihre Manifest-Datei in Ihre Frage einfügen. – KENdi

0

Eigentlich funktioniert es FCM und GCM sind unter der gleichen Haube. Ein Token für GCM funktioniert auch für FCM. Alles, was Sie tun müssen, ist Ihre clientseitige Implementierung wie erwähnt here zu ändern. und die Server-Endpunkt zu aktualisieren, um fcm.googleapis.com/fcm/

0

Ich habe POC getan auf diesem gleichen Szenario, und was ich beobachtete gegeben unter

„Es gibt keine Codeänderung von Client-Seite benötigen, wenn Sie Migrate GCM versuchen FCM, und ich habe in Android und iOS getestet es funktioniert gut. Nur Änderung richtige Konfiguration in FCM Konsole (dh richtige Bündel-ID geben und Projekt-ID (Senderid))“