Rejestr Google Cloud Messaging AUTHENTICATION_FAILED
Chcę wypróbować usługę Google Cloud Messaging (GCM) i mam na początku problem.
Dostaję błądAUTHENTICATION_FAILED
podczas próby zarejestrowania urządzenia w GCM. Szukałem i wszystko, co znalazłem, to wariacje nieprawidłowego hasła. Moje hasło jest poprawne i używam tylko jednego konta.
Istnieją dwa sposoby wdrożenia klienta GCM na Androida:
Biblioteka GCM z dodatkowym słoikiem, teraz przestarzała.Interfejs API usług Google PlayZacząłem od drugiej oczywiście i dostałem ten problem.
Myślałem, że problem tkwi w moim telefonie, ale potem postanowiłem spróbować pierwszego sposobu, który zadziałał! Jest to jednak przestarzałe i wymaga dodatkowego słoika, który nie wygląda na właściwy.
Aby zrozumieć przyczyny błędu, zdekompilowałem słoik Usług Google Play i porównałem go z biblioteką GCM.
Okazuje się, że obie mają podobną metodę, coś w rodzaju:
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);
}
Różnica w jednym rzędzie:
W bibliotece GCM jestcom.google.android.gsf
, gdziegsf
to jest Google Services Framework (chyba) i działa!
W jardzie usług Google Play API jest tocom.google.android.gms
, I to nie działa (błąd AUTHENTICATION_FAILED).
Następnie w bibliotece GCM zastąpiłem „gsf” na „gms” i uruchomiłem. I mam ten sam błąd AUTHENTICATION_FAILED! Jeśli wprowadzę inny pakiet, to nie działa.
Co muszę zrobić, aby to działało? Czy powinienem ustawić coś w telefonie? Czy jest to błąd w usługach Google Play? Czy ktoś napotkał taki problem?
Z góry dziękuję!