2017-02-17 10 views
2

Ich verwende Firebase Cloud Messaging, um Benachrichtigungen an Kunden meiner App zu senden. Die Clients können eine der drei unterstützten Plattformen sein (iOS, Android, Web).Firebase Cloud Messaging click_action Format ist plattformspezifisch?

Ich möchte, dass der Benutzer auf die Benachrichtigung klicken kann, um die App zu starten.
Dazu muss ich eine click_action in der Benachrichtigung angeben. Für iOS und Android scheint das eine einfache Zeichenfolge zu sein. Für das Web wäre es eine URL.

Wie soll ich eine Benachrichtigung senden, die für einen möglicherweise gemischten Satz von Geräten funktioniert?

Muss ich die Geräte trennen und verschiedene Nachrichten an sie senden?

+0

plz klar erklären, was Sie wollen –

+0

Sie wollen alle Plattform Android iOS und Web senden –

+0

Die Benachrichtigungen für das Web sind in der Firebase-Messaging-sw empfangen. Ich denke, ich könnte die Zeichenfolge für iOS oder Android auf eine URL dort einbinden. Was denken Sie? –

Antwort

3

fcm arbeitet auf basierend auf ID generiert von Gerät, die verschiedenen Gerät zu Gerät und Plattform zu Plattform und Curl-Sitzung sind unterschiedlich für verschiedene Plattform. Für android anders, für iOS anders und Web different.if wenn Sie alle Plattform senden möchten Sie müssen 3-mal-Methode (iOS, Android, Web) whith verschiedene Nutzlast oder Quark-Sitzung für verschiedene Plattform .I senden zwei Plattform ios und Android zu machen zwei verschiedene Funktionen und gleichzeitig aufrufen

+0

Beachten Sie, dass dieser Ansatz die Verwendung von Gerätegruppen und Themen in FCM erschwert. Sie müssten plattformspezifische Gruppen und Themen erstellen. – nicoqh

3

Update: Eine kürzlich hinzugefügte Funktion wurde für FCM hinzugefügt, die eine Option zum Bereitstellen spezifischer Parameter für bestimmte Plattformen mit der Bezeichnung Platform Overrides bietet.


Jede Plattform kann die gleiche Benachrichtigung abhängig von Ihrer Nutzlast unterschiedlich handhaben.

Der click_action Parameter wird für alle drei Plattformen (Android, iOS, Web) unterstützt:

die Aktion im Zusammenhang mit einem Benutzer, klicken Sie auf die Benachrichtigung.

jeweils unterschiedliche Noten:

  • Android

    Wenn eine Aktivität mit einem entsprechenden Intent-Filter angegeben, gestartet wird, wenn ein Benutzer auf die Meldung klickt.

  • IOS

    Entspricht Kategorie im APNs Nutzlast.

  • Web

    Für alle URL-Werte, ist eine sichere HTTPS erforderlich.

Die Note für Web sagen nicht, dass Sie nur URLs haben kann, wie es Wert ist, dass nur, wenn es eine URL ist, sollte es sichere HTTPS haben (aus Sicherheitsgründen).

Es ist in Ordnung, eine einzige Benachrichtigung für alle Plattformen zu senden, solange Sie in der Lage sind, sie entsprechend zu behandeln und Ihnen gefällt. Wie auch in der anderen Antwort empfohlen, ist es besser für Sie, abhängig von der Plattform unterschiedliche Payloads zu senden.

+0

In Ihrem Kommentar zu einer [verwandten Frage] (https://stackoverflow.com/q/48457799/4815718) geben Sie an, dass 'click_action' nicht unterstützt wird. Ist dieser Kommentar veraltet? –

+0

Ignoriere meinen vorherigen Kommentar. Ich sehe jetzt, dass diese Antwort für das alte FCM ist. Ich war verwirrt durch die Verbindung zu _Platform Overrides_, die die FCM v1 HTTP-Protokolloptionen beschreibt. –

Verwandte Themen