Konfiguracja

Na tej stronie 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ć go z aplikacją i serwerem backendu aplikacji. Dodatkowe opcje konfiguracji, funkcje testowania i raportowania staną się dostępne po połączeniu w Konsoli Google Play projektu Google Cloud, którego używasz w interfejsie Play Integrity API.

Włączanie odpowiedzi interfejsu Play Integrity API

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

Konfigurowanie w Konsoli Google Play (zalecane)

Włączając 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 kliknij Połącz projekt w chmurze. Wybierz projekt w chmurze, który chcesz połączyć z aplikacją. Umożliwi to uzyskiwanie odpowiedzi interfejsu Play Integrity API. Możesz teraz zintegrować interfejs Play Integrity API z aplikacją.

Konfigurowanie 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 Play Integrity API, a następnie włącz ten interfejs. Możesz teraz zintegrować interfejs Play Integrity API z aplikacją.

Instrukcje konfiguracji dla dostawców pakietów SDK

Dostawcy pakietów SDK muszą używać własnego projektu Google Cloud do wywoływania interfejsu Play Integrity API, aby wykorzystanie interfejsu API było przypisywane do pakietu SDK, a nie do poszczególnych aplikacji, które go używają. Oznacza to, że aplikacje korzystające z Twojego pakietu SDK nie muszą osobno konfigurować interfejsu Play Integrity API. Żądania wysyłane przez Ciebie do interfejsu Play Integrity API są automatycznie wliczane do wykorzystania interfejsu API przez pakiet SDK, a nie przez aplikację.

Deweloperzy SDK mają 2 opcje konfigurowania interfejsu Play Integrity API: Google Play SDK Console lub 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 projekt w chmurze. Wybierz projekt w chmurze, 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 z pakietem SDK. Pamiętaj, że dostęp do Google Play SDK Console podlega kryteriom kwalifikacji.

Korzystanie z konsoli Google Cloud

Odpowiedzi interfejsu Play Integrity API możesz włączyć w Google Cloud Console. 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 Play Integrity API, a następnie włącz ten interfejs. Możesz teraz zintegrować interfejs Play Integrity API z pakietem SDK.

Zwiększanie dziennej liczby żądań wysyłanych przez pakiet SDK do interfejsu Play Integrity API

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

Limity wykorzystania interfejsu Play Integrity API

Aplikacja może wysłać maksymalnie 10 tys. żądań dziennie. Jeśli Twoja aplikacja musi obsługiwać większą liczbę użytkowników, możesz poprosić o zwiększenie tego dziennego limitu, postępując zgodnie z instrukcjami poniżej.

Działanie Dzienny limit dla aplikacji Uwagi
Żądania tokenów 10 000 Wspólne dla żądań klasycznych i standardowych przygotowań tokenów
odszyfrowywanie tokenów na serwerach Google, 10 000 Wspólne dla żądań klasycznych i standardowych

Zwiększanie maksymalnej dziennej liczby żądań

Aby kwalifikować się do zwiększenia maksymalnej dziennej liczby żądań, aplikacja musi być dostępna w Google Play i ewentualnie w innych kanałach dystrybucji. Nawet po zwiększeniu dziennego limitu maksymalnego nadal ograniczaj liczbę klasycznych żądań na użytkownika do rzadkich, wartościowych działań, aby chronić dane użytkownika i baterię.

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

  1. Połącz w Konsoli Play projekt Google Cloud, którego używasz w interfejsie Play Integrity API.
  2. Upewnij się, że prawidłowo wdrażasz logikę interfejsu API, w tym zalecaną strategię ponawiania.
  3. Poproś o zwiększenie limitu za pomocą tego formularza.

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

Zwiększenie limitu jest automatycznie stosowane zarówno w przypadku wywołania klienta w celu wygenerowania tokenów integralności, jak i wywołania serwera w celu odszyfrowania i zweryfikowania tokenów integralności.

Integrowanie interfejsu 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 dla interfejsu Play Integrity API jest dostępna w repozytorium Google Maven. Dodaj do pliku build.gradle aplikacji tę zależność:

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

Unity

W sekcjach poniżej znajdziesz informacje o tym, jak zintegrować i skonfigurować interfejs Google Play Integrity API w projektach Unity. Obejmują one obsługiwane wersje Unity, metody instalacji i konfigurację środowiska.

