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 zwraca błąd ERROR_NOT_AUTHORIZED, sprawdź, czy aplikacja zawiera bibliotekę com.google.android.gms:play-services-auth:

  1. Skompiluj aplikację i sprawdź wynikowy artefakt za pomocą analizatora APK. Upewnij się, że skompilowany plik binarny aplikacji zawiera pakiet com.google.android.gms.auth, a jego zawartość nie została zmieniona ani zminimalizowana.
    • Jeśli nie ma, postępuj zgodnie z instrukcjami w sekcji Dołączanie wymaganych bibliotek i upewnij się, że biblioteka jest dołączona, a ustawienia minimalizacji są prawidłowe.
  2. Wyświetl informacje o bezpieczeństwie w artefakcie docelowym, w którym wystąpił błąd, za pomocą narzędzia keytool:

    Artefakt AAB

    keytool -printcert -jarfile artifact.aab

    Artefakt APK

    keytool -printcert -jarfile artifact.apk
  3. Sprawdź, czy odcisk cyfrowy certyfikatu SHA-1 pasuje do danych logowania używanych w identyfikatorze klienta OAuth 2.0 w projekcie.

  4. Sprawdź, czy interfejs ARCore API jest włączony w odpowiednim projekcie w Google Cloud.

Autoryzacja bez klucza działa w niektórych typach kompilacji (np.Debug), ale nie w innych.

Jeśli autoryzacja bez klucza działa w przypadku niektórych kompilacji, ale nie w przypadku innych, sprawdź, czy odcisk palca w nieudanym artefakcie jest zgodny z odciskiem palca wymienionym w konsoli Google Cloud. Zapoznaj się z sekcją Autoryzacja bez klucza nie działa i wykonaj czynności, aby sprawdzić, czy odcisk cyfrowy klucza podpisywania tego artefaktu jest zgodny z odciskiem cyfrowym podanym w Google Cloud.

Autoryzacja bez klucza nie działa w przypadku korzystania z podpisywania aplikacji przez Google Play

Jeśli autoryzacja bez klucza działa w przypadku kompilacji lokalnych, ale nie po przesłaniu do Sklepu Google Play, gdy włączone jest podpisywanie aplikacji przez Google Play, upewnij się, że odcisk cyfrowy certyfikatu SHA-1 zarejestrowany w danych logowania 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 interfejsu API nie działa

Jeśli autoryzacja za pomocą klucza API nie działa, wykonaj te czynności:

  • Sprawdź, czy interfejs ARCore API jest włączony w odpowiednim projekcie w Google Cloud.
  • Jeśli masz włączone jakiekolwiek ograniczenia dotyczące klucza interfejsu API, tymczasowo je wyłącz.
  • Sprawdź, czy klucz interfejsu API wymieniony w sekcji Dane logowania Twojego projektu jest dokładnie taki sam jak klucz interfejsu API używany przez aplikację i nie zawiera spacji ani innych znaków.