Konfiguracja

Z tego artykułu dowiesz się, jak skonfigurować aplikację lub grę pod kątem interfejsu Play Integrity API. Musisz włączyć odpowiedzi z interfejsu API, a potem zintegrować go z aplikacją i jej serwerem backendu. Dodatkowe opcje konfiguracji, funkcje testowe i raportowanie stają się dostępne po połączeniu w Konsoli Google Play projektu Google Cloud, którego używasz na potrzeby interfejsu Play Integrity API.

Włącz odpowiedzi interfejsu Play Integrity API

Każda aplikacja i każdy pakiet SDK wywołujący interfejs Play Integrity API musi używać projektu Google Cloud do monitorowania korzystania z interfejsu API. Aplikacje w Google Play mogą połączyć projekt Cloud w Konsoli Google Play, aby włączać odpowiedzi Play Integrity API. Jeśli chcesz utworzyć nowy projekt Cloud lub Twoja aplikacja jest rozpowszechniana wyłącznie poza Google Play, możesz włączyć odpowiedzi interfejsu Play Integrity API w konsoli Google Cloud.

Skonfiguruj w Konsoli Google Play (zalecane)

Po włączeniu odpowiedzi interfejsu Play Integrity API w Konsoli Google Play uzyskasz dostęp do dodatkowych opcji konfiguracji, funkcji testowania i raportów interfejsu API. Ta opcja jest dostępna tylko w przypadku aplikacji rozpowszechnianych w Google Play. Kliknij Wersja > Integralność aplikacji. W sekcji Play Integrity API wybierz Połącz z projektem Cloud. Wybierz projekt Cloud, który chcesz połączyć z aplikacją. Spowoduje to włączenie odpowiedzi interfejsu Play Integrity API. Możesz teraz zintegrować interfejs Play Integrity API ze swoją aplikacją.

Skonfiguruj w Google Cloud Console

W konsoli Google Cloud utwórz nowy projekt Google Cloud lub wybierz istniejący projekt Cloud, którego chcesz używać z interfejsem Play Integrity API. Otwórz Interfejsy API i usługi. Wybierz Włącz interfejsy API i usługi. Wyszukaj interfejs Play Integrity API, a potem go włącz. Możesz teraz zintegrować interfejs Play Integrity API ze swoją aplikacją.

Konfigurowanie instrukcji dla dostawców pakietów SDK

W celu wywołania interfejsu Play Integrity API dostawcy pakietów SDK muszą używać własnych projektów Google Cloud. Dzięki temu korzystanie z interfejsu API jest przypisywane do pakietu SDK, a nie do poszczególnych aplikacji, które z niego korzystają. Oznacza to, że aplikacje używające Twojego pakietu SDK nie muszą samodzielnie konfigurować interfejsu Play Integrity API. Twoje żądania wysyłane do interfejsu Play Integrity API są automatycznie wliczane do wykorzystania interfejsu API przez pakiet SDK, a nie do aplikacji.

Deweloperzy pakietów SDK mogą skonfigurować interfejs Play Integrity API na 2 sposoby: w Google Play SDK Console lub w Google Cloud Console.

Włączenie odpowiedzi interfejsu Play Integrity API w Google Play SDK Console daje dostęp do dodatkowych opcji konfiguracji. Otwórz Integralność pakietu SDK i kliknij Ustawienia. W sekcji Konfiguracja projektu wybierz Połącz z projektem Cloud. Wybierz projekt Cloud, który chcesz połączyć z pakietem SDK. Spowoduje to włączenie odpowiedzi interfejsu Play Integrity API. Możesz teraz zintegrować interfejs Play Integrity API ze swoim pakietem SDK. Pamiętaj, że dostęp do Google Play SDK Console podlega kryteriom kwalifikacji.

Użyj konsoli Google Cloud

Odpowiedzi interfejsu Play Integrity API możesz włączyć w konsoli Google Cloud. W konsoli Google Cloud utwórz nowy projekt Cloud lub wybierz istniejący projekt Cloud, którego chcesz używać z interfejsem Play Integrity API. Otwórz Interfejsy API i usługi. Wybierz Włącz interfejsy API i usługi. Wyszukaj interfejs Play Integrity API, a potem go włącz. Teraz możesz zintegrować interfejs Play Integrity API ze swoim pakietem SDK.

