Pomocí rozhraní Play Integrity API můžete chránit své aplikace a hry před rizikovými interakcemi. Pokud takovéto interakce rozpoznáte, bude vaše aplikace moci náležitě reagovat a snížit riziko útoků a zneužití.
Jak to funguje
Rozhraní Integrity API sjednocuje funkce služby Google Play pro ochranu před zneužitím se sbírkou signálů ohledně integrity a pomáhá tak vývojářům aplikací a her pro Android odhalit potenciálně rizikový a podvodný provoz. Tento provoz může pocházet z upravených verzí aplikace nebo hry, z nedůvěryhodných zařízení nebo z jiných nedůvěryhodných prostředí. Pokud tento provoz odhalíte, můžete reagovat přijetím náležitých opatření ke snížení množství útoků a zneužití, jako jsou podvody a neoprávněný přístup.
Když uživatel provede akci definovanou v aplikaci nebo hře, váš server dá kódu na straně klienta pokyn k zavolání rozhraní Integrity API. Server Google Play vrátí zašifrovanou odpověď s verdiktem o integritě, zda tomuto zařízení a jeho binárnímu kódu můžete důvěřovat. Vaše aplikace pak tuto odpověď předá vašemu serveru k ověření. Váš server může rozhodnout, co má aplikace nebo hra udělat.
Rozhraní API poskytuje verdikt o integritě v odpovědi, která obsahuje následující informace:
- Originální binární kód aplikace: Zjistěte, zda interagujete s neupraveným binárním kódem, jak ho zná Google Play.
- Originální instalace ze služby Play: Zjistěte, zda je aktuální uživatelský účet licencován, což znamená, že uživatel aplikaci nebo hru získal instalací nebo platbou na Google Play.
- Originální zařízení Android: Určete, zda aplikace běží na originálním zařízení Android se Službami Google Play (nebo v originální instanci Her Google Play na počítači).
Tipy:
- Stav rozhraní Play Integrity API a dalších služeb Play můžete sledovat pomocí panelu stavu Google Play.
- Největší hodnotu vaší aplikaci rozhraní Integrity API přinese, když se budete řídit doporučenými postupy v dokumentaci na webu Android Developers.
Nastavení a správa rozhraní Play Integrity API
Aktivace rozhraní Integrity API pro aplikaci
Pokud u aplikace chcete aktivovat odpovědi rozhraní Integrity API, je třeba v Play Console nastavit propojení s projektem Google Cloud. Postup propojení projektu:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Vyberte možnost Připojení existujícího projektu a projekt, se kterým aplikaci chcete propojit.
- Klikněte na Připojit cloudový projekt.
Pokud do aplikace chcete integrovat rozhraní Integrity API, je třeba provést následující kroky:
- U aplikací v Javě/Kotlinu si z repozitáře Maven společnosti Google nainstalujte nejnovější dostupnou knihovnu Android pro rozhraní Play Integrity API.
- V případě her pro Unity si nainstalujte nejnovější vydání pluginů Google Play pro Unity. Jsou podporovány všechny verze 2019.x, 2020.x a novější. Pokud používáte Unity 2018.x, nainstalujte 2018.4 nebo novější. Pokud používáte Unity 2017.x, nainstalujte 2017.4.40 nebo novější. Unity 5.x a starší nejsou podporovány.
- U nativních aplikací a her nainstalujte nejnovější sadu Play Core Native SDK.
Nyní ve své aplikaci nebo hře můžete rozhraní Play Integrity API začít používat podle těchto pokynů na webu Android Developers.
(Volitelné) Přizpůsobení odpovědí rozhraní Integrity API
Ve výchozím nastavení jsou nakonfigurovány následující odpovědi rozhraní API:
Odpověď rozhraní API | Štítek | Popis |
Integrita zařízení | MEETS_DEVICE_INTEGRITY |
Aplikace běží na zařízení Android využívajícím služby Google Play. Zařízení úspěšně prošlo kontrolami integrity systému a splňuje požadavky na kompatibilitu se systémem Android. |
Bez štítků (prázdná hodnota) |
Aplikace běží na zařízení, které vykazuje známky napadení (například hákování rozhraní API) nebo prolomení systému (například rootování), nebo neběží na fyzickém zařízení (běží například v emulátoru, který neprošel kontrolami integrity služby Google Play) |
|
Údaje o účtu | LICENSED |
Uživatel má na aplikaci nárok. Jinými slovy, uživatel si aplikaci nainstaloval nebo zakoupil na Google Play. Nárok na aplikaci uživateli zůstane i po odinstalovaní. Pokud tedy uživatel stejnou aplikaci později získá jinou cestou, daný uživatelský účet bude stále licencován. |
UNLICENSED |
Uživatel na aplikaci nemá nárok. Uživatel aplikaci například mohl nainstalovat z neznámého zdroje nebo ji nezískal z Google Play. |
|
UNEVALUATED |
Podrobnosti o licencování nebyly vyhodnoceny, protože nebyl splněn nezbytný požadavek. Může to mít několik důvodů, například tyto:
|
|
Integrita aplikace | PLAY_RECOGNIZED |
Aplikace a certifikát odpovídají verzím distribuovaným na Google Play. |
UNRECOGNIZED_VERSION |
Certifikát nebo název balíčku neodpovídá záznamům služby Google Play. |
|
UNEVALUATED |
Integrita aplikace nebyla vyhodnocena. Nebyl splněn nezbytný požadavek – zařízení například nebylo dostatečně důvěryhodné. |
Můžete se také přihlásit k odběru následujících odpovědí rozhraní API:
Odpověď rozhraní API | Štítek | Popis |
Integrita zařízení | MEETS_BASIC_INTEGRITY |
Aplikace běží na zařízení, které splňuje základní kontrolu integrity systému. Zařízení nemusí splňovat požadavky na kompatibilitu se systémem Android a nemusí být schváleno k používání služeb Google Play. Zařízení například může používat nepodporovanou verzi systému Android, může mít odemknutý bootloader nebo nemusí být certifikováno výrobcem. |
MEETS_STRONG_INTEGRITY |
Aplikace běží na zařízení Android, ve kterém jsou k dispozici služby Google Play a které má vysokou záruku integrity systému, například hardwarový repozitář klíčů. Zařízení úspěšně prošlo kontrolami integrity systému a splňuje požadavky na kompatibilitu se systémem Android. |
Když se přihlásíte k odběru dalších štítků, bude odpověď s informacemi o integritě pro konkrétní zařízení obsahovat všechny štítky, jejichž kritéria zařízení splňuje. Svůj backendový server můžete připravit tak, aby se v závislosti na rozsahu možných odpovědí choval různě. Například zařízení, které vrátí štítky MEETS_BASIC_INTEGRITY
, MEETS_DEVICE_INTEGRITY
a MEETS_STRONG_INTEGRITY
, byste mohli důvěřovat více než zařízení, které vrátí pouze štítek MEETS_BASIC_INTEGRITY
, a odpovědi serveru byste podle toho mohli přizpůsobit.
Pokud aplikaci distribuujete do Her Google Play na počítači, budete automaticky přihlášeni k odběru následující odpovědi rozhraní API:
Můžete se také přihlásit k odběru následujících odpovědí rozhraní API:
Odpověď rozhraní API | Štítek | Popis |
Integrita zařízení | MEETS_VIRTUAL_INTEGRITY |
Aplikace běží v emulátoru systému Android se službami Google Play. Emulátor prošel kontrolami integrity systému a splňuje základní požadavky na kompatibilitu se systémem Android. |
Úprava odpovědí rozhraní API:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Klikněte na Nastavení.
- Přejděte dolů k sekci Oznámení.
- Klikněte na Upravit.
- Zaškrtněte nebo zrušte zaškrtnutí políček vedle odpovědí rozhraní API, které chcete změnit.
- Klikněte na Uložit změny.
Důležité: Změny odpovědí rozhraní API se projeví okamžitě po uložení, včetně případů, kdy je aplikace v produkci. Před změnou sady odpovědí rozhraní API v Play Console zajistěte, aby byl váš server připraven nové odpovědi přijmout.
(Volitelné) Konfigurace nastavení klasických požadavků
Ve výchozím nastavení u klasických požadavků spravuje šifrování odpovědí Google. Pokud chcete, můžete však šifrování odpovědí spravovat sami.
Důležité: Přepnutí šifrováním odpovědí spravovaným společností Google a šifrováním odpovědí spravovaným vývojářem vyžaduje změny kódu na backendovém serveru.
Jak šifrování odpovědí chcete spravovat sami:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Klikněte na Nastavení.
- Přejděte do sekce Play Integrity API. Vedle položky Šifrování odpovědí bude ve výchozím nastavení uveden stav „Spravováno Googlem“. Klikněte na Změnit.
- Vyberte možnost Spravovat a stáhnout šifrovací klíče pro odpovědí a klikněte na Uložit změny. Google vygeneruje šifrovací klíče pro odpovědi a vy si je stáhnete a budete je spravovat. Logiku svého backendového serveru musíte aktualizovat tak, aby odpovědi dešifroval pomocí těchto klíčů.
- Podle pokynů na obrazovce vygenerujte soubor .pem a nahrajte soubor .pem ke stažení klíčů rozhraní API.
- Na obrazovce se zobrazí potvrzení, že správa šifrování odpovědí byla aktualizována.
- Stáhněte si nové klíče pro šifrování odpovědí a aktualizujte backendový server tak, aby pomocí nich v produkční verzi dešifroval odpovědi. Vraťte se na kartu Integrity API na stránce Integrita aplikace a zapněte ve službě Google Play používání nových klíčů pro šifrování odpovědí namísto těch starých. Tato změna se projeví okamžitě.
Pokud se od klíčů, které spravujete sami, chcete vrátit ke klíčům spravovaným Googlem:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Klikněte na Nastavení.
- Přejděte do sekce Play Integrity API. Vedle položky Šifrování odpovědí bude uveden stav Spravováno vývojářem, protože jste ji v minulosti změnili. Klikněte na Změnit.
- Vyberte „Nechat šifrování odpovědí spravovat Google (doporučeno)“ a klikněte na Uložit změny. Šifrovací klíče bude generovat a spravovat Google. Váš backendový server bude k dešifrování odpovědí volat server služby Google Play.
Testování integrace rozhraní Play Integrity API
Můžete nastavit seznam účtů Gmail, pomocí kterých integraci rozhraní Integrity API otestujete. Nejdříve zkontrolujte, jestli mají testeři k vydání přístup:
- Publikujte aplikaci v kanálu interního testování nebo v kanálu, ve kterém testování chcete provádět. Poté postupujte podle pokynů pro správu testerů pomocí e‑mailových adres nebo pomocí Skupin Google, aby testeři k vydání měli přístup.
Postup nastavení testu:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Klikněte na Nastavení.
- Přejděte dolů do sekce Testování.
- Klikněte na Vytvořit nový test.
- Vyberte seznam e‑mailů nebo vytvořte nový.
- Klikněte na Vytvořit test.
Zvýšení denního limitu počtu požadavků na rozhraní Play Integrity API
Ve výchozím nastavení mohou aplikace do rozhraní Integrity API odesílat až 10 000 požadavků denně.
Pokud chcete zjistit, kolik požadavků aplikace denně odesílá, postupujte takto:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Prohlédněte si počet požadavků za den. Kliknutím na Zobrazit přehled rozhraní Integrity API můžete zobrazit další údaje, změnit časové období a použít filtry.
Postup zobrazení denního limitu počtu požadavků aplikace:
- Otevřete Play Console a přejděte na stránku Integrita aplikace (Vydání > Integrita aplikace).
- Přejděte do sekce Play Integrity API.
- Klikněte na Nastavení.
- Zobrazte úroveň využití.
Můžete požádat o možnost odesílat více než 10 000 požadavků denně. Podmínky:
- Musíte doložit, že máte správně implementovanou logiku rozhraní API, včetně opakovaných pokusů.
- Kromě jiných distribučních kanálů musíte aplikaci publikovat také na Google Play.
Pokud chcete požádat o zvýšení denního limitu počtu požadavků, vyplňte tento formulář.