Du kan använda Play Integrity API för att skydda dina appar och spel från skadliga interaktioner. Genom att identifiera dessa interaktioner kan appen svara på bästa sätt för att minska risken för angrepp och otillåten användning.
Så fungerar det
Integrity API kombinerar Google Play-funktioner mot otillåten användning med en samling integritetssignaler. Med hjälp av detta kan app- och spelutvecklare i Android identifiera potentiellt skadlig och bedräglig trafik. Trafiken kan komma från modifierade versioner av appen eller spelet, från enheter som inte är tillförlitliga eller från andra opålitliga källor. Genom att identifiera sådan trafik kan du vidta lämpliga åtgärder för att minska risken för attacker och annan otillåten användning, som till exempel bedrägeri, fusk eller obehörig åtkomst.
När en användare utför en app- eller speldefinierad handling får koden på klientsidan instruktioner från din server att anropa Integrity API. Google Play-servern returnerar ett krypterat svar med ett utlåtande om huruvida du kan lita på enheten och dess binärfil. Appen vidarebefordrar sedan svaret till din server för att verifieras. Servern bestämmer vad appen eller spelet bör göra härnäst.
API:ets integritetsutlåtande skickas i ett svar med följande information:
- Appintegritet: Här ser du om du interagerar med den omanipulerade binärfilen som Google Play känner igen.
- Kontouppgifter: Här ser du om det aktuella användarkontot är licensierat, vilket innebär att användaren förvärvade appen eller spelet i Google Play.
- Enhetsintegritet: Här ser du om appen körs på en äkta Android-enhet med Google Play-tjänster.
Tips! Integrity API är som mest värdefullt för din app när du följer de rekommenderade metoderna i dokumentationen på webbplatsen för Android-utvecklare.
Konfigurera och hantera Play Integrity API
Aktivera Integrity API för appen
Om du vill aktivera Integrity API-svar för appen behöver du länka ett Google Cloud-projekt på Play Console. Så här länkar du projektet:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Välj Länka till befintligt projekt och projektet du vill länka till, eller Skapa nytt projekt.
- Klicka på Länka projekt.
Innan du kan börja integrera Integrity API med appen behöver du göra följande:
- För Java/Kotlin-appar installerar du det senaste tillgängliga Android-biblioteket för Play Integrity-API från Googles Maven-lagringsplats.
- För Unity-spel installerar du den senaste versionen av Google Plays plugin-program för Unity. Alla versioner av 2019.x, 2020.x och senare stöds. Om du använder Unity 2018.x installerar du 2018.4 eller senare. Om du använder Unity 2017.x installerar du 2017.4.40 eller senare. Unity 5.x och äldre stöds inte.
- För integrerade appar och spel installerar du det senaste Play Core Native SDK.
Nu kan du börja använda Play Integrity API i appen eller spelet enligt de här anvisningarna på webbplatsen för Android-utvecklare.
(Valfritt) Välj hur svarskryptering ska hanteras
Som standard hanterar Google din svarskryptering. Du kan dock hantera den själv om du vill.
Viktigt! Vid byte från svarskryptering som hanteras av Google till egenhanterad svarskryptering krävs kodjusteringar på backendservern.
Så här hanterar du svarskryptering på egen hand:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Scrolla till avsnittet Inställningar.
- Statusen Hanteras av Google visas bredvid Kryptering av svar. Detta är inställt som standard. Klicka på Ändra.
- Välj Hantera och ladda ned mina nycklar för kryptering av svar och klicka på Spara ändringar. Google genererar svarskrypteringsnycklar som du kan ladda ned och hantera. Du måste uppdatera backendserverns logik så att nycklarna används för att dekryptera svar.
- Följ anvisningarna på skärmen för att skapa en .pem-fil. Ladda upp .pem-filen för att ladda ned API-nycklarna.
- Ett meddelande på skärmen bekräftar att hanteringen av svarskrypteringen uppdaterats.
- Ladda ned de nya svarskrypteringsnycklarna och uppdatera backend-servern för att dekryptera svar med dem i produktionskanalen. Återgå till fliken Integrity API på sidan Appintegritet så att Google Play kan börja använda de nya svarskrypteringsnycklarna i stället för de gamla. Ändringen genomförs omedelbart.
Om du vill återgå från självhanterade API-nycklar till Google-hanterade:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Scrolla till avsnittet Inställningar.
- Statusen vid Kryptering av svar har ändrats till Egen hantering eftersom du ändrade inställningen vid ett tidigare tillfälle. Klicka på Ändra.
- Välj Låt Google hantera krypteringen av svar (rekommenderas) och klicka på Spara ändringar. Google genererar och hanterar svarskrypteringsnycklarna. Backendservern anropar Plays server för att dekryptera svar.
(Valfritt) Konfigurera Integrity API-svar
Följande API-svar är konfigurerade som standard:
API-svar | Etikett | Beskrivning |
Enhetsintegritet | MEETS_DEVICE_INTEGRITY |
Appen körs på en Android-enhet med Google Play-tjänster. Enheten har klarat en kontroll av systemintegriteten och uppfyller Androids kompatibilitetskrav. |
Inga etiketter (ett tomt värde) |
Appen körs på en enhet som visar tecken på angrepp (t.ex. omdirigerad API) eller systemintrång (t.ex. rootning), eller så körs inte appen på en fysisk enhet (t.ex. en emulator som inte klarar Google Plays integritetskontroll). |
|
Kontouppgifter | LICENSED |
Användaren har berättigande till appen. Med andra ord har användaren installerat eller köpt appen i Google Play. |
UNLICENSED |
Användaren saknar berättigande till appen. Detta händer när användaren t.ex. sidladdar appen. |
|
UNEVALUATED |
Licensinformationen har inte utvärderats eftersom ett obligatoriskt krav saknas. Detta kan inträffa av olika skäl, bland annat följande:
|
|
Appintegritet | PLAY_RECOGNIZED |
Appen och certifikatet matchar versionerna som distribueras av Google Play. |
UNRECOGNIZED_VERSION |
Certifikatet eller paketnamnet matchar inte Google Plays register. |
|
UNEVALUATED |
Appintegritet har inte utvärderats. Ett nödvändigt krav saknades, t.ex. att enheten inte var tillräckligt tillförlitlig. |
Du kan även välja att ta emot följande API-svar:
API-svar | Etikett | Beskrivning |
Enhetsintegritet | MEETS_BASIC_INTEGRITY |
Appen körs på en enhet som klarat en grundläggande kontroll av systemintegriteten. Enheten uppfyller kanske inte Androids kompatibilitetskrav och har då inte godkänts för att köra Google Play-tjänster. Till exempel kanske enheten har en okänd version av Android, har en olåst starthanterare eller inte har certifierats av tillverkaren. |
MEETS_STRONG_INTEGRITY |
Appen körs på en Android-enhet med Google Play-tjänster vilket ger en god garanti för systemintegriteten, t.ex. med ett maskinvarusäkrat nyckellager. Enheten har klarat en kontroll av systemintegriteten och uppfyller Androids kompatibilitetskrav. |
Om du väljer att ta emot ytterligare etiketter inkluderas flera etiketter för samma enhet i integritetssvaret, om alla relevanta etikettvillkor uppfylls. Du kan anpassa backend-servern så att den reagerar på olika sätt beroende på antalet möjliga svar. Till exempel kan en enhet som returnerar MEETS_BASIC_INTEGRITY
, MEETS_DEVICE_INTEGRITY
och MEETS_STRONG_INTEGRITY
vara mer betrodd än en enhet som endast returnerar MEETS_BASIC_INTEGRITY
. Hur servern svarar kan anpassas i enlighet med detta.
Så här ändrar du API-svaren:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Scrolla till avsnittet Svar.
- Klicka på Redigera.
- Markera eller avmarkera kryssrutorna bredvid API-svaren du vill ändra.
- Klicka på Spara ändringar.
Viktigt! Ändringarna träder i kraft så fort du sparat dem, även när appen är i produktionskanalen. Kontrollera att servern har förberetts för att ta emot API-svaren innan du ändrar dem på Play Console.
Håll koll på användningen av Play Integrity API och ändra nivå
Appar begränsas till ett visst antal förfrågningar till API:et per dag, baserat på appens användningsnivå. På nivån Standard kan appen skicka upp till 10 000 förfrågningar per dag till Integrity API.
Så här ser du appens användningsnivå:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Scrolla till avsnittet Inställningar.
- Användningsnivån visas.
Du kan se hur många förfrågningar appen skickar per dag i det länkade Cloud-projektet i Google Cloud Console.
Om du vill överskrida 10 000 förfrågningar per dag kan du begära att appens användningsnivå ändras till nivån Höjd. För att kvalificera dig för nivån Höjd behöver du göra följande:
- Kontrollera att API:ets logik har implementerats korrekt, inklusive upprepade försök.
- Publicera appen på Google Play utöver andra eventuella distributionskanaler.
Fyll i det här formuläret om du vill ändra appens användningsnivå.
Testa integreringen av Play Integrity API
Du kan skapa en lista med Gmail-konton för att testa integreringen av Integrity API. Kontrollera först att testarna har åtkomst till versionen:
- Publicera appen i den interna testkanalen eller i kanalen som du vill testa i. Följ sedan anvisningarna om hur du hanterar testare utifrån e-postadress eller ger testarna åtkomst till versionen med Google Grupper.
Så här konfigurerar du ett test:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Scrolla till avsnittet Testning.
- Klicka på Skapa ett nytt test.
- Välj en e-postlista eller skapa en ny.
- Klicka på Skapa test.
Konfigurera enhetsuteslutning på Google Play
Du kan utesluta vissa enheter från appdistributionen på Google Play med ledning av svaret från Integrity API till Play Butik. Uteslutna enheter kan varken se eller installera appen i Google Play. Enhetsuteslutning förhindrar inte att användarna får appen via andra vägar, t.ex. genom en annan distributionskanal eller via sidladdning.
Viktigt! Enhetsuteslutning använder ett Integrity API-svar som tagits emot av Play Butik-appen. Det har ingen koppling till svaret du får från din app efter att du har integrerat API:et.
Det finns tre alternativ för enhetsuteslutning med Integrity API:
- Uteslut inte: Utesluter inga enheter p.g.a. Integrity API.
- Uteslut endast grundläggande fel: Utesluter otillförlitliga enheter som inte uppfyller grundläggande integritetskrav.
- Uteslut alla enhetsfel: Utesluter otillförlitliga enheter som inte uppfyller kraven för enhetsintegritet.
Tips! Du hittar definitioner av grundläggande integritetskrav och kraven för enhetsintegritet i dokumentationen för Play Integrity API:et på webbplatsen för Android-utvecklare.
Så här ändrar du inställningen för enhetsuteslutning på Play Console:
- Öppna Play Console och sidan Appintegritet (Version > Konfiguration > Appintegritet).
- Klicka på fliken Integrity API.
- Vid Enhetsuteslutning väljer du om du vill utesluta enheter från appdistributionen baserat på Integrity API-svar. Uteslutna enheter kan varken se eller installera appen i Google Play.
- Spara ändringarna.
Viktigt! Detta uppdaterar automatiskt dina enhetskatalogers undantagsregler.