Zanim zaczniesz
Zanim zaczniesz korzystać z pakietu SDK Miejsc na Androida, musisz mieć projekt z kontem rozliczeniowym i włączony pakiet SDK Miejsc na Androida. Więcej informacji znajdziesz w artykule Konfiguracja w Cloud Console.
Tworzenie kluczy interfejsu API
Klucz interfejsu API jest unikalnym identyfikatorem uwierzytelniającym żądania powiązane z Twoim projektem na potrzeby użytkowania i rozliczeń. Musisz mieć co najmniej jeden klucz interfejsu API powiązany z Twoim projektem.
Aby utworzyć klucz interfejsu API:
Konsola
-
Otwórz stronę Dane logowania w Google Maps Platform.
-
Na stronie Dane logowania kliknij Utwórz dane logowania &klucz API.
W oknie Utworzono klucz API pojawi się nowo utworzony klucz. -
Kliknij Zamknij.
Nowy klucz interfejsu API znajdziesz na stronie Dane logowania w sekcji Klucze interfejsu API.
(Pamiętaj, aby ograniczyć dostęp do klucza interfejsu API przed użyciem go w środowisku produkcyjnym).
(pakiet) SDK Cloud
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Dowiedz się więcej o pakietach Google Cloud SDK, instalacji Cloud SDK i o tych poleceniach:
Ograniczenie kluczy interfejsu API
Zdecydowanie zalecamy ograniczenie kluczy interfejsu API tylko do tych interfejsów API, których potrzebujesz w przypadku swojej aplikacji. Ograniczenie kluczy interfejsu API zwiększa bezpieczeństwo aplikacji, chroniąc ją przed nieuzasadnionymi żądaniami. Więcej informacji znajdziesz w artykule o sprawdzonych metodach zabezpieczania interfejsu API.
Podczas ograniczania klucza interfejsu API musisz podać odcisk cyfrowy certyfikatu SHA-1, który został użyty do podpisania aplikacji. Istnieją 2 typy certyfikatów:
- Certyfikat debugowania: ten typ certyfikatu używaj tylko w aplikacjach, które testujesz, oraz w innych kodach nieprodukcyjnych. Nie próbuj publikować aplikacji podpisanej certyfikatem debugowania. Narzędzia Android SDK automatycznie generują ten certyfikat podczas uruchamiania kompilacji debugowania.
- Certyfikat wersji: użyj tego certyfikatu, gdy zechcesz opublikować aplikację w sklepie z aplikacjami. Narzędzia Android SDK generują ten certyfikat podczas uruchamiania kompilacji.
Więcej informacji o certyfikatach cyfrowych znajdziesz w przewodniku Podpisywanie aplikacji.
Aby dowiedzieć się więcej o uzyskiwaniu odcisku cyfrowego certyfikatu, zobacz Uwierzytelnianie klienta. Jeśli zamiast tego korzystasz z podpisywania aplikacji przez Google Play, otwórz stronę podpisywania aplikacji w Konsoli Play, aby uzyskać odcisk cyfrowy certyfikatu.
Aby ograniczyć klucz interfejsu API:
Konsola
-
Otwórz stronę Dane logowania w Google Maps Platform.
- Wybierz klucz interfejsu API, dla którego chcesz ustawić ograniczenie. Pojawi się strona właściwości klucza interfejsu API.
- W sekcji Ograniczenia klucza ustaw te ograniczenia:
- Ograniczenia aplikacji:
- Kliknij Aplikacje na Androida.
- Kliknij + Dodaj nazwę pakietu i odcisk cyfrowy.
- Wpisz nazwę pakietu i odcisk cyfrowy certyfikatu SHA-1. Na przykład:
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- Ograniczenia interfejsów API:
- Kliknij Ogranicz klucz.
- Wybierz Places API z interfejsu Wybierz interfejsy API. Jeśli interfejsu Places API nie ma na liście, musisz go włączyć.
- Aby zapisać zmiany, kliknij Zapisz.
(pakiet) SDK Cloud
Wyświetlenie listy istniejących kluczy.
gcloud services api-keys list --project="PROJECT"
Wyczyść istniejące ograniczenia istniejącego klucza.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Ustaw nowe ograniczenia dotyczące dotychczasowego klucza.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api-target="places-backend.googleapis.com" --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"
Dowiedz się więcej o pakietach Google Cloud SDK, instalacji Cloud SDK i o tych poleceniach:
Znajdowanie informacji o certyfikacie aplikacji
Klucz interfejsu API wykorzystuje krótki format certyfikatu cyfrowego aplikacji, nazywany odciskiem cyfrowym SHA-1. Aby wyświetlać odcisk cyfrowy SHA-1 dla certyfikatu, najpierw upewnij się, że używasz odpowiedniego certyfikatu. Możesz mieć 2 certyfikaty:
- Certyfikat debugowania: narzędzia Android SDK automatycznie generują ten certyfikat podczas tworzenia kompilacji. Używaj tego certyfikatu tylko w aplikacjach, które testujesz. Nie próbuj publikować aplikacji podpisanej certyfikatem debugowania. Certyfikat debugowania został bardziej szczegółowo opisany w sekcji Logowanie się w trybie debugowania w dokumentacji dla deweloperów aplikacji na Androida.
- Certyfikat wersji: podczas tworzenia wersji narzędzia pakietu Android SDK generują ten certyfikat. Certyfikat możesz też wygenerować za pomocą programu
keytool
. Użyj tego certyfikatu, gdy zechcesz udostępnić aplikację światu.
Używanie Gradle
Gradle bardzo ułatwia uzyskanie informacji o podpisywaniu aplikacji. Wystarczy, że uruchomisz ./gradlew signingReport
.
Dane wyjściowe powinny wyglądać mniej więcej tak:
Task :app:signingReport Variant: debug Config: debug Store: ~/.android/debug.keystore Alias: AndroidDebugKey MD5: 76:4E:BF:C3:59:DA:D3:8F:98:D6:3C:DB:87:A4:5B:E7 SHA1: 99:8E:73:B8:3A:A3:A3:C4:C1:D4:19:08:F6:7E:9E:F6:75:29:4C:B2 SHA-256: 6C:01:12:53:90:94:73:B5:66:D6:07:FF:A5:6F:AB:30:AE:99:20:55:0F:B3:12:22:4C:46:7E:02:3D:7E:6D:1D Valid until: Friday, June 25, 2049 ---------- Variant: release Config: release Store: app/keystore.jks Alias: keystore MD5: 1E:63:0F:14:67:E0:04:BD:98:4C:EB:2B:09:EF:7E:1E SHA1: 2C:DF:9F:D1:A3:0D:1E:01:48:34:5D:91:52:0B:D8:8A:5A:07:45:C3 SHA-256: 12:66:CE:4B:90:FD:64:1A:4D:79:9E:78:AD:59:0C:21:D8:53:61:EE:2B:90:E4:67:CE:65:A0:76:04:13:23:89 Valid until: Tuesday, September 29, 2116
Ręcznie
Wykonaj poniższe czynności, aby wyświetlić odcisk cyfrowy certyfikatu SHA-1 za pomocą programu keytool
z parametrem -v
. Więcej informacji o narzędziu Keytool znajdziesz w dokumentacji Oracle.
Certyfikat debugowania
Wyświetlam odcisk cyfrowy certyfikatu debugowania
Znajdź plik magazynu kluczy debugowania. Nazwa pliku to
debug.keystore
i jest tworzona po raz pierwszy przy kompilowaniu projektu. Domyślnie przechowujemy go w tym samym katalogu, w którym znajdują się pliki urządzeń wirtualnych (Android AVD):- macOS i Linux:
~/.android/
- Windows Vista i Windows 7:
C:\Users\your_user_name\.android\
- macOS i Linux:
Wyświetl listę odcisków cyfrowych SHA-1:
W systemie Linux lub macOS otwórz okno terminala i wpisz to:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
W systemie Windows Vista i Windows 7 uruchom polecenie:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Dane wyjściowe powinny wyglądać podobnie do tych:
Alias name: androiddebugkey Creation date: Jan 01, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4aa9b300 Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
Certyfikat wydania
Wyświetlam odcisk cyfrowy certyfikatu wersji
-
Znajdź plik magazynu kluczy certyfikatu wersji. Nie ma domyślnej lokalizacji ani nazwy magazynu wersji. Jeśli nie określisz tej wartości podczas tworzenia aplikacji, nie spowoduje to podpisania Twojej kreacji
.apk
. Przed jej opublikowaniem musisz ją podpisać. W przypadku certyfikatu wersji wymagany jest też alias certyfikatu oraz hasła do magazynu kluczy i certyfikatu. Aby wyświetlić listę wszystkich kluczy w magazynie kluczy, wpisz:keytool -list -keystore your_keystore_name
Zastąp
your_keystore_name
w pełni kwalifikowaną ścieżką i nazwą magazynu kluczy, razem z rozszerzeniem.keystore
. Pojawi się prośba o podanie hasła do magazynu kluczy. Następniekeytool
wyświetli wszystkie aliasy w magazynie kluczy. -
Wpisz w terminalu lub wierszu polecenia:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
Zastąp
your_keystore_name
w pełni kwalifikowaną ścieżką i nazwą magazynu kluczy, razem z rozszerzeniem.keystore
. Zastąpyour_alias_name
aliasem przypisanym do certyfikatu podczas jego tworzenia.
Dane wyjściowe powinny wyglądać podobnie do tych:
Alias name: <alias_name> Creation date: Feb 02, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4cc9b300 Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
Wiersz rozpoczynający się od SHA1
zawiera odcisk cyfrowy certyfikatu SHA-1. Odcisk cyfrowy to sekwencja 20 cyfr szesnastkowych rozdzielonych dwukropkiem.