9

Ich versuche, Firebase Cloud Messaging iOS-Benachrichtigungen von meinem Server an FCM gesendet auf meinem iOS-Gerät angezeigt zu bekommen.curl gesendet Firebase Cloud Messaging-Warnung nicht sichtbar auf iOS-Gerät angezeigt

Wenn ich die Nachricht von der FCM-Konsole senden:

https://console.firebase.google.com/project/your-awesome-project/notification

und der FCM Beispielanwendung:

https://github.com/firebase/quickstart-ios

geschlossen ist oder im Hintergrund zeigen die Warnungen bis schön ,

und wenn es im Vordergrund ist, sehe ich dies in der iOS-Konsole:

{ 
    aps =  { 
     alert = "HEY YO"; 
    }; 
    "gcm.message_id" = "0:123456789_blah_blah"; 
    "gcm.n.e" = 1; 
    "google.c.a.c_id" = 123XXXXXXXX789; 
    "google.c.a.e" = 1; 
    "google.c.a.ts" = 123XXX789; 
    "google.c.a.udt" = 0; 
} 

... aber wenn ich versuche, dies:

curl -X POST 
--header "Authorization: key=<server key>" 
--header "Content-Type: application/json" 
https://fcm.googleapis.com/fcm/send 
-d "{\"to\":\"<device registration id>\",\"notification\":{\"body\": \"HEY YO\"}}" 

... es nie als eine Warnung erscheint, unabhängig davon, ob die App FCM Probe im Vordergrund, Hintergrund oder vollständig geschlossen.

Es zeigt jedoch in der iOS-Konsole, aber mit weniger Parametern:

{ 
    aps =  { 
     alert = "HEY YO"; 
    }; 
    "gcm.message_id" = "0:123456789_blah_blah"; 
} 

Ist es möglich, curl zu verwenden Firebase Cloud Messaging-Benachrichtigungen abzufeuern, die als Benachrichtigung auf meinem iOS-Gerät angezeigt werden?

ANTWORT [Thanx 2 Arthur!] :

Fügen Sie einfach: \"priority\":\"high\"

Wie so:

curl -X POST 
--header "Authorization: key=<server key>" 
--header "Content-Type: application/json" 
https://fcm.googleapis.com/fcm/send 
-d "{\"to\":\"<device registration id>\",\"priority\":\"high\",\"notification\":{\"body\": \"HEY YO\"}}" 

... und ich sehe eine schöne Alarmbenachrichtigung! !!

Antwort

10

Ja! Es kann sein, dass die gesendete Nachricht nicht von APNs an das Gerät weitergeleitet wird. Das Hinzufügen des Prioritätsfelds und das Festlegen des Werts in den Daten für die Welligkeit sollte in diesem Fall hilfreich sein.

Beachten Sie jedoch, dass die Verwendung von high priority nur für Release-Builds empfohlen wird, wenn eine sofortige Benutzerinteraktion erwartet wird, wie bei einer Chat-Nachricht.

+1

Freakin 'erstaunlich !!! Vielen Dank, Arthur !!! –

+0

Danke, das war frustrierend. Ich habe versucht, die Priorität ausdrücklich auf "normal" zu setzen und es hat auch nicht funktioniert. Es kann sein, dass ich ein Entwicklungs-APNS-Zertifikat verwende und dies möglicherweise kein Problem in der Produktion ist. –