Pergunta

eu sigo esse guia do Google, para configurar o serviço de notificação push para Android (GCM).Mas na verdade é um pouco errado, porque não há Registrar aplicativo botão, acho que foi substituído por credenciais na barra deslizante, então pressiono criar nova chave botão, escolha Android então encontre no eclipse Chave SHA1 (Tento com console, em /home/.android/debug.keystore, houve uma coisa estranha, ele pede alguma senha, basta pressionar enter), e adiciono ';com.google.android.gcm.demo.app' - meu pacote de aplicativos no manifesto (na verdade, é um exemplo funcional de http://developer.android.com/google/gcm/client.html) Funciona bem quando insiro meu SENDER ID (número do projeto no console do Google Cloud).

Agora vou escrever back-end para isso:

  1. Eu executo a solicitação e recebo o código de status 'Não autorizado' no meu servidor (sugiro pular os detalhes, na verdade não importa).
  2. Então tento enrolá-lo, como foi escrito no guia de solução de problemas do Google aqui: http://developer.android.com/google/gcm/http.html#auth_error.Recebi a resposta com tags html, 401 não autorizado.

Como devo corrigir esse problema?

Observação: Suponho que gerei a chave de maneira errada por causa dessa incompatibilidade no guia.

Foi útil?

Solução

Encontro a solução: devo abrir as credenciais na barra deslizante -> criar uma nova chave - SERVER (em vez de Android) e não escrever nenhum IP, é suficiente para fins de desenvolvimento.Então esta chave de API será válida no servidor.

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

resposta:

{"multicast_id":6782339717028231855,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}

Em seguida, basta inserir um ID de registro válido, conforme escrito aqui:http://developer.android.com/google/gcm/http.html#auth_error

Seria bom mudar o guia do Android aqui: http://developer.android.com/google/gcm/gs.html porque não está atualizado.

Outras dicas

APIs & Auth -> Credenciais -> Criar nova chave -> chave do servidor -> Criar (não introduzir IP)

Use a tecla API "Chave para aplicativos do servidor"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top