2017-01-21 3 views
3

Ich sende eine Push-Benachrichtigung mit Firebase-Endpunkt. Es funktioniert erfolgreich. Ich benutze Postbote, um die Anfrage an FCM zu senden. Mein Problem ist, dass ich nicht verstehe, wie man ein großes Icon damit sendet.FCM/GCM JSON Nutzlast - Wie ein großes Symbol angeben?

FCM verfügt über zwei Arten von Nutzdaten, die Sie senden können. Daten-Payloads und Benachrichtigungs-Payloads. See here. Ich konzentriere mich auf Benachrichtigungs-Payloads. Wie gebe ich ein lokales großes Symbol an, das angezeigt werden soll? Ich weiß, dass ich ein Standardbenachrichtigungssymbol im Manifest auf diese Weise unter Verwendung von Metadaten angeben kann:

Aber das ist für ein kleines Symbol. Wie gebe ich ein GROSSES Symbol an, das ich verwenden möchte?

In der Dokumentation ich oben für FCM vorgesehen ist, gibt es ein Beispiel, das wie folgt aussieht:

{ 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "notification" : { 
     "body" : "great match!", 
     "title" : "Portugal vs. Denmark", 
     "icon" : "myicon" 
    } 
} 

aber das ist für kleines Symbol. Wie man große Ikone macht?

Ein großes Symbol sieht wie folgt aus:

notification with icon

Antwort

4

FCM keine API ein groß Symbol gesetzt hat.

Wenn Sie erreichen wollen, dass Sie ein data-message mit benutzerdefinierter Nutzlast senden können, und Ihre eigene lokale Benachrichtigung erstellen innerhalb onMessageReceived()

+2

Aber wenn die App im Hintergrund ist, wobei das Verfahren 'onMessageReceived()' nicht genannt durch ' FCM'. – wqycsu

+0

@wqycsu onMessageReceived() wird aufgerufen, wenn Sie eine Data-ony-Nachricht senden. Wenn Ihre Nachricht Benachrichtigungsdetails enthält, wird sie in das Benachrichtigungsfeld gestellt, ohne onMessageReceived aufzurufen. – zarax

+0

Das Problem ist onMessageReceived() in Ihrer Klasse, die erweitert FirebaseMessagingService wird nur aufgerufen, wenn Ihre App im Hintergrund ist. –