Sono confuso sulla relazione tra ID di registrazione e token. Nel tutorial per GCM di Google, ci registriamo per un ID di registrazione all'inizio. Tuttavia, otteniamo anche un token. Ora, nei diagrammi, inviamo l'ID di registrazione al server di destinazione. Tuttavia, inviamo anche il token? So che il token è derivato dall'ID di registrazione. Il token è utilizzato come meccanismo di autenticazione tra GCM e l'app e il server non è mai a conoscenza del token?Google GCM, token vs ID di registrazione
risposta
Se siete alla ricerca di una conoscenza di base su Google Cloud Messaging, IMO, è possibile fare riferimento a quanto segue:
In sostanza, è necessario fare i passi:
- Creare un nuovo progetto a Google Developers Console. In questo passaggio , per semplicità, è sufficiente prendere nota di 2 valori:
Project Number
, che verrà utilizzato comeSENDER_ID
nel progetto client; eAPI server key
(creato a Credenziali), che verrà utilizzato comeAPI_KEY
nel progetto del server. - Creare un nuovo semplice progetto Android per lato server (con codice sorgente di base come risposta nei seguenti collegamenti).
- Creare un nuovo semplice progetto Android per lato client (con codice sorgente di base come risposta nei seguenti collegamenti, ho personalizzato dalla fonte originale a Google Cloud Messaging - GitHub).
- Esegui l'app client, riceverai il token di registrazione (significa che il tuo dispositivo è stato registrato con successo). Quindi, incolla (codice hard) questo token alla variabile
CLIENT_REGISTRATION_TOKEN
nell'app del server (o scrivi codice per inviare questo token all'app del server).
Si può leggere di più alle seguenti domande, uno di loro hanno letto prima con una delle tue domande precedenti:
- How to implement a GCM Hello World for Android using Android Studio
- Adding Google Cloud Messagin (GCM) for Android - Registration process
Per ulteriori informazioni:
Concetti chiave da Google Cloud Messaging: Overview
Credenziali
- Sender ID Un valore numerico unico creato quando si configura il progetto API (dato come "Numero del progetto" nella console Google Developers). L'ID mittente viene utilizzato nel processo di registrazione per identificare un server di app a cui è consentito inviare messaggi all'app client.
- Chiave API Una chiave API salvata sul server dell'app che consente al server dell'applicazione di accedere ai servizi Google. In HTTP, la chiave API è inclusa nell'intestazione delle richieste POST che inviano messaggi.In XMPP, , la chiave API viene utilizzata nella richiesta di autenticazione PLAIN SAS come password per autenticare la connessione. Ottenete la chiave API quando configurate il vostro progetto API.
- Token di registrazione Un ID rilasciato dai server di connessione GCM all'app client che consente di ricevere messaggi. Nota che i token di registrazione devono essere tenuti segreti.
Spero che questo aiuti!
GCM ora utilizza il concetto di InstanceID che rappresenta una singola installazione di un'app su un dispositivo (Android o iOS). Ogni InstanceID può emettere diversi token. Questi token vengono utilizzati per identificare l'InstanceID e possono scadere e essere aggiornati.
Sul dispositivo client, si inizializza un InstanceID, quindi con quell'IstanceID si generate a token (token di registrazione). Si invia quel token al proprio server, che utilizza il token per inviare messaggi al InstanceID (applicazione installata). Se quel token viene invalidato per qualsiasi motivo, come l'applicazione viene disinstallata o il token è compromesso, a new token should be generated e inviato al server.
a volte SO utente spiegarlo meglio di google, non so se questo così semplice. Grazie. –
sto ancora registrando con successo con la registrazione metodo Id fino 11 MAGGIO 2016
if (checkPlayServices()) {
gcm = GoogleCloudMessaging.getInstance(this);
regid = getRegistrationId(context);
if (regid.isEmpty()) {
registerInBackground();
}
} else {
Log.i(TAG, "No valid Google Play Services APK found.");
}
APA91bHLUfr71D6K7VTrRH3LGiLFxGNr3qRi3xOB_yNl0fLYsqhlgYXxHzOhQx2WKgqZI3sqxa1ZPORa0-5YBZ1_OFLm9cEg1bTh7wtrpCsHW91MSs2BMIXrHEqyjj2TeoVxnAzA5U8s
- 1. Il token FCM cambierà periodicamente come l'ID di registrazione GCM?
- 2. Android di Google Cloud Messaging (GCM) e missmatched mittente id
- 3. Chiave API GCM vs ID mittente
- 4. GCM/APNS Come vengono generati gli ID di registrazione
- 5. Invalidate tutti i token gcm
- 6. Che cos'è l'ID di registrazione GCM?
- 7. Richiesta di ID registrazione Google Cloud Messaging (GCM) ogni volta che l'applicazione inizia
- 8. ID registrazione diventa "NotRegistered" per nessun motivo
- 9. L'ID registrazione GCM scade?
- 10. Convalida dei token ID Google in C#
- 11. GCM id canonica
- 12. Ottenere GCM canonica ID di registrazione senza l'invio di un messaggio
- 13. GCM Android e token multipli
- 14. come analizzare GCM rispondere per rimuovere valida registrazione ID dal server con PHP
- 15. Convalida il token ID JWT di OpenID Connect di Google
- 16. Come eseguire il push di push push senza registrazione gcm?
- 17. Confuso circa il processo di aggiornamento del token GCM
- 18. GCM Android ottenere l'id originale di id canonico
- 19. Notifiche push su Android: Google GCM vs Amazon SNS?
- 20. Come risolvere l'errore di registrazione di Google Cloud Messaging: SERVICE_NOT_AVAILABLE?
- 21. ID token di Paypal Unico?
- 22. Verificare l'integrità del token ID Google in Ruby
- 23. Quali sono le conseguenze dell'essere esposto a GCM SENDER ID?
- 24. GCM vs. socket in Android
- 25. Non autorizzato quando si chiama Google GCM
- 26. Codici errore GCM
- 27. GCM defaultSenderID
- 28. gcm canonical id deve essere aggiornato o meno
- 29. GCM con sistema di login
- 30. I vecchi token GCM rimangono attivi anche dopo una disinstallazione?
Ok, quindi il server si preoccupa solo l'ID di registrazione. Non gli importa affatto del token. – mrQWERTY
Il token di registrazione = Id di registrazione, che si trova nell'app del cliente, quindi è necessario fornirlo all'app del server – BNK
Forse si intende SENDER_ID, che come ho detto nel 1 ° passo – BNK