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.
Użyj Google Play SDK Console (zalecane)
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. Możesz teraz 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 :
- Połącz projekt Google Cloud, którego używasz na potrzeby interfejsu Play Integrity API w Konsoli Play.
- Sprawdź, czy poprawnie implementujesz logikę interfejsu API, w tym zalecana strategia ponawiania prób.
- 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żej. 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.
Rodzimy użytkownik
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:
|
|
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ż:
|
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 zainstalowane z Google Play lub wstępnie wczytane na urządzeniu to aplikacje, które mogą służyć do odczytywania lub zapisywania danych wejściowych i wyjściowych aplikacji, która wysłała żądanie (np. aplikacje do nagrywania ekranu). | |
KNOWN_CONTROLLING |
Aplikacje zainstalowane przez Google Play lub wstępnie wczytane na urządzeniu to uruchomione aplikacje, które mogą służyć do sterowania urządzeniem oraz wejściami i wyjściami aplikacji, która wysłała żądanie, (np. aplikacjami do zdalnego sterowania). | |
KNOWN_OVERLAYS |
Aplikacje zainstalowane z Google Play lub wstępnie załadowane na urządzeniu działają, które mogą wyświetlać nakładki na tych aplikacjach. | |
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:
|
|
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:
- Zaloguj się w Konsoli Play.
- Wybierz aplikację, która korzysta z interfejsu Play Integrity API.
- W menu po lewej stronie w sekcji Wersja kliknij Integralność aplikacji.
- Obok opcji Play Integrity API kliknij Ustawienia.
- W sekcji Klasyczne żądania obok pozycji Szyfrowanie odpowiedzi kliknij Edytuj.
- W wyświetlonym oknie kliknij Zarządzanie kluczami szyfrowania odpowiedzi i ich pobieranie
- Aby przesłać klucz publiczny, postępuj zgodnie z instrukcjami.
- Gdy pojawi się okno z informacją, że przesyłanie się powiodło, kliknij Zapisz. zaszyfrowane klucze zostaną pobrane automatycznie.
- Zmień logikę serwera, aby móc odszyfrowywać i weryfikować tokeny integralności lokalnie, w bezpiecznym środowisku serwera, używając odpowiedzi kluczy szyfrowania.
- (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ć:
- Zmień logikę serwera, aby odszyfrowywała i weryfikowała wyłącznie dane na urządzeniu Serwery Google.
- Zaloguj się w Konsoli Play.
- Wybierz aplikację, która korzysta z interfejsu Play Integrity API.
- W menu po lewej stronie w sekcji Wersja kliknij Integralność aplikacji.
- Obok opcji Play Integrity API kliknij Ustawienia.
- W sekcji Klasyczne żądania obok pozycji Szyfrowanie odpowiedzi kliknij Edytuj.
- W wyświetlonym oknie kliknij Pozwól Google zarządzać szyfrowaniem odpowiedzi (zalecane)
- Kliknij Zapisz zmiany.