Obsługiwane wersje Unity

  • Obsługiwane są wszystkie wersje 2019.x, 2020.x i nowsze.
  • Jeśli korzystasz z Unity 2018.x, obsługiwane są wersje 2018.4 i nowsze.
  • Gry z silnikiem Unity 2017.x i starszym nie są obsługiwane.

Konfigurowanie środowiska programistycznego

OpenUPM-CLI

Jeśli masz zainstalowany interfejs wiersza poleceń OpenUPM, możesz zainstalować rejestr OpenUPM za pomocą tego polecenia:

openupm add com.google.play.integrity

OpenUPM

  1. Otwórz ustawienia menedżera pakietów, wybierając w menu Unity opcję Edit > Project Settings > Package Manager.

  2. Dodaj OpenUPM jako rejestr o określonym zakresie w oknie Package Manager:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.integrity
    
  3. Otwórz menu menedżera pakietów, wybierając opcję menu Unity Window > Package Manager (Okno > Menedżer pakietów).

  4. W menu Zakres menedżera wybierz Moje rejestry.

  5. Wybierz pakiet Google Play Integrity plugin for Unity z listy pakietów i kliknij Install (Zainstaluj).

Importowanie z GitHuba

  1. Pobierz najnowszą .unitypackage wersję z GitHuba.

  2. Zaimportuj plik .unitypackage, wybierając w menu Unity opcję Assets > Import package > Custom Package (Zasoby > Importuj pakiet > Własny pakiet) i importując wszystkie elementy.

Unreal Engine

W kolejnych sekcjach opisujemy, jak zintegrować i skonfigurować interfejs Google Play Integrity API w projektach Unreal Engine.

Obsługiwane wersje Unreal Engine

Wtyczka obsługuje Unreal Engine 5.0 i wszystkie kolejne wersje.

Konfigurowanie środowiska programistycznego

  1. Pobierz wtyczkę Play Unreal Engine Plugin z repozytorium GitHub.

  2. Skopiuj folder GooglePlay w folderze Plugins w projekcie Unreal Engine.

  3. Otwórz projekt Unreal Engine i kliknij Edit → Plugins (Edytuj → Wtyczki).

  4. Wyszukaj Google Play i zaznacz pole wyboru Włączone.

  5. Uruchom ponownie projekt gry i aktywuj kompilację.

  6. Otwórz plik Build.cs projektu i dodaj moduł PlayIntegrity do PublicDependencyModuleNames:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayIntegrity");
    
        // ...
      }
    }
    

Rodzimy użytkownik

Zainstaluj pakiet SDK podstawowej biblioteki Play do aplikacji natywnych w wersji 1.13.0 lub nowszej. Instrukcje znajdziesz w przewodniku konfiguracji środowiska programistycznego usługi Play Core Native.

Konfigurowanie odpowiedzi interfejsu API (opcjonalnie)

Odpowiedź interfejsu API zawiera domyślne wyniki zwracane w każdym żądaniu. Jeśli skonfigurujesz integrację z interfejsem Play Integrity API w Konsoli Play, możesz dostosować odpowiedź interfejsu API.

Domyślne odpowiedzi

W odpowiedzi interfejsu Play Integrity API domyślnie zwracane są te oceny integralności:

