Sono riuscito a utilizzare GCM con dispositivi Android, ma ora sto cercando di implementarlo su un'app iOS.Google Cloud Messaging con Xcode 7 e iOS 9
Penso di aver seguito tutti i passaggi necessari per poter utilizzare il servizio GCM. Ho seguito lo https://developers.google.com/cloud-messaging/ios/client?configured=true per aggiungere il servizio a un'app esistente.
Penso che tutto sia configurato correttamente ma non sono in grado di ricevere alcuna notifica. Ho i certificati APN e il file GoogleService-info.plist, sulla console questo è l'output:
2016-01-05 13: 47: 53.864: GCM | Chiave non valida nel checkin plist: GMSInstanceIDDeviceDataVersion Connesso a GCM 2016-01-05 13: 47: 57.501: GGLInstanceID | Timestamp dell'ultimo check-in non valido in futuro. 2016/01/05 13: 47: 57,501 TerneraGallega [1014: 444977] arrivo successo con AUTHID: 4958686017822257121, Digest: KSJNg + Aj82uavBXrFeOAfA ==, lastCheckinTimestamp: 1.451.998,077 milioni Registrazione Token: NC-dd9fCvFs: APA91bHMfbvLczxSPLQsLeEJASU_RfV4wvVuPs2u4VJDtpC8oB2cm1AKr6cH_LFeLsQzb94Kk9iwez8fsOvgzNns_9DU3i8Ema1oCKIwcNFzenNpAhViyGHah4E7-RkQlg1durYSEQRD già sottoscritto/argomenti/globali
Non appena ricevo questo se ho fatto una richiesta POST con:
{ "a": "NC-dd9fCvFs: APA91bHMfbvLczxSPLQsLeEJASU_RfV4wvVuPs2u4VJDtp C8oB2cm1AKr6cH_LFeLsQzb94Kk9iwez8fsOvgzNns_9DU3i8Ema1oCKIwcNFzenNpAhViyGHah4E7-RkQlg1durYSEQRD", "content_available": true, "notifica": { "corpo": "grande partita", "titolo!": "Portogallo vs Denmark" }}
il primo tentativo viene restituito un messaggio di successo, ma non registro né la notifica viene visualizzata nel dispositivo (con l'applicazione in primo piano)
Dopo pochi minuti, su un altro tentativo della richiesta POST ora restituisce un fallimento con
{ "multicast_id": 7256343774952522277, "successo": 0, "fallimento": 1, "canonical_ids": 0, "risultati": [ { "errore": "NotRegistered" } ] }
Ora, ho scaricato il GCM esempio dalla pagina di Google, configurato l'APN e anche ottenuto il GoogleService-info.plist, quando si lancia il file GCM Esempio Swift non appena si apre sulla dispositivo dice:
Registrazione riuscita! Controlla la console di debug di xcode per il token di registrazione che puoi usare ...
Dopo di ciò, se si imposta una richiesta POST con
{ "a": "mVEtHyTXEOg: APA91bGvK_Uf2ZKgpguWUOto3CXQzIT1z22uJ446mYkNqMwL9VLDYdGtdm_4vS8rcl3T9OeqEC1UWbdKAOyuoweW1GiU0mv0cDSPW03y4XGx19JcR6rxsiWRNUjtADX6iNAW8wM8UBJl", "content_available": true, "notifica": { "corpo ":" great match! ", " title ":" Portugal vs. Denmark " } }
si restituisce ancora una volta un
{ "multicast_id": 7435981433811133310, "successo": 0, "fallimento": 1, "canonical_ids": 0, "risultati": [ { "errore": "NotRegistered" } ] }
può qualcuno che ha implementato GCM su un app potrebbe puntare me quello che io mi mancano?
------- ------- EDIT
Infine ho fatto funzionare utilizzando un certificato di distribuzione invece di un certificato di sviluppo ... sembra che ho tutto bene configurato ma mi manca qualcosa con il certificato di sviluppo.
PS: Nella pagina del profilo APN sotto ID Ho attivato entrambi i certificati notifica push (è per questo che ho pensato che tutto era buono configurato)
Ma lascio aperta la questione perché sono in grado di utilizzare questo in fase di sviluppo
È possibile controllare [documentazione] (https: //developers.google.c om/cloud-messaging/http # response) per le possibili cause dell'errore 'NotRegistered'. Dice: "Se è' NotRegistered', è necessario rimuovere l'ID di registrazione dal database del server perché l'applicazione è stata disinstallata dal dispositivo o l'app client non è configurata per ricevere messaggi. " – gerardnimo
Ciao @gerardnimo, sì, quell'errore significa che devi rimuovere il token perché l'app non esiste più per quell'utente (che certo non è vero) ma non salvi ancora il token, voglio avere il sistema in esecuzione prima ..:( – neteot