Rozwiązywanie problemów z autoryzacją interfejsu ARCore API

Wybierz platformę:

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:

  1. 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.
  2. 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
  3. Upewnij się, że odcisk cyfrowy certyfikatu SHA-1 pasuje do danych logowania użytych w identyfikatorze klienta OAuth 2.0 Twojego projektu.

  4. 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:

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.