Odricanje od odgovornosti: u sažecima pravila navode se samo skraćene informacije. Usklađenost uvijek provjerite u cjelovitom tekstu pravila. Cjeloviti tekst pravila imaju prednost u slučaju sukoba
Google Play zabranjuje vašoj aplikaciji (ili bilo kojem SDK-u treće strane u vašoj aplikaciji) neovlašteni pristup korisnikovom uređaju, drugim uređajima, mreži, API-ju ili usluzi, drugim aplikacijama na uređaju, bilo kojoj Googleovoj usluzi ili mreži ovlaštenog davatelja usluga te njihovo ometanje. To obuhvaća raspon štetnih, visokorizičnih ili ometajućih ponašanja, kao što su obavljanje samostalnih ažuriranja izvan Trgovine Google Play, preuzimanje neovlaštenog izvršnog koda, iskorištavanje sigurnosnih ranjivosti, omogućivanje hakiranja ili varanje u igrama koje utječe na druge aplikacije. Zaštita integriteta korisničkog uređaja i šireg ekosustava od najveće je važnosti. Pregledajte cjelovita pravila kako biste osigurali usklađenost.
Ne dopuštamo aplikacije koje ometaju uređaj korisnika, druge uređaje ili računala, poslužitelje, mreže, programska sučelja aplikacija (API-je) ili usluge, uključujući među ostalim druge aplikacije na uređaju, Googleove usluge ili ovlaštenu mrežu operatera, odnosno aplikacije koje prekidaju njihov rad, oštećuju ih ili im neovlašteno pristupaju.
Aplikacije na Google Playu moraju biti u skladu sa zadanim zahtjevima optimizacije Android sustava navedenim u temeljnim smjernicama za kvalitetu aplikacija za Google Play.
Aplikacija koja se distribuira putem Google Playa ne smije se mijenjati, zamjenjivati ili ažurirati ni na koji drugi način osim mehanizmom ažuriranja Google Playa. Isto tako, aplikacija smije preuzimati izvršni kôd (npr. dex, JAR ili .so datoteke) isključivo s Google Playa. To se ograničenje ne odnosi na kôd koji se izvršava na virtualnim računalima ili tumačima koji pružaju neizravan pristup Androidovim API-jima (primjerice JavaScript u web-prikazu ili pregledniku).
Aplikacije ili kodovi trećih strana (npr. SDK-ovi) s interpretiranim jezicima (JavaScript, Python, Lua itd.) učitanim tijekom izvođenja (npr. kad nisu u paketu s aplikacijom) ne smiju dopuštati potencijalno kršenje pravila Google Playa.
Ne dopuštamo kôd koji uvodi ili iskorištava sigurnosne ranjivosti. Pogledajte Program poboljšanja sigurnosti aplikacija da biste saznali o najnovijim sigurnosnim poteškoćama koje su prijavljene razvojnim programerima.
Primjeri uobičajenog kršenja pravila o zloupotrebi uređaja i mreže:
- aplikacije koje blokiraju ili ometaju drugu aplikaciju koja prikazuje oglase
- aplikacije za varanje u igrama koje utječu na pregled igre drugih aplikacija
- aplikacije koje omogućuju ili navode upute za hakiranje usluga, softvera ili hardvera ili zaobilaženje zaštite
- aplikacije koje usluzi ili API-ju pristupaju ili ih upotrebljavaju na način kojim se krše njihovi uvjeti pružanja usluge
- aplikacije koje ne ispunjavaju uvjete za stavljanje na popis dopuštenih i pokušavaju zaobići upravljanje napajanjem sustava
- aplikacije koje trećim stranama pojednostavljuju proxy usluge to mogu činiti samo u aplikacijama kojima je to primarna i temeljna svrha prema korisniku
- aplikacije ili kod treće strane (kao što su SDK-ovi) koje preuzimaju izvršni kod, kao što su dex datoteke ili nativni kod, s izvora koji nije Google Play
- aplikacije koje na uređaj instaliraju druge aplikacije bez prethodnog pristanka korisnika
- aplikacije koje vode do zlonamjernog softvera ili omogućuju njegovu distribuciju ili instalaciju
- aplikacije ili kod treće strane (kao što su SDK-ovi) koji sadrže web-prikaz s dodanim sučeljem JavaScript koje učitava nepouzdani web-sadržaj (primjerice http:// URL) ili nepotvrđene URL-ove dobivene s nepouzdanih izvora (primjerice URL-ovi dobiveni s nepouzdanim namjerama)
- aplikacije koje upotrebljavaju dopuštenje za prikaz preko cijelog zaslona radi prisilne korisničke interakcije s ometajućim oglasima ili obavijestima
- aplikacije koje zaobilaze zaštite za testno okruženje Androida kako bi izvele aktivnost korisnika ili identitet korisnika iz drugih aplikacija.
Ključna pitanja koja je potrebno razmotriti
| Primjeri dobre prakse | Primjeri loše prakse |
| Svoju aplikaciju i integrirane SDK-ove uskladite sa zahtjevima za optimizaciju Android sustava u temeljnim smjernicama za kvalitetu aplikacija. | Nemojte instalirati druge aplikacije na uređaj bez izričitog pristanka korisnika. |
Poštujte postavku FLAG_SECURE, a spremnici na uređaju moraju poštovati REQUIRE_SECURE_ENV. |
Nemojte omogućivati proxy usluge trećim stranama osim ako je to primarna i temeljna svrha aplikacije za korisnika. |
| Koristite zadatke prijenosa podataka koje su pokrenuli korisnici samo za prijenose mrežnih podataka koje pokreću korisnici i izvode se samo koliko je potrebno. | U svojoj aplikaciji nemojte upotrebljavati SDK-ove treće strane koji preuzimaju izvršni kôd (na primjer dex ili .so datoteke) izvan Google Playa (osim u VM-ovima/tumačima). |
| Pogledajte Program poboljšanja sigurnosti aplikacija da biste saznali o najnovijim sigurnosnim poteškoćama koje su prijavljene razvojnim programerima. | Nemojte zaobilaziti upravljanje napajanjem sustava osim ako ispunjavate kriterije. |
| Pridržavajte se pravila o uslugama u prednjem planu. | Nemojte blokirati niti ometati druge aplikacije koje prikazuju oglase. |
Nemojte upotrebljavati dopuštenje FULL-SCREEN INTENT radi nametanja interakcije s ometajućim oglasima i obavijestima. |
Upotreba usluge u prednjem planu
Pravila dopuštenja usluge u prednjem planu osiguravaju transparentnost prema korisnicima, privatnost i optimalnu izvedbu uređaja. Za aplikacije koje ciljaju Android 14 i novije verzije morate u manifestu i Play konzoli objaviti valjane vrste usluge u prednjem planu (FGS), navesti opise, utjecaj na korisnike i demonstracijski videozapis kojim će se opravdati njihova upotreba na temelju uočljivih radnji koje iniciraju korisnici. Pregledajte cjelovita pravila kako biste osigurali usklađenost.
Dopuštenje usluge u prednjem planu jamči odgovarajuću upotrebu usluga u prednjem planu za korisnika. Za aplikacije koje ciljaju verziju Androida 14 i novije morate navesti valjanu vrstu usluge u prednjem planu za svaku uslugu u prednjem planu koja se koristi u vašoj aplikaciji te dopuštenje usluge u prednjem planu koje je prikladno za tu vrstu. Na primjer, ako scenarij upotrebe vaše aplikacije zahtijeva geolociranje karte, u manifestu svoje aplikacije morate navesti dopuštenje FOREGROUND_SERVICE_LOCATION.
Aplikacijama je dopušteno navesti dopuštenje usluge u prednjem planu samo ako korištenje:
- pruža značajku koja je korisniku korisna i koja je relevantna za osnovnu funkciju aplikacije
- započinje korisnik ili ga korisnik primjećuje (na primjer, zvuk reprodukcije pjesme, emitiranje medijskih sadržaja na drugi uređaj, precizna i jasna obavijest za korisnika, zahtjev korisnika za prenošenje fotografije u oblak)
- korisnik može prekinuti ili zaustaviti
- sustav ne može prekinuti ili odgoditi, a da to ne uzrokuje negativan korisnički doživljaj ili da očekivana značajka ne radi kako je predviđeno (na primjer, telefonski poziv treba započeti odmah i sustav ga ne može odgoditi)
- pokreće se samo onoliko dugo koliko je potrebno za izvršavanje zadatka.
Sljedeći scenariji upotrebe usluga u prednjem planu nisu obuhvaćeni prethodno navedenim kriterijima:
- vrste usluga u prednjem planu systemExempted ili shortService;
- vrsta usluga u prednjem planu dataSync samo kad se upotrebljavaju značajke Play Asset Deliveryja.
Upotreba usluge u prednjem planu dodatno je objašnjena ovdje.
Ključna pitanja koja je potrebno razmotriti
| Primjeri dobre prakse | Primjeri loše prakse |
| Upotrebljavajte FGS samo onoliko dugo koliko je potrebno za izvršavanje zadatka. | Nemojte upotrebljavati FGS ako upravljanje sustavom vašeg zadatka ne ometa korisnički doživljaj u vašoj aplikaciji. Razmotrite alternative kao što je WorkManager. |
| Pobrinite se da FGS pruža osnovnu značajku aplikacije korisnu korisnicima, da ga pokreću korisnici, da je vidljiv u obavijestima ili da ga korisnici mogu uočiti (na primjer audiozapis reprodukcije pjesme). | Nemojte navoditi nevažeće ni netočne vrste FGS-a u manifestu aplikacije. |
| Pošaljite obrazac izjave na Google Play konzoli ako ciljate Android 14 i novije verzije i opišite scenarij upotrebe za svako korišteno dopuštenje usluga u prednjem planu (FGS). Svakako odaberite odgovarajuću vrstu FGS-a. |
User-Initiated Data Transfer Jobs
Da bi se zadržala korisnička kontrola i spriječila produljena aktivnost u pozadini, Google Play pruža stroge smjernice za aplikacije koje koriste user-initiated data transfer jobs API. Prijenose podataka mora pokrenuti korisnik putem prompta, osiguravajući da aplikacija izvršava naredbu, a ne pokreće prijenose neovisno. Ti se prijenosi izvode isključivo za zadatke mrežnog prijenosa podataka i moraju raditi samo onoliko koliko je potrebno da bi se dovršila zatražena radnja. Pregledajte cjelovita pravila kako biste osigurali usklađenost.
Aplikacijama je dopušteno korištenje API-ja user-initiated data transfer jobs samo ako korištenje:
- započinje korisnik
- služi za obavljanje zadataka prijenosa podataka mreže
- pokreće se samo onoliko dugo koliko je potrebno za dovršetak prijenosa podataka.
Upotreba User-Initiated Data Transfer API-ja dodatno je objašnjena ovdje.
Ključna pitanja koja je potrebno razmotriti
| Preporučuje se | Ne preporučuje se |
| Pokrenite prijenose korisničkom radnjom. | Nemojte automatski pokretati prijenos. |
| Koristite samo za zadatke prijenosa podataka na mreži. | Nemojte koristiti API za zadatke koji nisu na mreži. |
| Zaustavite kad se prijenos dovrši. | Nemojte držati pokrenuto dulje nego što je potrebno. |
Zahtjevi za Flag Secure
FLAG_SECURE je oznaka na zaslonu objavljena u aplikaciji koja označava da osjetljivi podaci na korisničkom sučelju trebaju biti ograničeni na sigurne površine, sprječavajući snimanje zaslona i nesiguran prikaz i snimanje zaslona. Razvojni programeri to koriste kad se sadržaj ne treba emitirati ili prikazati izvan aplikacije/uređaja. Google Play zahtijeva da sve aplikacije poštuju izjave FLAG_SECURE drugih aplikacija te da ih ne zaobilaze zbog sigurnosti i privatnosti. Pregledajte cjelovita pravila kako biste osigurali usklađenost.
FLAG_SECURE oznaka je na zaslonu navedena u kodu aplikacije, a ukazuje na to da korisničko sučelje sadržava osjetljive podatke koje se namjerava ograničiti na sigurnu površinu tijekom upotrebe aplikacije. Ta oznaka osmišljena je kako bi se onemogućila pojava podataka na snimkama zaslona ili njihov prikaz na nesigurnim zaslonima. Razvojni programeri tu oznaku navode kada se sadržaj aplikacije ne smije emitirati, gledati ili na drugi način prenositi izvan aplikacije ili uređaja korisnika.
Radi sigurnosti i privatnosti, sve aplikacije koje se distribuiraju na Google Playu moraju poštovati FLAG_SECURE izjavu drugih aplikacija. To znači da aplikacije ne smiju omogućivati niti stvarati rješenja za zaobilaženje FLAG_SECURE postavki u drugim aplikacijama.
Aplikacije koje se kvalificiraju kao alat za pristupačnost izuzimaju se od tog zahtjeva pod uvjetom da ne prenose, spremaju ili predmemoriraju FLAG_SECURE zaštićeni sadržaj za pristup izvan uređaja korisnika. Ključna pitanja koja je potrebno razmotriti
| Preporučuje se | Ne preporučuje se |
Objavite FLAG_SECURE za osjetljive podatke na korisničkom sučelju za koje je potrebna zaštita od snimanja. |
Nemojte zaobilaziti ili izraditi rješenja za zaobilaženje postavke |
Pridržavajte se izjava oznake FLAG_SECURE drugih aplikacija zbog sigurnosti i privatnosti. |
Nemojte prenositi, spremati ili predmemorirati sadržaj zaštićen oznakom FLAG_SECURE izvan uređaja, čak i ako je riječ o alatu za pristupačnost. |
Aplikacije koje rade Android spremnike na uređaju
Da bi izbjegli nedoumice u vezi s privatnošću i sigurnošću, razvojni programeri mogu koristiti oznaku REQUIRE_SECURE_ENV u manifestu svoje aplikacije ako simulacijsko okruženje na Androidu ne uključuje cjelokupne sigurnosne značajke Android OS-a. Oznaka pokazuje da aplikaciju ne treba pokretati u simulacijskom okruženju. Aplikacije koje pružaju to simulacijsko okruženje moraju se pridržavati te oznake tako da ne učitavaju aplikacije koje izjavljuju da je koriste i ne smiju zaobilaziti tu sigurnosnu mjeru. Pregledajte cjelovita pravila kako biste osigurali usklađenost.
Aplikacije Android spremnika na uređaju nude okruženja koja simuliraju cijeli temeljni OS Android ili samo dijelove. Doživljaj unutar tih okruženja možda neće odražavati cijeli paket Androidovih sigurnosnih značajki tako da razvojni programeri mogu odabrati dodati oznaku sigurnog okruženja da bi javili Android spremnicima na uređaju da ne smiju raditi u simuliranom Android okruženju.
Oznaka manifesta sigurnog okruženja
- Trebaju pregledati manifeste aplikacija koje namjeravaju učitavati u Android spremnik na uređaju za tu oznaku.
- Ne smiju učitati aplikacije koje su tu oznaku navele u Android spremniku na uređaju.
- Ne smiju funkcionirati kao proxy tako da presreću ili pozivaju API-je na uređaju kako bi oponašale aplikacije instalirane u spremniku.
- Ne smiju omogućivati niti stvarati rješenja za zaobilaženje oznake (primjerice, učitavanjem starije verzije aplikacije radi zaobilaženja trenutačne oznake aplikacije REQUIRE_SECURE_ENV).
Ključna pitanja koja je potrebno razmotriti
| Primjeri dobre prakse | Primjeri loše prakse |
Aplikacije koje pružaju simulacijsko okruženje moraju provjeriti je li u manifestima drugih aplikacija navedena oznaka REQUIRE_SECURE_ENV i ako jest, ne smiju učitati te aplikacije. |
Nemojte zanemarivati tu oznaku. Ako aplikacija navodi oznaku REQUIRE_SECURE_ENV, ne smijete je učitati u svoje simulacijsko okruženje. |
| Izbjegavajte zaobilazna rješenja. Zabranjeno je zaobilaziti oznaku, na primjer učitavanjem starije verzije aplikacije. | Nemojte zaobilaziti sigurnosne mjere. Nemojte primjenjivati zaobilazna rješenja kako biste nadjačali sigurnosnu postavku aplikacije. |
| Izbjegavajte prosljeđivanje API-ja putem proxyja. Vaša aplikacija ne smije funkcionirati kao proxy tako da presreće ili poziva API-je izvan simulacijskog okruženja. | Ne smijete prikazivati da se aplikacije izvode u sigurnom okruženju ako to nije slučaj. |
| Pregledajte zahtjeve pravila za simulacijska okruženja na Androidu. |