Registro do Google Cloud Messaging AUTHENTICATION_FAILED
Quero experimentar o serviço do Google Cloud Messaging (GCM) e estou com um problema no começo.
Eu recebo um erroAUTHENTICATION_FAILED
ao tentar registrar um dispositivo no GCM. Eu procurei e tudo que encontrei foram variações da senha incorreta. Minha senha está correta e estou usando apenas uma conta.
Existem duas maneiras de implementar o cliente GCM no Android:
Biblioteca do GCM com jarro adicional, agora obsoleta.API do Google Play ServicesEu comecei com o segundo claro e peguei esse problema.
Eu pensei que o problema está no meu telefone, mas depois decidi tentar o primeiro caminho, que funcionou! No entanto, ele é obsoleto e requer um jarro adicional, que não parece ser o caminho certo.
Na tentativa de entender as razões do erro, decompilei o jar do Google Play Services e o comparei com a biblioteca do GCM.
Acontece que ambos têm um método semelhante, algo como:
void register(Context context, String senderIds) {
Intent intent = new Intent("com.google.android.c2dm.intent.REGISTER");
intent.setPackage("com.google.android.gms"); // this one row are different
setPackageNameExtra(context, intent);
intent.putExtra("sender", senderIds);
context.startService(intent);
}
A diferença em uma linha:
Na biblioteca do GCM, écom.google.android.gsf
, Ondegsf
é o Google Services Framework (eu acho), e funciona!
Na jarra da API do Google Play Services, écom.google.android.gms
, E isso não funciona (erro AUTHENTICATION_FAILED).
Em seguida, na biblioteca do GCM, substituí "gsf" por "gms" e executei. E eu tenho o mesmo erro AUTHENTICATION_FAILED! Se eu entrar em outro pacote, então não está funcionando.
O que preciso fazer para que funcione? Devo configurar algo no telefone? Ou é um bug no Google Play Services? Alguém já encontrou um problema desses?
Desde já, obrigado!