Zwiększ liczbę dziennych żądań do interfejsu Play Integrity API z pakietu SDK

Dostawcy pakietów SDK, którzy chcą zwiększyć maksymalną liczbę żądań dziennie, powinni wypełnić formularz prośby o przyznanie limitu. W sekcji otwartych komentarzy wskaż, że wysyłasz żądanie pakietu SDK, i podaj współrzędne Maven (groupId:artifactId) lub adres URL pakietu SDK.

Większa liczba żądań do interfejsu Play Integrity API

Twoja aplikacja może wysłać maksymalnie 10 tys. żądań na aplikację dziennie. Jeśli Twoja aplikacja ma obsługiwać większą liczbę użytkowników, możesz poprosić o jej zwiększenie. Aby to zrobić, wykonaj podane niżej instrukcje.

Zwiększenie dziennej maksymalnej liczby żądań

Aby kwalifikować się do zwiększenia maksymalnej dziennej liczby żądań, aplikacja musi być dostępna zarówno w Google Play, jak i w pozostałych kanałach dystrybucji. Nawet po zwiększeniu maksymalnej wartości dziennej należy nadal ograniczać klasyczne żądania na użytkownika do rzadkich, wartościowych działań, aby oszczędzać dane użytkownika i baterię.

Aby poprosić o zwiększenie dziennej maksymalnej liczby żądań, wykonaj te czynności:

  1. Połącz w Konsoli Play projekt Google Cloud, którego używasz na potrzeby interfejsu Play Integrity API.
  2. Sprawdź, czy poprawnie implementujesz logikę interfejsu API, w tym zalecaną strategię ponawiania.
  3. Poproś o zwiększenie limitu, korzystając z tego formularza.

Zwiększenie limitu Play Integrity API może potrwać do tygodnia, dlatego zdecydowanie zalecamy monitorowanie wykorzystania interfejsu Play Integrity API w Konsoli Google Play lub konsoli Google Cloud, gdzie możesz też skonfigurować alerty dotyczące limitów, aby uniknąć przerw w działaniu usługi.

Klasyczny limit żądań zostanie automatycznie zwiększony zarówno do wywołania klienta w celu wygenerowania tokenów integralności, jak i do wywołania serwera do odszyfrowywania i weryfikowania tokenów integralności. W przypadku wywołań serwera do odszyfrowywania i weryfikowania tokenów integralności jest stosowany standardowy limit żądań.

Zintegruj interfejs Play Integrity API ze swoją aplikacją

Aby zintegrować interfejs Play Integrity API z aplikacją lub pakietem SDK, w zależności od środowiska programistycznego wykonaj jedną z tych czynności:

Kotlin lub Java

Najnowsza biblioteka interfejsu Play Integrity API na Androida jest dostępna w repozytorium Google Maven. Dodaj tę zależność do pliku build.gradle aplikacji:

implementation 'com.google.android.play:integrity:1.3.0'

Jedność

Zainstaluj wtyczkę Google Play Integrity w wersji 1.3.0 lub nowszej. Instrukcje znajdziesz w artykule na temat instalowania pakietów Google dla Unity.

  • Obsługiwane są wszystkie wersje 2019.x, 2020.x i nowsze.
  • Jeśli korzystasz z Unity 2018.x, obsługiwana jest wersja 2018.4 lub nowsza.
  • Systemy Unity 2017.x i starsze nie są obsługiwane.

Reklamy natywne

Zainstaluj Play Core Native SDK w wersji 1.13.0 lub nowszej. Instrukcje znajdziesz w przewodniku konfiguracji środowiska programistycznego dla Play Core Native.

Skonfiguruj odpowiedzi interfejsu API (opcjonalnie)

Odpowiedź interfejsu API zawiera oceny domyślne zwracane w każdym żądaniu. Po skonfigurowaniu integracji Play Integrity API w Konsoli Play możesz dostosować odpowiedź interfejsu API.

Odpowiedzi domyślne

Te oceny integralności są domyślnie zwracane w odpowiedzi interfejsu Play Integrity API:

