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 następnie zintegrować ten interfejs API do aplikacji i serwera backendu aplikacji. Dodatkowe opcje konfiguracji, funkcje testowania, a raportowanie stanie się dostępne po połączeniu konta projektu, którego używasz na potrzeby interfejsu Play Integrity API, w Konsoli Google Play.

Włącz odpowiedzi interfejsu Play Integrity API

Każda aplikacja i każdy pakiet SDK wywołujący interfejs Play Integrity API musi korzystać z interfejsu Google Projekt Cloud do monitorowania wykorzystania interfejsu API. Aplikacje w Google Play mogą łączyć projekt Google Cloud w Konsoli Google Play, aby włączyć odpowiedzi interfejsu Play Integrity API. Jeśli chcesz do utworzenia nowego projektu Cloud lub aplikacja jest rozpowszechniana wyłącznie poza Google Play, możesz włączyć odpowiedzi interfejsu Play Integrity API w Google Cloud, Konsola.

Skonfiguruj w Konsoli Google Play (zalecane)

Włączając odpowiedzi interfejsu Play Integrity API w Google Play, konsoli, uzyskasz dostęp do dodatkowych a także opcje konfiguracji, funkcje testowania i raportowanie interfejsu API. Ta opcja jest dostępna tylko w aplikacjach rozpowszechnianych w Google Play. Nawiguj do Wersja > Integralność aplikacji. W sekcji Play Integrity API wybierz Połącz Projekt Cloud. Wybierz projekt Cloud, który chcesz połączyć z aplikacją. spowoduje włączenie odpowiedzi interfejsu Play Integrity API. Teraz możesz zintegrować Google Play Integrity API.

Skonfiguruj w Google Cloud Console

W konsoli Google Cloud utwórz nowe konto Projekt Cloud lub wybierz istniejący projekt Cloud, którego chcesz używać z Interfejs Play Integrity API. Otwórz Interfejsy API i usługi. Wybierz włączyć interfejsy API i usługi. Wyszukaj Play Integrity API i włącz go. Teraz możesz zintegrować interfejs Play Integrity API ze swoim .

Instrukcje konfiguracji dla dostawców pakietów SDK

Dostawcy pakietów SDK muszą używać własnego projektu Google Cloud, aby wywoływać Play Integrity API, dzięki czemu użycie interfejsu API jest przypisywane do pakietu SDK, a nie do poszczególnych aplikacji korzystających pakietu SDK. Oznacza to, że aplikacje korzystające z Twojego pakietu SDK nie muszą osobno ustawiać i testowanie interfejsu Play Integrity API. Automatyczne wysyłanie żądań do interfejsu Play Integrity API są uwzględniane w wykorzystaniu interfejsu API pakietu SDK, a nie w aplikacji.

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

Włączenie odpowiedzi interfejsu Play Integrity API w Konsoli Google Play SDK Console uzyskać dostęp do dodatkowych opcji konfiguracyjnych. Otwórz Integralność pakietu SDK. i kliknij Ustawienia. W sekcji Konfiguracja projektu wybierz Połącz z Cloud projekt. Wybierz projekt Cloud, który chcesz połączyć z pakietem SDK. Spowoduje to włączyć odpowiedzi interfejsu Play Integrity API. Teraz możesz zintegrować Play Integrity API do pakietu SDK. Pamiętaj, że dostęp do Google Play SDK Console zależy kryteria kwalifikacji.

Użyj konsoli Google Cloud

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

Zwiększ liczbę żądań wysyłanych przez pakiet SDK dziennie do interfejsu Play Integrity API

Dostawcy pakietów SDK, którzy chcą zwiększyć maksymalną dzienną liczbę żądań, powinni wykonać prośba o limit formularz. W otwórz sekcję komentarzy, wskaż, że wysyłasz żądanie SDK. i uwzględnij współrzędne Maven (groupId:artifactId) lub URL do pakietu SDK.

Zwiększ liczbę żądań dziennie do interfejsu Play Integrity API

Twoja aplikacja może otrzymywać maksymalnie 10 tys. żądań dziennie na aplikację. Możesz poprosić o zwiększenie tego limitu dziennego, jeśli aplikacja musi obsługiwać Aby zwiększyć liczbę użytkowników, postępuj zgodnie z poniższymi instrukcjami.

Zwiększ dzienną maksymalną liczbę żądań

