2

Ich versuchte einen Beispielcode, um das Push-Benachrichtigungssystem mit Firebase zu testen, und es funktioniert gut außer einer Sache.FCM-Benachrichtigung mit Thema Server-Seite nicht auf Client

  • Wenn ich versuche, eine Benachrichtigung von Firebase Konsole zu senden, Geräte-Token verwenden, zeigt die Meldung im Gerät.

  • Wenn ich versuche, eine Benachrichtigung von Firebase-Konsole zu senden, die mein Thema topik verwendet, werden alle Benachrichtigungen auf allen Geräten angezeigt.

  • Wenn ich versuche, eine Benachrichtigung von meiner Webseite oder von postman zu senden, die Geräte-Token verwendet, wird die Benachrichtigung im Gerät angezeigt.

  • Wenn ich versuche, eine Benachrichtigung von meiner Web-Seite zu senden oder von postman, mein Thema mit topik, Es geschieht nichts,.

Dies ist ein Beispiel Aufruf:

link: https://fcm.googleapis.com/fcm/send 
POST method 

Header field: 
Content-Type : application/json 
Authorization : key=MY_SERVER_KEY (the new one) 

Body: 
{ 
    "to": "/topics/topik", 
    "data": { 
     "title": "This is a Firebase Cloud Messaging Topic Message!", 
     "content-text": "This is a Firebase Cloud Messaging Topic Message!" 
    } 
} 

oder

Body: 
{ 
    "to": "/topics/topik", 
    "data": { 
     "message": "This is a Firebase Cloud Messaging Topic Message!" 
    } 
} 

das Ergebnis auf Aktion send ist so etwas wie dies

{ 
    "message_id": 7150560334538835864 (SUCCESS!) 
} 

aber keine Meldung kommt in jedem Gerät. Ich habe versucht, die onReceive Methode zu debuggen, aber nichts passiert.

Irgendeine Idee?

+0

Hat sich Ihr Client-Gerät zu diesem Thema abonniert? Es gibt nichts in Ihrer Frage, das zu empfehlen. https://firebase.google.com/docs/cloud-messaging/android/topic-messaging –

+0

Ja. Alle Kunden sind mit diesem Thema vertraut. Wenn ich versuche, eine Benachrichtigung von Firebase Console zu diesem Thema zu senden, funktioniert alles einwandfrei. – Bruno

Antwort

1

Versuchen Sie, Datennachrichten oder Benachrichtigungsnachrichten zu senden?
sehen: https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

Wenn Sie notification-Nachrichten (die Art von Nachrichten durch das Benachrichtigungskonsole gesendet) senden wollen
die Nutzlast Sie in der Frage geschrieben haben, ist falsch. Versuchen Sie data mit notification ersetzen:

Body: 
{ 
    "to": "/topics/topik", 
    "notification": { 
     "title": "Hello", 
     "body": "This is a Firebase Cloud Messaging Topic Message!" 
    } 
} 
Verwandte Themen