Notifica push non autorizzata, Android
-
21-12-2019 - |
Domanda
Seguo Questa guida da Google, per impostare il servizio di notifica push per Android (GCM). Ma in realtà è un po 'sbagliato, perché non c'è un pulsante Register APP , penso che sia stato sostituito con le credenziali nella barra dei diapositivi, quindi preme Crea una nuova chiave Pulsante , ha scelto Android poi trovare in Eclipse SHA1 Key (Provo con console, in /home/..Droid/debug.Keystore, c'era una cosa strana, Chiede una password che ho appena premere ENTER) e aggiungo '; com.google.android.gcm.demo.app' - il mio pacchetto di applicazione in manifesto (in realtà è un esempio di lavoro da http://developer.android.com/google/gcm/client.html ) funziona bene, quando entri nel mio ID mittente (numero di progetto da Google Cloud Console).
Ora Ho intenzione di scrivere backend per questo:
- .
- Eseguo la richiesta e ottieni il codice di stato 'non autorizzato' sul mio server (suggerisco di saltare i dettagli, in realtà non importa).
- Allora cerco di richiamarlo, come è stato scritto nella Guida alla risoluzione dei problemi di Google qui: http://developer.android.com/google/gcm/http.html#auth_error . Ho ricevuto la risposta con tag HTML, non autorizzato 401.
Come dovrei risolvere questo problema?
Nota: Supponiamo di generare il modo sbagliato in modo errato a causa di questa mancata corrispondenza in Guida.
Soluzione
trovo la soluzione Iolu volta che dovrei aprire le credenziali nella barra dei diapositive -> Crea nuovo tasto - server (invece di Android), quindi non scrivere alcun IP, è sufficiente per lo scopo di sviluppo.Quindi questa chiave API sarà valida dal server.
api_key=YOUR_API_KEY
curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"ABC\"]}"
.
Risposta:
{"multicast_id":6782339717028231855,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
.
Allora inserisci l'ID di registrazione valido, come scritto qui: http://developer.android.com/google/gcm/http.html#auth_error
Sarebbe bello cambiare la guida Android qui: http://developer.android.com / google / gcm / gs.html perché non è aggiornato.
Altri suggerimenti
APIS & AUTH -> Credenziali -> Crea nuovo tasto -> Tasto server -> Crea (non inserire IP)
Utilizzare il tasto API in "Tasto per applicazioni server"