Pascal P.
Hallo mc,
Herzlich wilkommen hier im Forum
Es gibt meherere Möglichkeiten FCMs aus einer App zu senden.
Die einfachste wird wohl die FCM Admin API sein: h**ps://firebase.google.com/docs/cloud-messaging/admin/send-messages
Wie speicherst du deine RegistrationIDs der Client Apps? In einer eigenen DB oder in einer Firebase DB?
Du kannst nämlich per Firebase Database die IDs auslesen und dann per Firebase Admin die message senden.
Wenn du das senden lieber manuell vornehmen möchtest, bietet sich auch die HTTP Variante an:
h**ps://firebase.google.com/docs/cloud-messaging/send-message
Danke für die schnellen Antworten. Die Lösung die du verlinkt hast, hatte ich auch versucht. Bisher scheitere ich da aber an der technischen Umsetzung. Da sind bei zwei größere Probleme aufgetreten.
1) Man muss nach dieser Anleitung ja zunächst die Firebase AdminSDK zur seinem Server hinzufügen. DAs habe ich versucht, hatte aber ein paar Probleme.
Wenn ich versuche den Eintrag
dependencies { implementation
'com.google.firebase:firebase-admin:6.3.0' }
in mein Build.Gradle-File einzufügen, bekomme ich die Meldung:
Annotation processors must be explicitly declared now. The following
dependencies on the compile classpath are found to contain annotation
processor. Please add them to the annotationProcessor configuration.
- auto-value-1.4.jar (com.google.auto.value:auto-value:1.4) Alternatively, set
android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath
= true to continue with previous behavior. Note that this option is deprecated and will be removed in the future. See
h**ps://developer.android.com/r/tools/annotation-processor-error-message.html
for more details.
Als ich im Netz nach einer Lösung gesucht habe, habe Ich einen Foreneintrag( h**ps://stackoverflow.com/questions/47581505/how-to-add-firebase-admin-to-my-android-project) gefunden, wo steht, dass es nicht möglich wäre, dass in einer Android-App zu verwenden, weil es irgendwelche Konflikte mit Paketen mit gleichen Namen gibt. Außerdem soll es wohl aus Sicherheitsgründen unterbunden werden.
2) Wenn ich den Quellcode zum versenden der Nachricht aus deinem Link in mein Projekt einfüge, dann kriege ich die Fehlermeldung "Can't resolve builder()". Ich habe bisher aber leider auch nicht rausgefunden, woran das liegt.
Die RegestrationIDs speichere ich bisher gar nicht. Zumindest nicht bewusst. Ich habe bei der Client-App einfach reingeschrieben, dass ein Topic abonniert wird, an das ich die Nachrichten sende. Bisher habe ich die Nachrichten mit dem Programm Postman per Post versendet wie es in deinem zweiten Link beschrieben ist.
Ich habe auch noch keine großen Ansprüchen. Ich will es bisher nur schaffen, Nachrichten an all Clients gleichzeitig zu verschicken.
@Ludy, dir auch Danke, deinen Beitrag schau ich mir morgen mal in Ruhe an. Dafür bin ich heute zu müde, da muss ich mich vermutlich erstmal reindenken .
— geändert am 05.08.2018, 21:47:14
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.