2013-05-22 12 views
8

Próbuję korzystać z usług gier Google Play w mojej praktyce na Androida.Google Play Game Services zaloguj się spits "Nieznany błąd"

Mam interfejs przycisków w sposób opisany w przewodniku dla programistów. Kiedy po raz pierwszy kliknę przycisk logowania, prowadzi mnie przez proces logowania. Zaraz po zakończeniu procesu pojawi się okno dialogowe z komunikatem "Nieznany błąd". Po raz pierwszy zawsze wyświetla mi to okno dialogowe po wyświetleniu animacji ładowania.

Zaimportowałem BaseGameUtils i google-play-services_lib. Załączam odnośnik z BaseGameUtils do google-play-services_lib. Następnie załączam odnośnik tych 2 do mojego projektu gry.

Wyeksportowałem projekt, aby uzyskać SHA1 w konsoli programisty. Następnie mam swój 12-cyfrowy identyfikator aplikacji do umieszczenia na wartości/ids.xml (otrzymałem metatag w aplikacji).

Próbowałem oczyścić projekt, ponowić proces SHA1/keystore i bez powodzenia. Mój e-mail znajduje się pod dostępem do testów.

Czytałem i wypróbowywałem rozwiązania dostarczone w tym pytaniu, ale nie w moim przypadku.

Google Play Game Services - unable to sign in

Każdy przeżywa takie same lub czy ktoś ma rozwiązanie powinienem spróbować?

+1

Możesz włączyć logi w BaseGameUtils i zobaczyć wszystkie logi, aby zrozumieć, co się dzieje! Jest tam flaga boolowska, aby ją włączyć! – thiagolr

+1

Utknąłem z tym samym problemem. Próbowałem ponownie utworzyć tokeny aplikacji itp. ... w kółko, ale nie udało się uruchomić. W LogCat widzę ten komunikat o błędzie: 05-26 09: 38: 31.494: E/Volley (9154): [524] il.a: Nieoczekiwany kod odpowiedzi 401 dla https://www.googleapis.com/games/v1/players/me 05-26 09: 38: 31.724: W/dqi (9154): Błąd uwierzytelnienia: Nie można odpowiedzieć na żadne z tych wyzwań: {nośnik = Uwierzytelnianie przez WWW: Dziedzina nośnika = "https: // www.google.com/accounts/AuthSubRequest ", error = invalid_token} –

+0

Czy utworzyłeś konta testowe w konsoli? –

Odpowiedz

0

Twój ids.xml musi wyglądać następująco:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="app_id">XXXXXXXXX</string> 
</resources> 

A w swoim manifeście, trzeba dodać:

<meta-data android:name="com.google.android.gms.games.APP_ID" 
    android:value="@string/app_id" /> 

Powodzenia!

+0

, ale jaka powinna być wartość app_id w łańcuchach? Czy powinien to być identyfikator klienta utworzony na konsoli programisty, czy nazwa aplikacji lub nazwa pakietu aplikacji? Pozdrawiam :) – Dittimon

+0

OK, więc identyfikator aplikacji to 12-cyfrowy numer na początku identyfikatora klienta, który można również zobaczyć w górnej części gry usług gier Google Play w konsoli dewelopera – Dittimon

+0

Tak, właśnie to mam na moich identyfikatorach .xml. Dzięki. – awonderer

0

Jeśli używasz produkcyjnego magazynu kluczy do pobrania odcisku palca, musisz wyeksportować i użyć kompilacji wydania. W przeciwnym razie użyj pliku debugowania, aby uzyskać odcisk palca.

Według https://developers.google.com/games/services/console/enabling#b_create_a_client_id - w przypadku korzystania z zaćmienia kluczy debug znajduje się

~/.android/debug.keystore

jeszcze jedno, dla mnie, nie mogę zalogować się używając mojego konta wydawcy, ale jeden z moich rachunków działało OK . Może warto spróbować.

+0

