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

Wybierz platformę:

Brak klucza bez klucza (ERROR_NOT_AUTHORIZED)

Gdy komunikacja z serwerem ARCore API zgłasza ERROR_NOT_AUTHORIZED, upewnij się, że aplikacja zawiera bibliotekę com.google.android.gms:play-services-auth:

  1. Utwórz aplikację i sprawdź wynikowy artefakt za pomocą Analizatora plików APK. Upewnij się, że skompilowany plik binarny aplikacji zawiera pakiet com.google.android.gms.auth oraz że jego zawartość nie jest zmniejszona ani zmieniona.
    • Jeśli go nie ma, kliknij Dołącz wymagane biblioteki i upewnij się, że biblioteka jest uwzględniona oraz że ustawienia minifikacji są prawidłowe.
  2. Pokaż informacje o zabezpieczeniach w niesprawnym artefakcie docelowym za pomocą narzędzia keytool:

    Artefakt pakietu AAB

    keytool -printcert -jarfile artifact.aab

    Artefakt pliku APK

    keytool -printcert -jarfile artifact.apk
  3. Sprawdź, czy odcisk cyfrowy certyfikatu SHA-1 jest zgodny z danymi logowania użytymi w identyfikatorze klienta OAuth 2.0 w Twoim projekcie.

  4. Sprawdź, czy interfejs ARCore API jest włączony dla odpowiedniego projektu w Google Cloud.

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

Jeśli autoryzacja bez klucza powiedzie się w niektórych kompilacjach, a w innych nie, upewnij się, że odcisk cyfrowy występujący w niesprawnym artefakcie jest zgodny z odciskiem cyfrowym wymienionym w Google Cloud Console. Zobacz Autoryzacja bez klucza nie działa i wykonaj odpowiednie czynności, aby sprawdzić, czy odcisk cyfrowy klucza podpisywania dla tego artefaktu jest zgodny z odciskiem cyfrowym 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 kompilacjach lokalnych, ale nie po przesłaniu ich do Sklepu Google Play, gdy włączone jest podpisywanie aplikacji przez Google Play, sprawdź, czy odcisk cyfrowy certyfikatu SHA-1 zarejestrowany w danych logowania projektu jest zgodny z odciskiem cyfrowym używanym przez Google do podpisywania aplikacji:

Więcej informacji znajdziesz w artykule o podpisywaniu aplikacji przez Google Play.

Uwierzytelnianie klucza interfejsu API nie działa

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

  • Sprawdź, czy interfejs ARCore API jest włączony dla odpowiedniego projektu w Google Cloud.
  • Jeśli masz włączone ograniczenia klucza interfejsu API, tymczasowo je wyłącz.
  • Upewnij się, że klucz interfejsu API wymieniony w danych logowania jest dokładnie taki sam jak klucz interfejsu API używany przez aplikację (bez spacji ani innych znaków).