Aby kwalifikować się do zwiększenia maksymalnej dziennej liczby żądań, aplikacja musi być dostępna w Google Play. kanałów. Nawet wtedy, gdy dzienny limit jest zwiększony, należy nadal ograniczać klasycznych żądań na użytkownika do rzadkich, wartościowe działania, aby oszczędzać dane użytkownika i baterię.

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

  1. Połącz projekt Google Cloud, którego używasz na potrzeby interfejsu Play Integrity API w Konsoli Play.
  2. Sprawdź, czy poprawnie implementujesz logikę interfejsu API, w tym zalecana strategia ponawiania prób.
  3. Poproś o zwiększenie limitu za pomocą tego formularz.

Zwiększenie limitu interfejsu Play Integrity API może potrwać nawet tydzień, dlatego zdecydowanie zalecamy monitorowanie użycia interfejsu Play Integrity API w Konsoli Google Play lub w konsoli Google Cloud. Możesz tam też określić limit alerty, , aby uniknąć przerw w dostępie do usługi.

Zwiększenie limitu żądań klasycznego zostanie automatycznie zastosowane do klienta wywołanie do wygenerowania tokenów integralności, a następnie wywołanie serwera w celu odszyfrowania i przeprowadzenia weryfikacji. tokeny integralności. Do serwera zostanie zastosowany standardowy limit żądań aby je odszyfrować i zweryfikować tokeny integralności.

Zintegruj interfejs Play Integrity API z aplikacją

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

Kotlin lub Java

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

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

Jedność

Zainstaluj wtyczkę Google Play Integrity dla: Unity 1.3.0 lub wyższe. Instrukcje znajdziesz w sekcji Instalowanie pakietów Google dla zjednoczenie.

  • Obsługiwane są wszystkie wersje 2019.x, 2020.x i nowsze.
  • Jeśli używasz Unity 2018.x, obsługiwana jest wersja 2018.4 lub nowsza.
  • Urządzenia Unity 2017.x i starsze nie są obsługiwane.

Reklamy natywne

Zainstaluj Play Core Native SDK w wersji 1.13.0 lub nowszej. Dla: instrukcji znajdziesz w konfiguracji środowiska programistycznego w Play Core Native. .

Skonfiguruj odpowiedzi interfejsu API (opcjonalnie)

Odpowiedź interfejsu API zawiera domyślne oceny zwracane w każdym żądaniu. Jeśli ustawisz integrację interfejsu Play Integrity API, możesz dostosować Odpowiedź interfejsu API.

Odpowiedzi domyślne

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

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 Play LICENSED Użytkownik ma uprawnienia do korzystania z aplikacji, To znaczy, że zainstalował ją z Google Play lub kupił w Google Play. Po odinstalowaniu aplikacji użytkownik zachowuje uprawnienia do aplikacji. Dlatego jeśli później uzyska tę samą aplikację w inny sposób, jego konto nadal 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 ocenione, ponieważ pominięto wymaganie. Może się tak zdarzyć z kilku powodów. Oto niektóre z nich:
  • 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 aplikację w Grach Google Play na PC, ma automatycznie włączoną opcję otrzymywania dodatkowej etykiety na urządzeniu ocena integralności:

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.

Odpowiedzi opcjonalne

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

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

Opcjonalne informacje o urządzeniu

Aplikacje i pakiety SDK mogą uwzględniać dodatkowe etykiety urządzeń w ramach integralności urządzenia wyroku. Gdy wyrazisz zgodę na otrzymywanie dodatkowych etykiet, odpowiedź dotycząca integralności zawiera wiele etykiet dla tego samego urządzenia, jeśli każde z kryteriów są spełnione. Możesz przygotować serwer backendu, aby działał różnie w zależności od z 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 zaufany bardziej niż urządzenie, które zwraca tylko jedną etykietę (MEETS_BASIC_INTEGRITY).