Nie próbowałem debugowania pliku kluczy, ponieważ chciałem zobaczyć, jak działa wersja Release. Wersja wydania to wyeksportowana kompilacja z odciskiem palca podanym podczas eksportowania. Dodałem identyfikator aplikacji i wyeksportowałem ją, by zainstalować na moim urządzeniu. – awonderer

0

Zalecam korzystanie ze śledzenia dziennika debugowania w klasie GameHelper, aby uzyskać jaśniejszy obraz błędu. Możesz po prostu wykonać połączenie w swoim module onCreate, aby to zrobić ...

enableDebugLog (true, "fred"); gdzie "fred" jest znacznikiem, który chcesz pokazać na logcat

Najprawdopodobniej pojawi się błąd "Brak połączenia z wynikiem 4 ... WYMIEŃ ZAPIS. Jeśli następnie wyszukasz SO dla tej wiadomości, powinien być w stanie dokonać pewnych postępów

Inna możliwość:..

udało mi się dostać moje własne liderów w produkcji wczoraj błąd opisujesz jest, że ja (i sądząc po innych uwag, które widziałem w raportach o błędach dotyczących SO) i innych osób napotkanych. Stwierdziłem, że nie mogę używać konta Google, którego używa użytkownik w konsoli programisty, nawet jeśli jest ono jawnie wymienione jako testowanie. Nt do gry.Próbowałem wyłączyć emulator, kasując i przedefiniowując grę w konsoli programisty itp., Ale nigdy nie byłem w stanie jej uruchomić.

Użyłem innego konta i mogłem się zalogować. Nie wiem, na czym polega problem z moim kontem konsoli programisty - używam go również w Google Plus bez problemów. Nawiasem mówiąc, nadal nie mogę korzystać z mojego konta programisty w aplikacji produkcyjnej za pomocą prawdziwego urządzenia.

Moja rada to używanie oddzielnego konta do testowania. Powodzenia !

+0

nie działa również dla mnie. – berlindev

2

Spróbuj przejść do swoich ustawień Google+ na urządzeniu i oczyścić dostęp, który przyznałeś aplikacji. Następnie RĘCZNIE skonfiguruj Google+ dla swojego konta testowego, za pomocą przeglądarki PC/Mac lub urządzenia, a następnie spróbuj ponownie połączyć aplikację. To działało dla mnie.

Dokładne kroki dla Samsung Galaxy S3:

Ustawienia -> Google -> Google+ -> Aplikacje z Google+ logowania -> wybierz aplikację i na dole, dotknij Disconnect App.

Dla tego, co jest warte, wybrałem także opcję "Usuń całą aktywność dla tej aplikacji" również po jej usunięciu.

+0

Dzisiaj miałem ten sam problem i sposób, w jaki w końcu mogłem go rozwiązać, robił to samo, co wskazałeś. –

+0

pomógł mi również (-: Zainstalowałem nową wersję mojej gry i urządzenie nie mogło się zalogować do aplikacji (gry). Postępowałem zgodnie z instrukcjami powyżej i odłączyłem aplikację na moim urządzeniu. Połączyłem się ponownie jak nowy użytkownik poprzez moją grę. To zadziałało – Drorasta

0

Jeszcze jedna rzecz, którą można wypróbować, to wysłać (jako załącznik) wyeksportowany i podpisany plik yourapp.apk na adres e-mail konta testującego, a następnie zainstalować aplikację przez e-mail (klikając na załącznik), a nie przez usb.

Wydaje mi się, że tutaj problem nie dotyczy usług Play, ale Google +, ponieważ zmiana może czasami potrwać kilka dni (np. Usunięcie niektórych informacji). Jeśli nic nie działa, utwórz nowe konto Gmail i spróbuj ponownie (to właśnie "zadziałało" dla mnie w końcu :)).

Edytuj: stare konta, które nie działały początkowo, zaczęły działać po 4-5 dniach. Być może Google potrzebuje trochę czasu, aby zsynchronizować wszystko.

Powiązane problemy