Wir haben einen Django-Backend-Server, der pyfcm verwendet, um Benachrichtigungen über Firebase Cloud Messaging (FCM) zu liefern. Ich habe gerade auf die heute veröffentlichte Version 1.3.0 aktualisiert. Ich möchte eine Benachrichtigung mit den Parametern loc-key
und loc-args
senden, damit sie in der Sprache angezeigt werden kann, die der Benutzer auf seinem Telefon verwendet. Die Benachrichtigung erreicht das Gerät, vibriert und gibt den Standardton für eine neue Benachrichtigung aus, wird jedoch nicht angezeigt. Es passiert einfach nichts außer dem Klang und der Vibration.Lokalisierte Benachrichtigungen iOS 10 mit FCM
Dies ist die Nutzlast vom Server generiert, die an den fcm Endpunkt gesendet wird:
{
"notification": {
"loc-args": ["Demo (@demo)"],
"loc-key": "notification-follow",
"sound": "Default"
},
"priority": "high",
"to": "..."
}
Auf der Clientseite, das ist, was durch das Telefon empfangen wird:
[
AnyHashable("gcm.message_id"):0:1496257581534217 %f910cc44f910cc44,
AnyHashable("aps"):{
category = profile;
sound = Default;
},
AnyHashable("gcm.notification.alert"):{
"title-loc-key":" notification-follow",
"title-loc-args":[
"Demo (@demo)"
]
}
]
Gibt es Was muss ich tun, bevor die Nachricht angezeigt wird? Das Senden der Nachricht ohne loc-key
und loc-args
aber mit message-body
zeigt die Benachrichtigung auf dem Gerät. Vielleicht ist die Nutzlast falsch? Wie soll es aussehen, was ich will? Der Schlüssel, notification-follow
in diesem Fall, ist in den Localizable.strings
Dateien in jeder verfügbaren Sprache aufgeführt und übersetzt.
Ich denke, das 'loc- *' Zeug muss in das 'aps' Wörterbuch gehen, aber warum macht fcm das nicht? –