Pole odpowiedzi Wartość Opis
Integralność urządzenia MEETS_DEVICE_INTEGRITY Aplikacja działa na urządzeniu z Androidem z Usługami Google Play. Urządzenie przeszło testy integralności systemu i jest zgodne z Androidem.
Pusta (pusta wartość) Aplikacja działa na urządzeniu, na którym pojawiły się oznaki ataku (np. punkt zaczepienia w interfejsie API) lub naruszenia systemu (np. dostęp do roota), albo aplikacja nie działa na urządzeniu fizycznym (tylko np. na emulatorze, który nie przeszedł testów integralności Google Play).
Szczegóły konta LICENSED Użytkownik ma uprawnienia do korzystania z aplikacji, To znaczy, że zainstalował ją z Google Play lub kupił w Google Play. Użytkownik zachowuje uprawnienia do aplikacji po jej odinstalowaniu. Dlatego jeśli później uzyska tę samą aplikację w inny sposób, jego konto wciąż będzie objęte licencją.
UNLICENSED Użytkownik nie ma uprawnień do korzystania z aplikacji. Może się tak zdarzyć, jeśli np. zainstaluje ją z innego urządzenia lub nie pozyska jej z Google Play.
UNEVALUATED Szczegóły dotyczące licencji nie zostały określone, ponieważ pominięto wymaganie. Może się tak zdarzyć z kilku powodów, między innymi:
  • Urządzenie nie jest wystarczająco zaufane.
  • użytkownik nie jest zalogowany w Google Play,
  • Google Play nie rozpoznaje wersji aplikacji zainstalowanej na urządzeniu.
Integralność aplikacji PLAY_RECOGNIZED Aplikacja i certyfikat odpowiadają wersjom rozpowszechnianym w Google Play.
UNRECOGNIZED_VERSION Nazwa certyfikatu lub pakietu nie odpowiada rekordom Google Play.
UNEVALUATED Integralność aplikacji nie została określona. Pominięto niezbędny wymóg, np. urządzenie nie było wystarczająco godne zaufania.

Odpowiedzi warunkowe

Jeśli rozpowszechniasz treści w Grach Google Play na PC, automatycznie wybierzesz opcję otrzymania dodatkowej etykiety w ramach oceny integralności urządzenia:

Pole odpowiedzi Wytwórnia Opis
Integralność urządzenia MEETS_VIRTUAL_INTEGRITY Aplikacja działa w narzędziu Android Emulator z Usługami Google Play. Emulator przeszedł testy integralności systemu i spełnia podstawowe wymagania dotyczące zgodności dla urządzeń z Androidem.

Opcjonalne odpowiedzi

Jeśli skonfigurujesz integrację interfejsu Play Integrity API w Konsoli Play lub w Play SDK Console, możesz wyrazić zgodę na otrzymywanie informacji w odpowiedzi interfejsu API.

Aby wprowadzić zmiany w odpowiedziach interfejsu API, otwórz Konsolę Play i kliknij Wersja > Integralność aplikacji. W sekcji Odpowiedzi edytuj i zapisz zmiany.

Opcjonalne informacje o urządzeniu

Aplikacje i pakiety SDK mogą włączać dodatkowe etykiety urządzenia w ocenie integralności urządzenia. Gdy wyrazisz zgodę na otrzymywanie dodatkowych etykiet, odpowiedź dotycząca integralności będzie zawierać wiele etykiet dla tego samego urządzenia, jeśli zostaną spełnione wszystkie kryteria. Możesz przygotować serwer backendu tak, aby działał inaczej w zależności od zakresu możliwych odpowiedzi. Na przykład urządzenie, które zwraca 3 etykiety (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY i MEETS_BASIC_INTEGRITY), można uznać za bardziej zaufane niż urządzenie, które zwraca tylko jedną etykietę (MEETS_BASIC_INTEGRITY). Może też być brane pod uwagę ostatnie poziomy aktywności urządzenia, które mogą mieć zakres od LEVEL_1 (mała liczba żądań) do LEVEL_4 (duża liczba żądań). Na przykład urządzenie, które zwraca znacznie wyższy poziom aktywności niż typowe dla aplikacji, może wygenerować dużą liczbę tokenów integralności do dystrybucji na niezaufanych urządzeniach. Poziom UNEVALUATED wskazuje na potencjalne problemy z zabezpieczeniami lub problemy techniczne.

