Bezkluczykowy dostęp nie działa (ERROR_NOT_AUTHORIZED
)
Jeśli komunikacja z serwerem interfejsu ARCore API powoduje błąd ERROR_NOT_AUTHORIZED
, sprawdź, czy Twoja aplikacja zawiera bibliotekę com.google.android.gms:play-services-auth
:
- Utwórz aplikację i sprawdź uzyskany artefakt za pomocą narzędzia APK Analyzer. Upewnij się, że wygenerowany binarny plik aplikacji zawiera pakiet
com.google.android.gms.auth
, a jego zawartość nie została przemianowana ani zminiaturyzowana.- Jeśli go nie ma, postępuj zgodnie z instrukcjami podanymi w sekcji Uwzględnij wymagane biblioteki i upewnij się, że biblioteka jest uwzględniona i że ustawienia kompresji są prawidłowe.
Wyświetl informacje o zabezpieczeniach w artefakcie docelowym, który nie spełnia wymagań, za pomocą narzędzia
keytool
:Artefakt AAB
keytool -printcert -jarfile artifact.aab
Artefakt pliku APK
keytool -printcert -jarfile artifact.apk
Upewnij się, że odcisk cyfrowy certyfikatu SHA-1 pasuje do danych logowania użytych w identyfikatorze klienta OAuth 2.0 Twojego projektu.
Upewnij się, że interfejs ARCore API jest włączony w Google Cloud w odpowiednim projekcie.
Autoryzacja bez użycia klucza działa w przypadku niektórych typów kompilacji (np. debugowania), ale nie w przypadku innych
Jeśli uwierzytelnianie bez klucza działa w przypadku niektórych kompilacji, ale nie innych, sprawdź, czy odcisk palca obecny w nieudanym artefakcie jest zgodny z odciskiem palca wymienionym w konsoli Google Cloud. Zapoznaj się z artykułem Autoryzacja bez klucza nie działa i wykonaj czynności, aby sprawdzić, czy odcisk cyfrowy klucza podpisującego dany element zgadza się z odciskiem wymienionym w Google Cloud.
Autoryzacja bez klucza nie działa podczas korzystania z podpisywania aplikacji przez Google Play
Jeśli autoryzacja bez klucza działa w wersjach lokalnych, ale nie po przesłaniu do Sklepu Google Play, gdy podpisywanie aplikacji przez Google jest włączone, upewnij się, że odcisk cyfrowy certyfikatu SHA-1 zarejestrowany w danych logowania do projektu jest zgodny z odciskiem cyfrowym, którego Google używa do podpisywania aplikacji:
- Na stronie Podpisywanie aplikacji w Google Play przewiń do sekcji Certyfikat klucza podpisywania aplikacji. Zanotuj odcisk cyfrowy certyfikatu SHA-1.
- Utwórz nowy identyfikator klienta OAuth 2.0, korzystając z odcisku palca certyfikatu SHA-1 z poprzedniego kroku.
Więcej informacji znajdziesz w artykule Podpisywanie aplikacji w Google Play.
Uwierzytelnianie za pomocą klucza API nie działa
Jeśli autoryzacja klucza API nie działa, wykonaj te czynności:
- Upewnij się, że interfejs ARCore API jest włączony w Google Cloud w odpowiednim projekcie.
- Jeśli masz włączone ograniczenia dotyczące klucza interfejsu API, tymczasowo je wyłącz.
- Upewnij się, że klucz interfejsu API podany w danych logowania do projektu jest identyczny z kluczem interfejsu API używanym przez aplikację. Nie może zawierać żadnych spacji ani innych znaków.