Mit FCM können Sie zwei Arten von Nachrichten an Ihre Client-Apps senden:
- Benachrichtigungen, die „Anzeigenachrichten“ ähneln, werden automatisch vom FCM SDK verarbeitet.
- Datenbenachrichtigungen, die von der Client-App verarbeitet werden.
Benachrichtigungen enthalten einen vordefinierten Satz von für Nutzer sichtbaren Schlüsseln und können eine optionale Datennutzlast enthalten. Datenmeldungen enthalten dagegen nur Ihre benutzerdefinierten Schlüssel/Wert-Paare. Die maximale Nutzlast für beide Nachrichtentypen beträgt 4.096 Byte, außer beim Senden von Nachrichten über die Firebase-Konsole, wo ein Limit von 1.000 Zeichen gilt.
Nutzungsszenario | So senden Sie | |
---|---|---|
Benachrichtigungstext | Das FCM SDK zeigt die Mitteilung auf Endnutzergeräten im Namen der Client-App an, wenn diese im Hintergrund ausgeführt wird. Wenn die App im Vordergrund ausgeführt wird, wenn die Benachrichtigung eingeht, wird das Verhalten durch den Code der App bestimmt. |
|
Datennachricht | Die Client-App ist für die Verarbeitung von Datennachrichten verantwortlich. Datennachrichten haben nur benutzerdefinierte Schlüssel/Wert-Paare ohne reservierte Schlüsselnamen (siehe unten). | Verwenden Sie in einer vertrauenswürdigen Umgebung wie
Cloud Functions oder Ihrem App-Server die Firebase Admin SDK oder die HTTP v1 API.
Legen Sie in der Send-Anfrage den data -Schlüssel fest.
|
Sie können Benachrichtigungen verwenden, wenn das FCM SDK eine Benachrichtigung automatisch anzeigen soll, wenn Ihre App im Hintergrund ausgeführt wird. FCM kann eine Benachrichtigung mit einer optionalen Daten-Payload senden. In solchen Fällen wird in FCM die Benachrichtigungsnutzlast angezeigt und die Client-App verarbeitet die Datennutzlast.
Sie können Datenmeldungen verwenden, wenn Sie die Meldungen mit Ihrem eigenen Client-App-Code verarbeiten möchten.
Benachrichtigungen
Sie können Benachrichtigungsnachrichten über die Firebase-Konsole, die Firebase Admin SDK oder die FCM HTTP v1 API senden. Die Firebase-Konsole bietet A/B-Tests auf Grundlage von Analysen, mit denen Sie Ihre Benachrichtigungen optimieren können.
Wenn Sie Benachrichtigungen mit der HTTP v1 API Firebase Admin SDK oder FCM senden möchten, legen Sie den Schlüssel notification
mit dem vordefinierten Satz von Schlüssel-Wert-Optionen der Benachrichtigung fest. Im folgenden Beispiel wird gezeigt, wie Sie eine Benachrichtigung in einer Messaging-App formatieren können.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
Benachrichtigungen werden in der Benachrichtigungsleiste angezeigt, wenn die App im Hintergrund ausgeführt wird. Bei Apps im Vordergrund werden Nachrichten von einer Callback-Funktion verarbeitet.
Eine vollständige Liste der vordefinierten Schlüssel, die zum Erstellen von Benachrichtigungen verfügbar sind, finden Sie in der Referenzdokumentation zum FCM HTTP v1 API-Benachrichtigungsobjekt.
Datennachrichten
Es liegt an Ihnen, wie Sie die FCM-Nutzlast data
verwenden möchten, um das von Ihnen gewählte Verschlüsselungsschema zu implementieren. Achten Sie darauf, dass Sie in Ihren benutzerdefinierten Schlüssel/Wert-Paaren keine reservierten Wörter verwenden. Zu den reservierten Wörtern gehören from
, message_type
und alle Wörter, die mit google.
, gcm.
oder gcm.notification.
beginnen.
Im folgenden Beispiel wird die Verwendung des Datenfelds auf oberster Ebene oder des gemeinsamen Datenfelds gezeigt, das von Clients auf allen Plattformen interpretiert wird, die die Nachricht empfangen. Auf jeder Plattform empfängt die Client-App die Daten-Payload in einer Callback-Funktion.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}