Pole odpowiedzi Wytwórnia Opis
Integralność urządzenia MEETS_BASIC_INTEGRITY Aplikacja działa na urządzeniu, które przeszło podstawowe testy integralności systemu. Urządzenie może być niezgodne z Androidem i mogło nie zostać zatwierdzone do uruchamiania Usług Google Play. Na przykład może korzystać z nierozpoznanej wersji Androida, mieć odblokowany program rozruchowy lub nie mieć certyfikatu producenta.
MEETS_STRONG_INTEGRITY Aplikacja działa na urządzeniu z Androidem z Usługami Google Play. Gwarancja integralności systemu jest wysoka – np. dzięki sprzętowemu potwierdzeniu integralności podczas uruchamiania. Urządzenie przeszło testy integralności systemu i jest zgodne z Androidem.
Ostatnia aktywność na urządzeniach (beta) Standardowe żądanie do interfejsu API Klasyczne żądanie do interfejsu API
LEVEL_1 (najniższa) W ciągu ostatniej godziny aplikacja zażądała maksymalnie 10 tokenów integralności na tym urządzeniu. W ciągu ostatniej godziny aplikacja zażądała maksymalnie 5 tokenów integralności na tym urządzeniu.
LEVEL_2 W ciągu ostatniej godziny aplikacja zażądała od 11 do 25 tokenów integralności na tym urządzeniu. W ciągu ostatniej godziny aplikacja zażądała od 6 do 15 tokenów integralności na tym urządzeniu.
LEVEL_3 W ciągu ostatniej godziny aplikacja zażądała od 26 do 50 tokenów integralności na tym urządzeniu. W ciągu ostatniej godziny aplikacja zażądała od 16 do 30 tokenów integralności na tym urządzeniu.
LEVEL_4 (najwyższa) W ciągu ostatniej godziny aplikacja zażądała ponad 50 tokenów integralności na tym urządzeniu. W ciągu ostatniej godziny aplikacja zażądała ponad 30 tokenów integralności na tym urządzeniu.
UNEVALUATED Ostatnia aktywność na urządzeniu nie została oceniona.

Może się tak zdarzyć z kilku powodów. Oto niektóre z nich:

  • Urządzenie nie jest wystarczająco zaufane.
  • Google Play nie rozpoznaje wersji aplikacji zainstalowanej na urządzeniu.
  • Problemy techniczne na urządzeniu.

Opcjonalne szczegóły środowiska

Aplikacje mogą wyrazić zgodę na otrzymywanie dodatkowych ocen dotyczących środowiska. Gdy wyrazisz zgodę na otrzymanie oceny Play Protect, odpowiedź interfejsu API będzie zawierała pole szczegółów środowiska.

Pole odpowiedzi Wartość Opis
Ocena Play Protect NO_ISSUES Funkcja Play Protect jest włączona, ale na urządzeniu nie wykryto żadnych problemów z aplikacją.
NO_DATA Funkcja Play Protect jest włączona, ale nie przeprowadzono jeszcze skanowania. Urządzenie lub aplikacja Sklep Play mogły zostać niedawno zresetowane.
POSSIBLE_RISK Funkcja Play Protect jest wyłączona.
MEDIUM_RISK Funkcja Play Protect jest włączona i znalazła potencjalnie szkodliwe aplikacje zainstalowane na urządzeniu.
HIGH_RISK Funkcja Play Protect jest włączona i wykryła, że na urządzeniu są zainstalowane niebezpieczne aplikacje.
UNEVALUATED Decyzja w sprawie Play Protect nie została rozpatrzona. Pominięto niezbędny wymóg, np. urządzenie nie było wystarczająco godne zaufania.

Skonfiguruj ustawienia żądań klasycznych (opcjonalnie)

Pomiń tę sekcję, jeśli zamierzasz wysyłać tylko standardowe żądania do interfejsu API.

Gdy wysyłasz żądania klasyczne, serwery Google Play domyślnie zarządzają szyfrowaniem odpowiedzi, którego aplikacja używa podczas interakcji z interfejsem Play Integrity API. Korzystanie z tej opcji domyślnej jest zalecane, ale możesz też zarządzać swoimi kluczami szyfrowania odpowiedzi i je pobierać, postępując zgodnie z poniższymi instrukcjami.

