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
:
- 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.
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
Sprawdź, czy odcisk cyfrowy certyfikatu SHA-1 jest zgodny z danymi logowania użytymi w identyfikatorze klienta OAuth 2.0 w Twoim projekcie.
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:
- Na stronie podpisywania aplikacji w Google Play przewiń do sekcji Certyfikat klucza podpisywania aplikacji. Zapisz odcisk cyfrowy certyfikatu SHA-1.
- Utwórz nowy identyfikator klienta OAuth 2.0 przy użyciu odcisku cyfrowego certyfikatu SHA-1 z poprzedniego kroku.
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).