Możesz też włączyć wyświetlanie ostatniej aktywności na urządzeniu. Ostatnia aktywność urządzenia zwraca błąd poziom z zakresu od LEVEL_1 (mała liczba żądań) do LEVEL_4 (duża liczba żądań). Na przykład urządzenie, które zwraca znacznie poziom aktywności jest wyższy niż zwykle generować dużą liczbę tokenów integralności do rozpowszechniania wśród niezaufanych. urządzenia.

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. sprzętowy dowód integralności rozruchu. Urządzenie przeszło testy integralności systemu i jest zgodne z Androidem.
Ostatnia aktywność na urządzeniach Standardowe żądania tokena integralności interfejsu API wysyłane na to urządzenie w ciągu ostatniej godziny na aplikację Żądania tokena integralności klasycznej wersji interfejsu API wysyłane na to urządzenie w ciągu ostatniej godziny na aplikację
LEVEL_1 (najniższa) 10 lub mniej 5 lub mniej
LEVEL_2 Od 11 do 25 Od 6 do 10
LEVEL_3 Od 26 do 50 Od 11 do 15
LEVEL_4 (najwyższa) Ponad 50 Ponad 15
UNEVALUATED Nie oceniono ostatniej aktywności na urządzeniu. Może to spowodować Dzieje się, ponieważ:
  • Urządzenie nie jest wystarczająco zaufane.
  • Google nie rozpoznaje wersji Twojej aplikacji zainstalowanej na urządzeniu Graj.
  • Wystąpiły problemy techniczne na urządzeniu.

Opcjonalne szczegóły środowiska

Aplikacje mogą wyrazić zgodę na otrzymywanie dodatkowych ocen środowiska. Dostęp do aplikacji pozwala określić, czy uruchomione są inne aplikacje, które mogłyby przechwycić wyświetlać nakładki ani sterować urządzeniem. Powiadomienie Play Protect o tym informuje czy usługa Play Protect jest włączona na urządzeniu i czy wykryła złośliwe oprogramowanie.

Gdy wyrazisz zgodę na otrzymywanie tych ocen, odpowiedź interfejsu API dołącz pole szczegółów środowiska z oceną:

Pole odpowiedzi Wartość Opis
Ocena ryzyka dotyczącego dostępu do aplikacji KNOWN_INSTALLED Aplikacje są instalowane z Google Play lub wstępnie wczytywane na partycji systemowej przez producenta urządzenia.
KNOWN_CAPTURING Aplikacje są instalowane przez Google Play lub są wstępnie załadowane na urządzeniu, które mogą służyć do odczytywania lub zapisywania danych wejściowych i wyjściowych aplikacji, która wysłała żądanie, np. aplikacji do nagrywania ekranu.
KNOWN_CONTROLLING Aplikacje są instalowane z Google Play lub wstępnie wczytane na urządzeniu, które mogą być używane do sterowania urządzeniem oraz wejściami i wyjściami aplikacji żądającej dostępu, np. aplikacjami do zdalnego sterowania.
KNOWN_OVERLAYS Aplikacje instalowane z Google Play lub wstępnie wczytane na urządzeniu działają, które mogą wyświetlać nakładki na aplikację, która wysłała żądanie.
UNKNOWN_INSTALLED są zainstalowane inne aplikacje, które nie zostały zainstalowane przez Google Play lub wstępnie załadowane na partycję systemową przez producenta urządzenia.
UNKNOWN_CAPTURING Uruchomione są też inne aplikacje (niezainstalowane przez Google Play lub wstępnie załadowane na urządzeniu), które mogą służyć do odczytywania lub zapisywania danych wejściowych i wyjściowych żądającej aplikacji, np. aplikacje do nagrywania ekranu.
UNKNOWN_CONTROLLING Uruchomione są inne aplikacje (niezainstalowane przez Google Play lub wstępnie załadowane na urządzeniu), które mogą służyć do sterowania urządzeniem oraz wejściami i wyjściami aplikacji żądającej dostępu, np. aplikacjami do zdalnego sterowania.
UNKNOWN_OVERLAYS Uruchomione są też inne aplikacje (niezainstalowane z Google Play lub wstępnie wczytane na urządzeniu), które mogą wyświetlać nakładki w aplikacji, która wysłała żądanie.
EMPTY (pusta wartość) Ryzyko związane z dostępem do aplikacji nie jest oceniane, jeśli pominięto niezbędny wymóg. W w tym przypadku pole appAccessRiskVerdict jest puste. Może to dotyczyć: z kilku powodów, w tym:
  • Urządzenie nie jest wystarczająco zaufane.
  • Nie jest to telefon, tablet ani urządzenie składane.
  • Na urządzeniu nie jest zainstalowany Android 6 (poziom interfejsu API 23) lub nowszy.
  • Google Play nie rozpoznaje wersji aplikacji zainstalowanej na urządzeniu.
  • Wersja Sklepu Google Play na urządzeniu jest nieaktualna.
  • Tylko gry: konto użytkownika nie ma licencji Google Play na daną grę.
  • Zostało użyte żądanie standardowe z parametrem verdictOptOut.
  • Żądanie standardowe zostało użyte z wersją biblioteki Play Integrity API, która nie obsługuje jeszcze ryzyka dostępu do aplikacji w przypadku żądań standardowych.
