9

Próbuję uzyskać alerty Firebase Cloud Messaging iOS wysłane z mojego serwera do FCM, aby pojawić się na moim urządzeniu iOS.curl wysłany Alert Firebase Cloud Messaging nie pojawia się widocznie na urządzeniu z systemem iOS

Gdybym wysłać wiadomość z konsoli FCM:

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

i próbki aplikacji FCM:

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

jest zamknięta lub w tle, alarmy pojawiają się pięknie ,

i jeśli jest na pierwszym planie, widzę to na konsoli iOS:

{ 
    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; 
} 

... ale gdy próbuję to:

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\"}}" 

... nigdy nie pojawia się jako alarm, bez względu na to, czy próbka aplikacja FCM jest na pierwszym planie, tło, lub całkowicie Zamknięte.

Uważa jednak pokazać się w konsoli iOS, ale z mniejszą liczbą parametrów:

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

Czy jest możliwe aby użyć curl do wystrzelić powiadomienia Firebase Chmura Wiadomości, które pojawiają się jako wpisami na moim urządzeniu z iOS?

ODPOWIEDŹ [thanx 2 Arthur!] :

Wystarczy dodać: \"priority\":\"high\"

tak:

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\"}}" 

... i widzę piękną powiadomienie Alert! !!

Odpowiedz

10

Tak! Możliwe, że wysyłana wiadomość nie jest przekazywana do urządzenia przez APN. Dodanie pola priorytetu i ustawienie go wysoko w danych curl powinny pomóc w tym przypadku.

Należy jednak pamiętać, że używanie high priority jest zalecane tylko w przypadku wersji wydań, gdy oczekuje się natychmiastowej interakcji użytkownika, np. Z komunikatem na czacie.

+1

Freakin 'niesamowity !!! Dziękuję bardzo Arthur !!! –

+0

Dzięki, to było frustrujące. Próbowałem jawnie ustawić priorytet na "normalny" i to też nie działało. Być może korzystam z certyfikatu APNS dla programistów i może to nie być problemem w produkcji. –