1

Ich baue ein Bibliotheksprojekt, in dem ich einen FirebaseMessagingService habe. Ich habe auch einen FirebaseMesagingService in meiner App. Was ich sehe, ist, wenn ein FCM vom Server gesendet wird, nur ein FirebaseMessagingService es verarbeitet. Dies war nicht der Fall, als ich GCM-Empfänger verwendete. Beide GCM-Empfänger, die zum Empfangen der Nachricht und basierend auf dem Nachrichteninhalt verwendet wurden, würden/würden nichts dagegen tun.Android: Kann eine Android-App mehrere FirebaseMessagingServices haben

Wie kann ich dasselbe in FCM erreichen.

+0

was meinst du ..? Sie möchten mehr als einen FirebaseMessagingService? –

Antwort

0

Das Manifest Ihrer Bibliothek sollte keine FirebaseMessagingService-Unterklasse haben. Das Hinzufügen des messa-Service zum Manifest der App sollte Teil des Integrationsschritts sein und das SDK integrieren. Außerdem sollten Sie im SDK einen Hook bereitstellen, über den die App die FCM-Nachrichtennutzinformationen an das SDK übergeben kann. Wenn die App keine eigene FirebaseMessagingService-Unterklasse hat, würde sie den Listener-Service des SDK im Manifest hinzufügen. Andernfalls fügt sie den Hook in einen eigenen Listener-Service ein, der die Payload an Ihr SDK weiterleitet, und SDK führt die erforderliche Aktion

aus
+0

Diese Frage betrifft 'FirebaseMessagingService', _not_' FirebaseListenerService'. In der Dokumentation unter https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService wird ausdrücklich empfohlen, diesen Service mit dem Beispielmanifest xml zu unterklassifizieren. – Cliabhach

+1

Ich meinte die Unterklasse selbst, vielleicht war es nicht klar und sorry über den MessagingService und ListenerService Tippfehler gemischt die Namenskonvention von fcm und gcm –

+0

richtig, das hilft ein wenig. Ich habe meinen Downvote entfernt. Die Antwort ist immer noch verwirrend - vielleicht könnten Sie eine Erklärung Ihrer Argumentation hinzufügen? Etwas wie 1. in jedem APK kann nur * eine * FMS-Unterklasse Push-Nachrichten empfangen; 2. Wenn Sie dem APK zwei Bibliotheken mit jeweils eigenen Unterklassen hinzufügen, würde nur eine Push-Nachricht erhalten; 3. Apps sollten daher Push-Nachrichten mit ihrer eigenen Unterklasse erhalten; 4. Bibliotheken sollten einen Hook (keine Unterklasse) bereitstellen, den die App-Unterklasse aufrufen kann, wenn die Bibliothek ihre Aufgabe ausführen soll; 5. Dies stellt sicher, dass die App immer die Kontrolle hat – Cliabhach

Verwandte Themen