9

Sto cercando di ottenere Firebase Cloud Messaging iOS avvisi inviati dal mio server di FCM ad apparire sul mio dispositivo iOS.ricciolo inviato Firebase cloud Messaging avviso non visibilmente appaiono sul dispositivo iOS

Se invio il messaggio dalla console FCM:

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

e il campione app FCM:

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

è chiusa o in background, gli avvisi compaiono splendidamente ,

e se è in primo piano vedo questo nella console 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; 
} 

... ma se provo questo:

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

... non è mai presenta come un avviso, non importa se il campione app FCM è in primo piano, sullo sfondo, o completamente chiuso.

Ha, tuttavia compare nella console iOS ma con un minor numero di parametri:

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

E 'possibile usare curl per sparare le notifiche Firebase Cloud Messaging che appaiono come avvisi sul mio dispositivo iOS?

RISPOSTA [Grazie 2 Arthur!] :

Basta aggiungere: \"priority\":\"high\"

Come così:

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

... e vedo una bella notifica di avviso! !!

risposta

10

Sì! Potrebbe essere che il messaggio che stai inviando non venga inoltrato al dispositivo dagli APN. In questo caso, è utile aggiungere il campo prioritario e impostarlo su un livello elevato nei dati di ricciolo.

Si noti tuttavia che l'utilizzo di high priority è consigliato solo per le build di rilascio quando è prevista l'interazione dell'utente immediato, come con un messaggio di chat.

+1

Freakin 'incredibile !!! Grazie mille Arthur !!! –

+0

Grazie, questo è stato frustrante. Ho provato a impostare esplicitamente la priorità su "normale" e non ha funzionato neanche. Potrebbe essere che sto usando un certificato APNS di sviluppo e questo potrebbe non essere un problema nella produzione. –

Problemi correlati