UWAGA: usługi gier w Google Maps Platform zostały wycofane 18 października 2021 r. Obecni użytkownicy będą mieli dostęp do tego okresu do 31 grudnia 2022 r. W tym czasie będziemy nadal zapewniać pomoc dotyczącą poważnych błędów i przerw w działaniu usług. W przewodniku po przenoszeniu usług gier znajdziesz zasoby, które pomogą Ci zaplanować kolejne kroki związane z projektami.

Sprawdzone metody produkcji

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Google zaleca stosowanie tych sprawdzonych metod podczas administrowania i uruchamiania aplikacji.

Zabezpieczanie kluczy interfejsu API

Aby korzystać z naszych usług online, potrzebujesz klucza interfejsu API, a jego użycie pozwala Google mierzyć Twoje wykorzystanie. Zalecamy ograniczenie kluczy interfejsu API, aby zapobiec nieautoryzowanemu użyciu.

Typy ograniczeń klucza interfejsu API

Istnieją 2 typy ograniczeń klucza interfejsu API i możesz używać ich obu jednocześnie.

Typ ograniczeniaOgranicza użycie klucza do
Ograniczenie interfejsu API Interfejs API.
Ograniczenie aplikacji Określone adresy IP, witryny lub aplikacje.

Rekomendacje dotyczące ograniczeń klucza interfejsu API

W tych przypadkach zalecamy utworzenie oddzielnych kluczy interfejsu API.

ScenariuszRekomendacja
Serwery gier zaplecza wywołują interfejs Playable Location API, aby pobrać lokalizacje do odtworzenia. Skonfiguruj klucz z 2 ograniczeniami:
  • Ograniczenie interfejsu API: zezwalaj na wywołania tylko do interfejsu Playable Location API.
  • Ograniczenie aplikacji: zezwalaj na wywołania pochodzące wyłącznie z adresów IP serwera backendu.
Wersja aplikacji na Androida wywołuje pakiet SDK Map dla Unity, aby pobrać dane geograficzne. Skonfiguruj klucz z ograniczeniem dotyczącym aplikacji, aby umożliwić wywołania tylko z jej wersji.
Wersja aplikacji na iOS wywołuje interfejs API pakietu Maps SDK for Unity, aby pobrać dane geograficzne. Skonfiguruj klucz z ograniczeniem aplikacji, aby umożliwić wywołania tylko z wersji aplikacji na iOS.

Więcej informacji znajdziesz w artykule Sprawdzone metody zabezpieczania interfejsu API.

Aby skonfigurować ograniczenia klucza interfejsu API

  1. Otwórz panel danych logowania w Google Cloud Console.
  2. Wybierz klucz interfejsu API, dla którego chcesz ustawić ograniczenie. Pojawi się strona właściwości klucza interfejsu API.
  3. W sekcji Ograniczenia klucza wybierz kartę Ograniczenia aplikacji, a następnie wybierz jeden z 4 typów ograniczeń aplikacji.
    Typ ograniczenia Opis
    Odsyłające adresy HTTP Zaakceptuj prośby z listy podanych przez Ciebie witryn.
    Adresy IP Akceptuj żądania z listy adresów IP serwera WWW, które udostępniasz.
    Aplikacje na Androida Dodaj nazwę pakietu oraz odcisk cyfrowy certyfikatu podpisywania SHA-1, aby ograniczyć wykorzystanie aplikacji na Androida.
    Aplikacje na iOS Akceptuj żądania od aplikacji na iOS z podanym przez Ciebie identyfikatorem pakietu.
  4. W sekcji Ograniczenia klucza wybierz kartę Ograniczenia interfejsu API i wybierz interfejs API, do którego chcesz ograniczyć klucz interfejsu API.
  5. Kliknij Zapisz.

Aktualizacje klucza interfejsu API pomocy

Sprawdź, czy masz infrastrukturę, która może aktualizować klucze interfejsu API w stosie udostępniania. Dzięki temu Twoja gra może się odzyskać, jeśli klucz interfejsu API zostanie przejęty i w krótkim czasie będzie trzeba go odnowić.

Dla każdej aplikacji używaj oddzielnych kluczy, aby móc łatwo zmieniać klucz w jednym, nie wpływając na inne aplikacje.

Rekomendacje dotyczące bezpieczeństwa serwera gry

Gdy serwer interfejsu Playable Location API jest niedostępny z dowolnego powodu, występują problemy, gdy powróci on online – gdy wiele serwerów gier spróbuje ponownie połączyć się z internetem w tym samym czasie. Taki gwałtowny wzrost QPS może spowodować przekierowanie serwera w tryb DoS, co dodatkowo komplikuje sytuację, blokując ruch przychodzący.

Aby przeciwdziałać takiej sytuacji, Google prosi o wdrożenie na serwerze gry wywoływania plików binarnych wykładniczo. To systematyczne podejście do ograniczania prób nawiązania połączenia. Przede wszystkim musisz wdrożyć algorytm, który czeka N sekund po kolejnej nieudanej próbie ponownego połączenia. Jeśli kolejna próba się nie powiedzie, algorytm podwaja okres oczekiwania i spróbuje jeszcze raz. Jeśli kolejna próba się nie powiedzie, algorytm ponownie podwoi okres oczekiwania, a potem spróbuje jeszcze raz. Podwajaj okres oczekiwania po każdej próbie aż do ostatniej próby.

Obsługa kodów stanu zwrotów HTTP

W przypadku niektórych kodów zwrotnych HTTP należy wdrożyć funkcję wzrastającego czasu do ponowienia w postaci plików binarnych, ale nie wszystkie.

400
To błędy klientów, które zwykle nie przywracają się, więc ponowne próby nieudanego żądania, które generują te kody błędów, nie będą działać. Takie błędy powinny być wykrywane podczas testowania.
429
To jest błąd wyczerpania zasobów, który występuje, gdy zaczyna Ci brakować miejsca na API. Aby zobaczyć limity zapytań QPS dla Twojego projektu, otwórz limity interfejsów API Google.
500s
Są to błędy po stronie serwera – w takiej sytuacji najbardziej przydatny jest wzrastający wykładnik.