Ocena Play Protect NO_ISSUES Usługa Play Protect jest włączona, ale nie znaleziono żadnych problemów z aplikacją na urządzeniu.
NO_DATA Usługa Play Protect jest włączona, ale nie przeprowadzono jeszcze skanowania. Być może urządzenie lub aplikacja Sklep Play zostały niedawno zresetowane.
POSSIBLE_RISK Funkcja Play Protect jest wyłączona.
MEDIUM_RISK Usługa Play Protect jest włączona i znajduje zainstalowane na urządzeniu potencjalnie szkodliwe aplikacje.
HIGH_RISK Usługa Play Protect została włączona i znalazła na urządzeniu zainstalowane niebezpieczne aplikacje.
UNEVALUATED Ocena Play Protect nie została sprawdzona. 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 planujesz utworzyć standardowy interfejs API .

Gdy wysyłasz żądania klasyczne, domyślnie serwery Google Play zarządzają szyfrowanie odpowiedzi używane przez aplikację podczas interakcji z Play Integrity; API. Zalecamy używanie tej domyślnej opcji, ale możesz też określić, zarządzać kluczami szyfrowania odpowiedzi i je pobierać, postępując zgodnie z instrukcjami poniżej.

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

Aby zapewnić bezpieczeństwo aplikacji, zalecamy zezwolenie Google na generowania kluczy szyfrowania odpowiedzi i zarządzania nimi. Serwer backendu wywoła wywołanie z serwera Google Play do odszyfrowywania odpowiedzi.

Zarządzanie kluczami szyfrowania odpowiedzi i ich pobieranie

Jeśli chcesz odszyfrować ocenę integralności lokalnie w swoich zabezpieczeniach możesz zarządzać kluczami szyfrowania odpowiedzi i je pobierać. Aby zarządzać kluczami szyfrowania odpowiedzi i je pobierać, musisz korzystać z Google Play a Twoja aplikacja musi być dostępna w Google Play (oprócz innych kanałów dystrybucji. Aby przejść z: Zarządzane przez Google klucze szyfrowania odpowiedzi zarządzane samodzielnie.

Pamiętaj, aby nie odszyfrowywać ani nie weryfikować tokena otrzymanego z klienta aplikacji i nigdy nie ujawniaj jej żadnych kluczy odszyfrowywania.

Zanim zmienisz strategię zarządzania szyfrowaniem odpowiedzi w Google Play Konsola, sprawdź, czy serwer jest prawidłowo skonfigurowany do odszyfrowywania i weryfikowania tokeny integralności na serwerach Google Play, aby uniknąć zakłóceń.

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

Jeśli Google zarządza obecnie szyfrowaniem odpowiedzi i chcesz przejść na samodzielnie pobierz klucze szyfrowania odpowiedzi i zarządzaj nimi, wykonaj te czynności:

  1. Zaloguj się w Konsoli Play.
  2. Wybierz aplikację, która korzysta z interfejsu Play Integrity API.
  3. W menu po lewej stronie w sekcji Wersja kliknij Integralność aplikacji.
  4. Obok opcji Play Integrity API kliknij Ustawienia.
  5. W sekcji Klasyczne żądania obok pozycji Szyfrowanie odpowiedzi kliknij Edytuj.
  6. W wyświetlonym oknie kliknij Zarządzanie kluczami szyfrowania odpowiedzi i ich pobieranie
  7. Aby przesłać klucz publiczny, postępuj zgodnie z instrukcjami.
  8. Gdy pojawi się okno z informacją, że przesyłanie się powiodło, kliknij Zapisz. zaszyfrowane klucze zostaną pobrane automatycznie.
  9. Zmień logikę serwera, aby móc odszyfrowywać i weryfikować tokeny integralności lokalnie, w bezpiecznym środowisku serwera, używając odpowiedzi kluczy szyfrowania.
  10. (Opcjonalnie) Gdy samodzielnie zarządzasz kluczami szyfrowania odpowiedzi, aplikacja może nadal korzystać z serwera Google Play, aby odszyfrować i zweryfikować odpowiedź.

Jeśli samodzielnie zarządzasz kluczami szyfrowania odpowiedzi i chcesz przejść na Google zarządza szyfrowaniem odpowiedzi. Aby to zrobić:

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