Pozwól Google zarządzać szyfrowaniem odpowiedzi (domyślne i zalecane)

Aby chronić bezpieczeństwo aplikacji, zalecamy zezwolenie Google na generowanie kluczy szyfrowania odpowiedzi i zarządzanie nimi. Aby odszyfrowywać odpowiedzi, Twój serwer backendu będzie łączyć się z serwerem Google Play.

Zarządzanie kluczami szyfrowania odpowiedzi i ich pobieranie

Jeśli chcesz odszyfrować ocenę integralności lokalnie w swoim bezpiecznym środowisku serwera, możesz zarządzać kluczami szyfrowania odpowiedzi i je pobierać. Aby móc pobierać klucze szyfrowania odpowiedzi i nimi zarządzać, musisz używać Konsoli Play, a aplikacja musi być dostępna zarówno w Google Play, jak i w innych kanałach dystrybucji. Postępuj zgodnie z poniższymi instrukcjami, aby przejść z kluczy zarządzanych przez Google na samodzielnie zarządzane klucze szyfrowania odpowiedzi.

Pamiętaj, aby nie odszyfrowywać ani zweryfikować otrzymanego tokena w aplikacji klienckiej. Nigdy nie ujawniaj też żadnych kluczy odszyfrowywania dla aplikacji klienckiej.

Zanim zmienisz strategię zarządzania szyfrowaniem odpowiedzi w Konsoli Play, upewnij się, że Twój serwer jest prawidłowo skonfigurowany do odszyfrowywania i weryfikowania tokenów integralności na serwerach Google Play, aby uniknąć przerw w ich działaniu.

Przełączanie się między kluczami szyfrowania odpowiedzi zarządzanymi przez Google i samodzielnie

Jeśli szyfrowaniem odpowiedzi zarządza obecnie Google, ale chcesz samodzielnie zarządzać kluczami szyfrowania odpowiedzi i je pobierać, wykonaj te czynności:

  1. Zaloguj się w Konsoli Play.
  2. Wybierz aplikację, która używa interfejsu Play Integrity API.
  3. W sekcji Wersja w menu po lewej stronie kliknij Integralność aplikacji.
  4. Obok Play Integrity API kliknij Ustawienia.
  5. W sekcji Klasyczne żądania obok opcji Szyfrowanie odpowiedzi kliknij Edytuj.
  6. W wyświetlonym oknie kliknij Zarządzaj kluczami szyfrowania odpowiedzi i pobierz je.
  7. Postępuj zgodnie z instrukcjami przesyłania klucza publicznego.
  8. Gdy wyświetli się komunikat, że przesyłanie się powiodło, kliknij Zapisz. Zaszyfrowane klucze zostaną automatycznie pobrane.
  9. Zmień logikę serwera, aby odszyfrowywać i weryfikować tokeny integralności lokalnie w Twoim bezpiecznym środowisku serwera przy użyciu kluczy szyfrowania odpowiedzi.
  10. (Opcjonalnie) Jeśli będziesz samodzielnie zarządzać kluczami szyfrowania odpowiedzi, Twoja aplikacja może nadal korzystać z serwera Google Play, aby odszyfrować i zweryfikować odpowiedź.

Jeśli samodzielnie zarządzasz kluczami szyfrowania odpowiedzi i chcesz, aby szyfrowanie odpowiedzi było zarządzane przez Google, wykonaj te czynności:

  1. Zmień logikę serwera tak, aby odszyfrowywać i weryfikować wyłącznie dane na serwerach Google.
  2. Zaloguj się w Konsoli Play.
  3. Wybierz aplikację, która używa interfejsu Play Integrity API.
  4. W sekcji Wersja w menu po lewej stronie kliknij Integralność aplikacji.
  5. Obok Play Integrity API kliknij Ustawienia.
  6. W sekcji Klasyczne żądania obok opcji Szyfrowanie odpowiedzi kliknij Edytuj.
  7. W wyświetlonym oknie kliknij Pozwól Google zarządzać moim szyfrowaniem odpowiedzi (zalecane).
  8. Kliknij Zapisz zmiany.