Oдрицање одговорности: Резимеи смерница су само прегледи. Увек користите комплетне смернице за утврђивање усаглашености. Комплетне смернице имају предност у случају неусаглашености
Google Play забрањује апликацији (или било ком SDK-у треће стране у оквиру апликације) неовлашћен приступ или мешање у рад корисниковог уређаја, других уређаја, мреже, API-ја или услуга, других апликација на уређају, било које Google услуге или мреже овлашћеног мобилног оператера. То обухвата различите штетне, ризичне или ометајуће радње, као што су извођење самосталних ажурирања ван Play продавнице, преузимање неовлашћеног извршног кода, експлоатација безбедносних слабости, омогућавање хаковања или прављење шифара за варање у играма које утичу на друге апликације. Заштита интегритета корисниковог уређаја и ширег екосистема је од највећег значаја. Прегледајте комплетне смернице да би се осигурала усаглашеност.
Не дозвољавамо апликације које утичу на, ометају или оштећују корисников уређај, друге уређаје или рачунаре, сервере, мреже, програмске интерфејсе апликација (API-је) или услуге, укључујући, без ограничења, друге апликације на уређају, било коју Google услугу или мрежу овлашћеног мобилног оператера, односно апликације које приступају тим ставкама на неовлашћени начин.
Апликације на Google Play-у морају да буду у складу са подразумеваним условима за оптимизацију Android система наведеним у Основним смерницама за квалитет апликација за Google Play.
Апликација која се дистрибуира преко Google Play-а не сме да мења, замењује или ажурира саму себе осим помоћу механизма ажурирања на Google Play-у. Такође, апликација не може да преузима извршни кôд (нпр. dex, JAR или .so фајлове) из извора који није Google Play. Ово ограничење не важи за кôд који се покреће на виртуелној машини или путем преводиоца, при чему се пружа посредан приступ Android API-јима (на пример, JavaScript-у у WebView-у или прегледачу).
Апликације или кôд треће стране (нпр. пакети за развој софтвера) са преведеним језицима (JavaScript, Python, Lua итд.) који се учитавају у време извршавања (нпр. ако се не добијају у пакету са апликацијом) не смеју да дозволе потенцијална кршења Google Play смерница.
Не дозвољавамо кôд који уводи или искоришћава безбедносне пропусте. Прегледајте Програм за побољшање безбедности апликација да бисте сазнали више о најновијим безбедносним проблемима који се пријављују програмерима.
Примери честих кршења смерница о злоупотреби уређаја и мреже:
- Апликације које блокирају другу апликацију која приказује огласе или је ометају.
- Апликације за варање у играма које утичу на играње у другим апликацијама.
- Апликације које олакшавају или пружају упутства за хаковање услуга, софтвера или хардвера или заобилажење безбедносних мера.
- Апликације које приступају услузи или API-ју или их користе на начин који крши њихове услове коришћења услуге.
- Апликације које не испуњавају услове за стављање на листу дозвољених и покушавају да заобиђу управљање напајањем система.
- Апликације које пружају посредничке услуге трећим странама то могу да раде само у апликацијама где је то основна функција намењена кориснику.
- Апликације или кôд треће стране (на пример, пакети за развој софтвера) који преузимају извршни кôд, попут dex фајлова или матичног кода, из извора који није Google Play.
- Апликације које инсталирају друге апликације на уређају без претходне сагласности корисника.
- Апликације које воде до дистрибуције или инсталације злонамерног софтвера или их олакшавају.
- Апликације или кôд треће стране (на пример, пакети за развој софтвера) који садрже WebView са додатим JavaScript интерфејсом који учитава непоуздани веб-садржај (на пример, http:// URL) или неверификоване URL-ове добијене из непоузданих извора (на пример, URL-ове добијене са непоузданим намерама).
- Апликације које користе дозволу за намеру преко целог екрана како би приморале кориснике на интеракцију помоћу огласа или обавештења која их ометају.
- Апликације које заобилазе заштите Android заштићеног окружења да би добиле информације о активности или идентитету корисника из других апликација.
Кључне напомене
| Препоручујемо | Не препоручујемо |
| Обавезно ускладите апликацију и интегрисане пакете за развој софтвера са условима за оптимизацију Android система у смерницама за квалитет основних апликација. | Немојте да инсталирате друге апликације без експлицитне сагласности корисника. |
Поштујте подешавање FLAG_SECURE, а контејнери на уређају морају да поштују REQUIRE_SECURE_ENV. |
Немојте да олакшавате посредничке услуге трећим страна осим ако је то примарна и основна сврха апликације намењена кориснику. |
| Користите задатке преноса података које покреће корисник само за преносе података преко мреже које покрећу корисници и који су покренути само колико је неопходно. | Немојте да користите независне пакете за развој софтвера (као што су фајлови dex или .so) изван Google Play-а (осим у виртуелним машинама/преводиоцима). |
| Прегледајте Програм за побољшање безбедности апликација да бисте сазнали више о најновијим безбедносним проблемима који се пријављују програмерима. | Немојте да заобилазите управљање напајањем система осим ако испуњавате услове. |
| Придржавајте се смерница за услуге у првом плану. | Немојте да блокирате другу апликацију која приказује огласе или да је ометате. |
Немојте да користите дозволу FULL-SCREEN INTENT да бисте принудно наметнули интеракцију са огласима и обавештењима који ометају. |
Коришћење услуге у првом плану
Смернице за дозволу Услуга у првом плану обезбеђују транспарентност, приватност и оптималне перформансе уређаја за кориснике. За апликације које циљају Android 14 и новије верзије, у манифесту и Play конзоли морате да наведете важеће типове Услуга у првом плану, уз описе, утицај на корисника и демо видео који оправдава њихову употребу на основу уочљивих радњи које покреће корисник. Прегледајте комплетне смернице да бисте осигурали усаглашеност.
Дозвола за услугу у првом плану обезбеђује одговарајућу употребу услуга у првом плану намењених кориснику. За апликације које циљају Android 14 и новије верзије морате да наведете важећи тип за сваку услугу у првом плану која се користи у апликацији и да утврдите дозволу за услугу у првом плану која је одговарајућа за тај тип. На пример, ако случај коришћења апликације захтева геолоцирање на мапи, морате да утврдите дозволу FOREGROUND_SERVICE_LOCATION у манифесту апликације.
Апликацијама је дозвољено да објаве дозволу за услугу у првом плану само:
- ако коришћење пружа функцију која је корисна за корисника и релевантна за основну функционалност апликације
- ако коришћење иницира корисник или је приметно за њега (нпр. звук пуштене песме, пребацивање медија на други уређај, тачно и јасно обавештење за корисника, захтев корисника да отпреми слику у клауд)
- ако корисник може да оконча или заустави коришћење
- ако систем не може да прекине нити одложи коришћење, а да не изазове негативан кориснички доживљај или доведе до тога да функција коју корисник очекује не ради као што је предвиђено (нпр. телефонски позив треба да почне одмах и систем не може да га одложи)
- ако коришћење траје само онолико дуго колико је потребно да се изврши задатак
Следећи случајеви коришћења услуге у првом плану су изузети од претходно наведених критеријума:
- типови услуге у првом плану systemExempted или shortService;
- тип услуге у првом плану dataSync само када се користе Play Asset Delivery функције
Коришћење услуге у првом плану додатно је објашњено овде.
Кључне напомене
| Препоручујемо | Не препоручујемо |
| Користите FGS само колико је неопходно да довршите задатак. | Не користите FGS ако начин на који систем управља задатком не омета кориснички доживљај у апликацији. Размислите о алтернативама као што је WorkManager. |
| Уверите се да FGS пружа основну функцију апликације која је корисна за корисника, коју корисник покреће, која је видљива у обавештењима или коју корисник може да опази (на пример, звук пуштања песме). | Немојте да наводите неважеће или нетачне FGS типове у манифесту апликације. |
| Пошаљите образац са декларацијом у Play конзоли ако циљате Android 14 и новије верзије и опишите случај коришћења за сваку дозволу за услуге у првом плану (FGS) која се користи. Пазите да изаберете одговарајући FGS тип. |
Задаци преноса података које покреће корисник
Ради очувања контроле корисника и спречавања предугог рада у позадини, Google Play прописује строга правила за апликације које користе API за задатке преноса података покренуте од стране корисника. Пренос података мора да буде директно покренут од стране корисника, како би апликација извршавала команду уместо да самостално започиње преносе. Ови преноси су искључиво намењени задацима преноса података преко мреже и морају да раде само онолико дуго колико је потребно за извршавање захтеване радње. Прегледајте комплетне смернице да бисте обезбедили усаглашеност.
Апликацијама је дозвољено да користе API за задатке преноса података које покреће корисник само:
- ако је употребу иницирао корисник
- за задатке преноса мрежних података
- ако ради само онолико дуго колико је потребно да би се завршио пренос података
Коришћење API-ја за пренос података који покреће корисник додатно је објашњено овде.
Кључне напомене
| Препоручујемо | Не препоручујемо |
| Започињите преносе корисничким радњама. | Не започињите преносе аутоматски. |
| Користите само за задатке преноса преко мрежних података. | Не користите API за задатке који нису на мрежи. |
| Зауставите када се пренос заврши. | Не користите дуже него што је потребно. |
Означавање безбедносних услова
FLAG_SECURE је ознака на екрану објављена у апликацији која означава да осетљиви подаци у корисничком интерфејсу треба да буду ограничени на безбедне платформе, спречавајући прављење снимака екрана и небезбедни приказ и снимање екрана. Програмери то користе када садржај не треба да се емитује нити прегледа изван апликације или уређаја. Google Play захтева да све апликације поштују декларације FLAG_SECURE других апликација и да их не заобилазе због безбедности и приватности. Прегледајте комплетне смернице да би се обезбедила усаглашеност.
FLAG_SECURE је ознака на екрану за коју је у коду апликације утврђено да указује на то да кориснички интерфејс садржи осетљиве податке који треба да буду ограничени на безбедну област током коришћења апликације. Та ознака је осмишљена да би се онемогућило приказивање података на снимцима екрана или њихов приказ на небезбедним екранима. Програмери наводе ову ознаку када садржај апликације не треба да се емитује, прегледа или на други начин преноси изван апликације или уређаја корисника.
Због безбедности и приватности све апликације које се дистрибуирају на Google Play-у морају да поштују FLAG_SECURE декларацију других апликација. То значи да апликације не смеју да помажу у заобилажењу FLAG_SECURE подешавања у другим апликацијама нити да нуде решења за њихово заобилажење.
Апликације које испуњавају услове за алатку за приступачност не морају да испуне овај услов ако не преносе, чувају или кеширају FLAG_SECURE заштићени садржај за приступ изван уређаја корисника. Кључне напомене
| Препоручујемо | Не препоручујемо |
Наведите ознаку FLAG_SECURE за осетљиве податке у корисничком интерфејсу које треба заштитити од снимања. |
Немојте да заобилазите нити правите заобилазна решења за подешавања ознаке |
Поштујте наведене ознаке FLAG_SECURE других апликација ради безбедности и приватности. |
Немојте да преносите, чувате нити кеширате заштићени садржај са ознаком FLAG_SECURE ван уређаја, чак и ако је у питању Алатка за приступачност. |
Апликације које покрећу Android контејнере на уређају
Ради спречавања недоумица у вези са безбедношћу и приватношћу, програмери могу да користе ознаку REQUIRE_SECURE_ENV у манифесту апликације када апликације у Android контејнеру на уређају немају све безбедносне функције Android ОС-а. Ознака указује да апликација не треба да се покреће у симулираном окружењу. Апликације које пружају ове контејнере су обавезне да поштују ову ознаку тако што неће учитавати апликације које је наводе и забрањено им је да заобилазе ову безбедносну меру. Прегледајте комплетне смернице да би се обезбедила усаглашеност.
Android апликације са контејнерима на уређају пружају окружења која симулирају цео или делимични основни Android ОС. Доживљај у тим окружењима можда не одражава комплетан пакет Android безбедносних функција, због чега програмери могу да додају ознаку манифеста безбедног окружења како би саопштили Android апликацијама са контејнерима на уређају да не смеју да раде у њиховом симулираном Android окружењу.
Ознака манифеста о безбедном окружењу
- да ће прегледати манифесте апликација које намеравају да учитају у Android контејнеру на уређају за ову ознаку.
- да неће учитавати апликације које су објавиле ову ознаку у Android контејнеру на уређају.
- да неће деловати као прокси тако што ће пресретати или позивати API-је на уређају да би изгледало да су инсталирани у контејнеру.
- да неће олакшавати нити правити заобилазна решења за заобилажење ознаке (попут учитавања старије апликације да би се заобишла ознака REQUIRE_SECURE_ENV актуелне апликације).
Кључне напомене
| Препоручујемо | Не препоручујемо |
Апликације које пружају контејнере на уређају морају да провере ознаку REQUIRE_SECURE_ENV у манифестима других апликација и да их не учитавају. |
Не занемарујте ову ознаку. Не можете да учитате апликацију у контејнер ако је наведена ознака REQUIRE_SECURE_ENV. |
| Избегавајте заобилажења. Забрањено је заобилажење ове ознаке, на пример, учитавање старијих верзија апликације. | Немојте да заобилазите безбедносне мере. Немојте да правите заобилазна решења да бисте заменили безбедносно подешавање апликаиције. |
| Избегавајте пружање проксија за API-је. Немојте да функционишете као прокси тако што ћете пресретати или позивати API-је изван контејнера. | Немојте да стварате утисак да се апликације покрећу у безбедном окружењу ако то није случај. |
| Прегледајте захтеве смерница за Android контејнере на уређају. |