FCM-Remote-Benachrichtigungs-Payload für iOS und Android

11

Wir verwenden FCM, um Remote-Benachrichtigungen für iOS und Android zu senden. Im Folgenden sind die Payloads, die wir vom Backend senden.

%Vor%

Dies funktioniert für iOS und Android. Aber aus irgendeinem Grund, Android-Seite müssen wir title , body und sound für Schlüssel in data Nutzlast senden und müssen notification Nutzlast entfernen.

Jetzt erhalten die Benachrichtigungen keine ios-Seite, wenn die App nicht aktiv ist. Bannerbenachrichtigungen werden nicht empfangen, aber die Daten werden empfangen, wenn die App aktiv ist. Wir brauchen Banner auf der iOS-Seite.

Ist der notification -Schlüssel die Bezeichnung banner in iOS?

Wie Sie die gleiche Nutzlast für iOS und Android verwenden.

%Vor%

Außerdem wurde versucht, content_available und priority keys mit verschiedenen Kombinationen hinzuzufügen. Durch alle FCM-Dokumente gegangen und es verwirrt immer noch. Hilfe / Vorschläge geschätzt.

    
preetam 10.01.2017, 06:53
quelle

1 Antwort

1

Ein neues Feature wurde für FCM hinzugefügt, das eine Option zum Bereitstellen bestimmter Parameter für bestimmte Plattformen bietet, die als Plattformüberschreibungen :

  

Anpassen einer Nachricht plattformübergreifend

     

Nachrichten, die vom HTTP-Protokoll FCM v1 gesendet werden, können zwei Arten von JSON-Schlüsselpaaren enthalten:

     
  • eine allgemeine Gruppe von Schlüsseln, die von allen App-Instanzen interpretiert werden, die die Nachricht empfangen.
  •   
  • plattformspezifische Schlüsselblöcke, die nur von App-Instanzen interpretiert werden, die auf der angegebenen Plattform ausgeführt werden.
  •   
  • Plattformspezifische Blöcke bieten Ihnen die Flexibilität, Nachrichten für verschiedene Plattformen anzupassen, um sicherzustellen, dass sie beim Empfang korrekt verarbeitet werden. In vielen Szenarien ist es sinnvoll, in einer Nachricht sowohl allgemeine Schlüssel als auch plattformspezifische Schlüssel zu verwenden.
  •   

Wann verwenden Sie häufig verwendete Schlüssel

     
  • Wann immer Sie App-Instanzen auf allen Plattformen ausrichten - iOS, Android und Web
  •   
  • Wenn Sie Nachrichten an Themen senden
  •   

Die allgemeinen Schlüssel, die unabhängig von der Plattform von allen App-Instanzen interpretiert werden, sind message.notification.title, message.notification.body und message.data.

     

Wann plattformspezifische Schlüssel zu verwenden sind

     
  • Wenn Sie Felder nur an bestimmte Plattformen senden möchten
  •   
  • Senden plattformspezifischer Felder zusätzlich zu den allgemeinen Schlüsseln
  •   

Wenn Sie nur Werte an bestimmte Plattformen senden möchten, verwenden Sie keine allgemeinen Schlüssel. Verwenden Sie plattformspezifische Schlüsselblöcke. Um beispielsweise eine Benachrichtigung nur an iOS und Web, aber nicht an Android zu senden, müssen Sie zwei separate Tastenblöcke verwenden, einen für iOS und einen für das Internet.

     

Wenn Sie Nachrichten mit bestimmten Zustellungsoptionen senden, verwenden Sie plattformspezifische Schlüssel, um sie festzulegen. Sie können verschiedene Werte pro Plattform angeben, wenn Sie möchten. Aber selbst wenn Sie plattformübergreifend im Wesentlichen denselben Wert festlegen möchten, müssen Sie plattformspezifische Schlüssel verwenden. Dies liegt daran, dass jede Plattform den Wert leicht unterschiedlich interpretiert. Beispielsweise wird die Lebensdauer auf Android als Ablaufzeit in Sekunden festgelegt, während sie auf iOS als Ablaufdatum festgelegt ist.

     

Beispiel: Benachrichtigungsmeldung mit plattformspezifischen Zustellungsoptionen

     

Die folgende v1-Sendeanforderung sendet einen allgemeinen Benachrichtigungstitel und Inhalt an alle Plattformen, sendet jedoch auch einige plattformspezifische Überschreibungen. Genauer gesagt, die Anfrage:

     
  • setzt eine lange Lebensdauer für Android- und Webplattformen fest, während die Nachrichtenpriorität für APNs (iOS) auf eine niedrige Einstellung gesetzt wird
  •   
  • legt die entsprechenden Schlüssel fest, um das Ergebnis eines Benutzers zu definieren. Tippen Sie auf die Benachrichtigung auf Android und iOS - click_action bzw. category.
  •   
%Vor%

Ausführliche Informationen zu den verfügbaren Schlüsseln finden Sie in der Referenz zu HTTP v1 in plattformspezifischen Blöcken im Nachrichtentext. Weitere Informationen zum Erstellen von Sendeanforderungen mit dem Nachrichtentext finden Sie unter Sendeaufträge erstellen .

    
AL. 27.01.2018 17:38
quelle