Pole odpowiedzi Wartość Opis
Integralność urządzenia MEETS_DEVICE_INTEGRITY Aplikacja działa na oryginalnym urządzeniu z Androidem z certyfikatem Play Protect. W przypadku Androida 13 i nowszych wersji istnieje sprzętowe potwierdzenie, że program rozruchowy urządzenia jest zablokowany, a załadowany system operacyjny Android to certyfikowany obraz producenta urządzenia.
Puste (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 zaktualizował na swoim urządzeniu.
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. 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

W przypadku rozpowszechniania treści w Grach Google Play na PC automatycznie włączona jest opcja otrzymywania dodatkowej etykiety w wyniku weryfikacji integralności urządzenia:

Pole odpowiedzi Etykieta 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 w Google Play SDK Console, możesz włączyć 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 i przywracanie urządzenia

Aplikacje i pakiety SDK mogą wyrazić zgodę na otrzymywanie dodatkowych etykiet urządzenia w odpowiedzi dotyczącej 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 uzależnić działanie serwera backendu od wielu różnych odpowiedzi. Na przykład urządzenie, które zwraca 3 etykiety (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITYMEETS_BASIC_INTEGRITY), można uznać za bardziej zaufane niż urządzenie, które zwraca tylko 1 etykietę (MEETS_BASIC_INTEGRITY).

Możesz wyrazić zgodę na otrzymywanie atrybutów urządzenia, które informują o wersji pakietu Android SDK systemu Android działającego na urządzeniu. W przyszłości może zostać rozszerzona o inne atrybuty urządzenia.

Możesz włączyć ostatnią aktywność na urządzeniach. Ostatnia aktywność na urządzeniach zwraca poziom w zakresie od LEVEL_1 (niewielka liczba żądań) do LEVEL_4 (duża liczba żądań). Na przykład urządzenie, które zwraca znacznie wyższy poziom aktywności niż typowy dla Twojej aplikacji, może próbować wygenerować dużą liczbę tokenów integralności w celu rozpowszechnienia ich na niezaufanych urządzeniach.

Aplikacje mogą też wziąć udział w wycofaniu urządzenia. Przywracanie urządzenia umożliwia przechowywanie na określonych urządzeniach niestandardowych danych dotyczących poszczególnych urządzeń, które można niezawodnie odzyskać, gdy aplikacja zostanie później ponownie zainstalowana na tym samym urządzeniu.

Gdy wyrazisz zgodę na przekazywanie opcjonalnych informacji o urządzeniu i wycofanie urządzenia, w odpowiedzi interfejsu API pojawią się nowe pola integralności urządzenia i odpowiedzi w ocenie:

Pole odpowiedzi Etykieta Opis
Integralność urządzenia MEETS_BASIC_INTEGRITY Aplikacja działa na urządzeniu, które przeszło podstawowe testy integralności systemu. Program rozruchowy urządzenia może być zablokowany lub odblokowany, a stan uruchamiania może być zweryfikowany lub niezweryfikowany. Urządzenie może nie mieć certyfikatu Play Protect, w którym to przypadku Google nie może zapewnić bezpieczeństwa, prywatności ani zgodności aplikacji. W przypadku Androida 13 i nowszych wersji MEETS_BASIC_INTEGRITY wymaga, aby główny element zaufania atestu był dostarczany przez Google.
MEETS_STRONG_INTEGRITY Aplikacja działa na oryginalnym urządzeniu z Androidem z certyfikatem Play Protect, które ma najnowszą aktualizację zabezpieczeń.
  • W przypadku Androida 13 i nowszych wersji ocena MEETS_STRONG_INTEGRITY wymaga MEETS_DEVICE_INTEGRITYi aktualizacji zabezpieczeń w ciągu ostatniego roku dla wszystkich partycji urządzenia, w tym poprawki partycji systemu operacyjnego Android i poprawki partycji dostawcy.
  • W przypadku Androida 12 i starszych wersji ocena MEETS_STRONG_INTEGRITY wymaga tylko dowodu integralności rozruchu wspieranego sprzętowo i nie wymaga, aby urządzenie miało najnowszą aktualizację zabezpieczeń. Dlatego podczas korzystania z MEETS_STRONG_INTEGRITY zalecamy uwzględnianie wersji pakietu Android SDK w polu deviceAttributes.
Atrybuty urządzenia sdkVersion: 19, 20, ..., 36 Wersja pakietu SDK systemu operacyjnego Android działającego na urządzeniu. Zwrócona liczba odpowiada wartości Build.VERSION_CODES.
Puste (pusta wartość) Wersja pakietu SDK nie została określona, ponieważ pominięto niezbędny wymóg. W takim przypadku pole sdkVersion nie jest ustawione, więc pole deviceAttributes jest puste. Może się tak zdarzyć, ponieważ:
  • Urządzenie nie jest wystarczająco zaufane.
  • Na urządzeniu wystąpiły problemy techniczne.
Standardowe żądania tokena integralności interfejsu API na tym urządzeniu w ciągu ostatniej godziny na aplikację Żądania tokena integralności klasycznego interfejsu API na tym urządzeniu w ciągu ostatniej godziny na aplikację
Ostatnia aktywność na urządzeniu LEVEL_1 (najniższa) 10 lub mniej 5 lub mniej
LEVEL_2 Od 11 do 25 Od 6 do 10
LEVEL_3 26–50 Od 11 do 15
LEVEL_4 (najwyższy) Ponad 50 Ponad 15
UNEVALUATED Ostatnia aktywność na urządzeniach nie została oceniona. Może się tak zdarzyć, ponieważ:
  • Urządzenie nie jest wystarczająco zaufane.
  • Google Play nie rozpoznaje wersji aplikacji zainstalowanej na urządzeniu.
  • Na urządzeniu wystąpiły problemy techniczne.
Zapamiętanie urządzenia values: bitFirst, bitSecond, bitThird Są to wartości bitów, które zostały ustawione w przeszłości dla konkretnego urządzenia. To Ty decydujesz o znaczeniu każdego bitu. Domyślnie 3 wartości bitowe są fałszywe.
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird Są to daty zapisu wartości bitowych w czasie UTC z dokładnością do roku i miesiąca. Data zapisu bitu wycofania jest aktualizowana za każdym razem, gdy bit jest ustawiony na wartość „true”, i usuwana, gdy bit jest ustawiony na wartość „false”.

Opcjonalne szczegóły środowiska

Aplikacje mogą włączyć otrzymywanie dodatkowych ocen środowiska. Ryzyko dotyczące dostępu do aplikacji informuje, czy uruchomione są inne aplikacje, które mogą przechwytywać ekran, wyświetlać nakładki lub sterować urządzeniem. Ocena Play Protect informuje, czy usługa Play Protect jest włączona na urządzeniu i czy wykryła znane złośliwe oprogramowanie.

Gdy wyrazisz zgodę na otrzymywanie tych ocen, w odpowiedzi interfejsu API pojawi się pole szczegółów środowiska z oceną:

Pole odpowiedzi Wartość Opis
Ocena ryzyka dotyczącego dostępu do aplikacji KNOWN_INSTALLED Aplikacje są instalowane przez Google Play lub wstępnie wczytywane na partycję systemową przez producenta urządzenia.
KNOWN_CAPTURING Aplikacje zainstalowane przez Google Play lub wstępnie załadowane na urządzeniu są uruchomione i mogą być używane do odczytywania lub przechwytywania danych wejściowych i wyjściowych aplikacji wysyłającej żądanie, np. aplikacji do nagrywania ekranu.
KNOWN_CONTROLLING Aplikacje zainstalowane przez Google Play lub wstępnie załadowane na urządzeniu są uruchomione i mogą być używane do sterowania urządzeniem oraz danymi wejściowymi i wyjściowymi aplikacji wysyłającej żądanie, np. aplikacje do zdalnego sterowania.
KNOWN_OVERLAYS Aplikacje zainstalowane przez Google Play lub wstępnie załadowane na urządzenie są uruchomione i mogą wyświetlać nakładki na aplikację, która wysyła żądanie.
UNKNOWN_INSTALLED zainstalowane są inne aplikacje, które nie zostały zainstalowane przez Google Play ani wczytane wstępnie na partycję systemową przez producenta urządzenia.
UNKNOWN_CAPTURING Uruchomione są inne aplikacje (niezainstalowane przez Google Play ani niezaładowane wstępnie na urządzeniu), które mogą być używane do odczytywania lub przechwytywania danych wejściowych i wyjściowych aplikacji wysyłającej żądanie, np. aplikacje do nagrywania ekranu.
UNKNOWN_CONTROLLING Uruchomione są inne aplikacje (niezainstalowane przez Google Play ani niezaładowane wstępnie na urządzeniu), które mogą służyć do sterowania urządzeniem oraz danymi wejściowymi i wyjściowymi aplikacji wysyłającej żądanie, np. aplikacje do zdalnego sterowania.
UNKNOWN_OVERLAYS Uruchomione są inne aplikacje (niezainstalowane przez Google Play ani niezaładowane wstępnie na urządzeniu), które mogą wyświetlać nakładki na aplikację wysyłającą żądanie.
Puste (pusta wartość) Ryzyko dotyczące dostępu do aplikacji nie jest oceniane, jeśli pominięto niezbędny wymóg. W takim przypadku pole appAccessRiskVerdict jest puste. Może się tak zdarzyć z kilku powodów. Oto niektóre z nich:
  • Urządzenie nie jest wystarczająco zaufane.
  • Urządzenie nie jest telefonem, tabletem ani urządzeniem składanym.
  • Urządzenie nie ma Androida 6 (poziom API 23) lub nowszego.
  • 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 na grę w Google Play.
  • Użyto standardowego żądania z parametrem verdictOptOut.
  • Użyto żądania standardowego z wersją biblioteki interfejsu Play Integrity API, która nie obsługuje jeszcze ryzyka dotyczącego dostępu do aplikacji w przypadku żądań standardowych.
Ocena Play Protect NO_ISSUES Usługa Play Protect jest włączona i nie wykryła na urządzeniu żadnych problemów z aplikacjami.
NO_DATA Ochrona Play Protect jest włączona, ale skanowanie nie zostało jeszcze przeprowadzone. Urządzenie lub aplikacja Sklep Play mogły zostać niedawno zresetowane.
POSSIBLE_RISK Ochrona Play Protect jest wyłączona.
MEDIUM_RISK Usługa Play Protect jest włączona i wykryła na urządzeniu potencjalnie szkodliwe aplikacje.
HIGH_RISK Usługa Play Protect jest włączona i wykryła na urządzeniu niebezpieczne aplikacje.
UNEVALUATED Opinia Play Protect nie została sprawdzona. Pominięto niezbędny wymóg, np. urządzenie nie było wystarczająco godne zaufania.

Konfigurowanie ustawień żądań klasycznych (opcjonalnie)

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

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

Chcę, aby moje klucze szyfrowania odpowiedzi były zarządzane przez Google (domyślne i zalecane)

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

Chcę samodzielnie pobierać klucze szyfrowania odpowiedzi i nimi zarządzać

Jeśli chcesz odszyfrować wynik weryfikacji integralności lokalnie w swoim bezpiecznym środowisku serwerowym, możesz zarządzać kluczami szyfrowania odpowiedzi i je pobierać. Aby zarządzać kluczami szyfrowania odpowiedzi i je pobierać, musisz używać Konsoli Play, a Twoja aplikacja musi być dostępna w Google Play i ewentualnie w innych kanałach dystrybucji. Aby przełączyć się z kluczy szyfrowania odpowiedzi zarządzanych przez Google na klucze zarządzane samodzielnie, wykonaj te czynności.

Pamiętaj, aby nie odszyfrowywać ani nie weryfikować otrzymanego tokena w aplikacji klienckiej i nigdy nie udostępniać kluczy odszyfrowywania aplikacji klienckiej.

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

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

Jeśli obecnie Google zarządza szyfrowaniem Twoich odpowiedzi, a Ty 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 korzysta z interfejsu Play Integrity API.
  3. W sekcji Wersja w menu po lewej stronie kliknij Integralność aplikacji.
  4. Obok opcji Play Integrity API kliknij Ustawienia.
  5. W sekcji Żądania klasyczne na stronie obok opcji Szyfrowanie odpowiedzi kliknij Edytuj.
  6. W wyświetlonym oknie kliknij Chcę samodzielnie pobierać klucze szyfrowania odpowiedzi i nimi zarządzać.
  7. Postępuj zgodnie z instrukcjami, aby przesłać klucz publiczny.
  8. Gdy w oknie pojawi się informacja o udanym przesłaniu, kliknij Zapisz, a zaszyfrowane klucze zostaną pobrane automatycznie.
  9. Zmień logikę serwera, aby odszyfrowywać i weryfikować tokeny integralności lokalnie, we własnym bezpiecznym środowisku serwera, za pomocą kluczy szyfrowania odpowiedzi.
  10. (Opcjonalnie) Jeśli samodzielnie zarządzasz kluczami szyfrowania odpowiedzi, Twoja aplikacja może nadal korzystać z serwera Google Play do odszyfrowywania i weryfikowania odpowiedzi.

Jeśli samodzielnie zarządzasz kluczami szyfrowania odpowiedzi i chcesz, aby Google zarządzało szyfrowaniem odpowiedzi, wykonaj te czynności:

  1. Zmień logikę serwera tak, aby odszyfrowywanie i weryfikacja odbywały się wyłącznie na serwerach Google.
  2. Zaloguj się w Konsoli Play.
  3. Wybierz aplikację, która korzysta z interfejsu Play Integrity API.
  4. W sekcji Wersja w menu po lewej stronie kliknij Integralność aplikacji.
  5. Obok opcji Play Integrity API kliknij Ustawienia.
  6. W sekcji Żądania klasyczne na stronie obok opcji Szyfrowanie odpowiedzi kliknij Edytuj.
  7. W wyświetlonym oknie kliknij Chcę, aby moje klucze szyfrowania odpowiedzi były zarządzane przez Google (zalecane).
  8. Kliknij Zapisz zmiany.