W tym artykule opisujemy, jak utworzyć klucz interfejsu API Maps SDK na Androida, dodać go do aplikacji i zabezpieczyć ją przez ograniczenie klucza. Do każdej aplikacji, która korzysta z pakietu SDK, musisz dodać klucz interfejsu API.
Zanim zaczniesz
Aby zacząć korzystać z pakietu Maps SDK na Androida, potrzebujesz projektu z kontem rozliczeniowym i włączonym pakietem Maps SDK 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 Mapy SDK na Androida z menu Wybierz interfejsy API. Jeśli pakiet SDK Map na Androida nie jest wymieniony, 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="maps-android-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: