Požadavky na službu v popředí a na objekt intent na celou obrazovku

Abychom vývojářům umožnili vytvářet aplikace, které zajistí konzistentní uživatelský dojem, zavádíme další typy služeb na popředí spolu s novou sadou souvisejících omezení zásadami. Tento článek popisuje nadcházející požadavky na službu v popředí a jak deklarovat informace o službě v popředí v Play Console. Jsou zde uvedeny také požadavky na používání oznámení intent na celou obrazovku.

Požadavky na službu v popředí pro Android 14

Abychom vám pomohli určit, které případy použití jsou vhodné pro služby v popředí, a jasně definovat účel fungování na pozadí, vyžaduje systém Android 14 a novější před použitím služby v popředí následující úkony:

Kritéria používání služeb v popředí jsou podrobně popsána v sekci Oprávnění pro služby v popředí v zásadách ohledně zneužívání zařízení a sítí. Při aktualizaci na Android 14 musíte deklarovat typy služeb v popředí.

Deklarování informací o službě v popředí v Play Console

Když vaše aplikace cílí na Android 14 nebo novější, bude nutné deklarovat všechny typy služeb v popředí, které používáte, v nové deklaraci na stránce Obsah aplikace ve službě Play Console (Zásady > Obsah aplikace).

U každého typu služby v popředí, který deklarujete, je třeba:

  1. Popsat funkce aplikace, které používají jednotlivé typy služeb v popředí.
  2. Popsat dopad na uživatele, pokud:
    • Úloha je odložena systémem (nezačíná okamžitě)
    • Úloha je přerušena systémem (pozastavena nebo restartována)
  3. Vložit odkaz na video ukazující jednotlivé funkce služby v popředí. Video musí ukazovat kroky, které uživatel musí v aplikaci provést, aby danou funkci aktivoval.
  4. Pro každý typ služby v popředí vyberte konkrétní případ použití. K dispozici bude přednastavený seznam případů použití, z nichž si budete moci vybrat. Vybrané případy použití namapované na typy služeb v popředí jsou uvedeny v tabulce níže. Tento seznam není vyčerpávající. Pokud případ použití není v seznamu uveden, můžete ho zadat ručně.

    V některých případech doporučujeme použít alternativní rozhraní API. Seznam těchto případů použití a jejich alternativních doporučených rozhraní API najdete na webu Android Developers.

Poznámka: Níže uvedený seznam není úplný. Pokud chcete zjistit, zda je přístup pro službu v popředí vhodný, přečtěte si zásady oprávnění pro služby v popředí pro případy použití, které nejsou uvedeny níže.

Typ služby v popředí Případy použití Popisy a příklady
TYPE_CAMERA Streamování z kamery na pozadí Pokračující přístup k fotoaparátu na pozadí. Například aplikace pro videohovory, které umožňují multitasking.
TYPE_CONNECTED_DEVICE Nepřetržitý přenos dat na externí zařízení Interakce s externími zařízeními, včetně přenosu dat, které vyžadují připojení Bluetooth, NFC, IR, USB nebo připojení k síti. Například nositelné zařízení, zařízení ke sledování dítěte, náhlavní souprava, auto.
TYPE_DATA_SYNC Přenos sítě: Zálohování a obnovení Slouží pro určité funkce aktivované uživatelem. Například výběr konkrétní fotky k zálohování do cloudu oproti dennímu automatickému zálohování všech nových fotek.
Přenos sítě: Nahrání nebo stažení Například načítání dat (zpracování na straně serveru).
Místní zpracování: Překódování médií Proces převodu mediálních souborů, například zvuku a videa, z jednoho formátu do jiného (například funkce jako úpravy videí).
Místní zpracování: Import nebo export Zahrnuje migraci souborů z SD karty.
Místní zpracování: Jiné Slouží pro akce aktivované uživatelem, nikoli pro běžné úkony iniciované systémem nebo serverem. Například šifrování, změna velikosti.
TYPE_HEALTH Synchronizace zdravotních údajů Synchronizace zdravotních údajů u aplikací z kategorie fitness. Může se jednat o synchronizaci mezi aplikacemi nebo o shromažďování dat prostřednictvím sledování v zařízení. Například počítadlo kroků nebo zařízení ke sledování cvičení.
TYPE_LOCATION Aktualizace polohy na pozadí: Sdílení polohy aktivované uživatelem Může se jednat například o funkci vyhledání kamaráda nebo sledování aktivity vozidla.
Aktualizace polohy na pozadí: Navigace Například pokračující jízdní navigace v mapách nebo sledování spolujízdy.
Geofencing Definování parametrů, které obklopují oblasti zájmu.
TYPE_MEDIA_PLAYBACK Přehrávání mediálního obsahu Souvislé přehrávání zvuku nebo videa na pozadí, včetně streamování.
Zobrazení obrazu v obraze Když je mediální obsah při přehrávání na pozadí minimalizován.
TYPE_MEDIA_PROJECTION Projekce médií nebo obsahu a streamování či nahrávání pomocí rozhraní API MediaProjection Promítání médií do neprimárních zobrazovacích nebo externích zařízení pomocí rozhraní MediaProjection API, včetně streamování.
TYPE_MICROPHONE Přístup ke zvuku na pozadí Záznam zvukového vstupu, například hlasové příkazy pro virtuálního asistenta bez ukládání, hlasové nahrávky.
TYPE_PHONE_CALL Volání: Rozhraní API pro mobilní sítě / VoiP / telekomunikaci Podpora různých funkcí vytáčení.
TYPE_REMOTE_MESSAGING Odesílání textové komunikace do jiného zařízení Pomáhá uživateli v kontinuitě odesílání zpráv, když přejde na jiné zařízení. Uživatelé například mohou odesílat textové zprávy prostřednictvím webového klienta naskenováním QR kódu a vytvořením spojení mezi webovým klientem a telefonem. Není omezeno pouze na zprávy SMS.

Tato deklarace bude k dispozici od listopadu 2023 a poskytneme vám čas k jejímu vyplnění, získání zpětné vazby a v případě potřeby provedení úprav.

Požadavky na objekty intent na celou obrazovku pro Android 14

Pomocí oznámení intent na celou obrazovku můžete sdílet zprávy s vysokou prioritou, které vyžadují okamžitou pozornost uživatele. Abychom zajistili, že se toto oprávnění bude vztahovat pouze na vhodné případy použití s vysokou prioritou, zavádíme u Androidu 14 omezení na používání oprávnění USE_FULL_SCREEN_INTENT. Tento způsob omezení oznámení přispívá k lepšímu uživatelskému dojmu.

Pokud používáte oprávnění USE_FULL_SCREEN_INTENT, od 31. května 2024 je nutné vyplnit prohlášení ve službě Play Console a uvést, zda má aplikace povolenou hlavní funkci a zda splňuje podmínky pro automatické udělení. Od 22. ledna 2025 bude toto oprávnění ve výchozím nastavení u aplikací, které cílí na Android 14 nebo novější, povoleno pouze pro funkce volání nebo budíku. Ostatní aplikace budou muset o využívání daného oprávnění požádat uživatele. U aplikací, které nevyplnily prohlášení nebo nebyly schváleny k výchozímu povolení, budou vývojáři muset požádat uživatele, aby při nových instalacích udělili oprávnění. Pokud oprávnění neudělí, dojde k elegantní degradaci funkcí aplikace.

Časté dotazy

Co se změní na službách v popředí v Androidu 14?

Zavádíme několik nových typů služeb v popředí a typ společně s odpovídajícím oprávněním bude nutné deklarovat. Pokud například deklarujete typ služby v popředí „kamera“, musíte také deklarovat oprávnění FOREGROUND_SERVICE_CAMERA. Použití v popředí musí splňovat i další požadavky popsané v zásadách týkajících se zneužívání zařízení a sítě.

Jak poznám, jaký typ služby v popředí mám použít?

Vyberte typ služby v popředí, který nejlépe odpovídá zamýšlenému použití služby v popředí. Například aplikace na cvičení, která sleduje cvičení uživatele, může deklarovat typ „zdraví“. V případě potřeby můžete vybrat i víc typů služeb v popředí.

Co je to oprávnění služby v popředí a je nutné ho udělit, než se služba v popředí spustí?

Když aplikace, které cílí na Android 14, používají službu v popředí, vývojáři musí pro daný typ služby v popředí deklarovat příslušné oprávnění. Například pokud aplikace používá typ služby v popředí „poloha“, bude nutné deklarovat oprávnění FOREGROUND_SERVICE_LOCATION. Oprávnění služby v popředí, která odkazují na konkrétní typ služby v popředí, jsou definována jako normální oprávnění a udělují se automaticky při instalaci. Uživatelé tato oprávnění nemohou odebrat.

Existují další požadavky kromě deklarování oprávnění?

V závislosti na typu služby v popředí mohou platit další požadavky na systém. Patří mezi ně oprávnění po spuštění, která musí uživatelé udělit před použitím služby. Například při použití služby v popředí typu „poloha“ musí uživatel udělit také oprávnění ACCESS_COARSE_LOCATION nebo ACCESS_FINE_LOCATION. Nejnovější informace najdete v dokumentaci.

Co když můj případ použití v popředí neodpovídá žádnému z definovaných typů služeb v popředí?

Pokud váš případ použití odpovídá jiným charakteristikám pro používání služby v popředí (jak je popsáno v zásadách), můžete v omezených případech deklarovat typ TYPE_SPECIAL_USE. Všechny typy služeb v popředí podléhají kontrole.

Co znamená „zaznamenatelné uživatelem“?

Zaznamenatelné uživatelem znamená, že by si uživatel měl být vědom, že na jeho zařízení běží úloha služby v popředí. Uživatelé akci provedl vědomě, pokud ji sám spustil, např. zahájil přehrávání skladby nebo sledování běhu. Aplikace také může uživatele informovat o probíhající službě v popředí tím, že na hlavním panelu zařízení zobrazí jasné a přesné oznámení.

Co když cílím na verze starší než Android 14?

Pokud cílíte na verzi Androidu před Androidem 14, i nadále používejte atribut android:foregroundServiceType v prvku <service> souboru manifestu aplikace.

Jaký je rozdíl mezi typem služby v popředí dataSync a přenosem dat zahájeným uživatelem?

Úlohy přenosu dat zahájené uživatelem jsou navrženy tak, aby zjednodušily přenosy dat po síti. Mají omezené sledování a automaticky spravují blokování přechodu do režimu spánku. Typ služby v popředí dataSync může zahrnovat přenos dat místně nebo přes síť včetně lokálního zpracování dat v zařízení. Pokud ve vašem případě jde o přenos dat přes síť (jako je Wi-Fi, mobilní síť nebo Bluetooth) v reakci na explicitní žádost uživatele, doporučujeme místo typu služby v popředí dataSync použít úlohu přenosu dat zahájenou uživatelem.

Co se změní na objektech intent na celou obrazovku v Androidu 14?

V systému Android 14 se oprávnění USE_FULL_SCREEN_INTENT přepne z normálního oprávnění na oprávnění aplikací ke speciálnímu přístupu a pouze aplikacím, jejichž hlavní funkce je prioritní použití nastavení budíku nebo přijetí telefonního hovoru či videohovoru, bude automaticky uděleno oprávnění USE_FULL_SCREEN_INTENT. Hlavní funkci berte jako primární účel aplikace, bez kterého by byla rozbitá nebo k ničemu. Jiné aplikace mohou oprávnění používat i nadále, ale až poté, co jim ho uživatel udělí.

Kdy se tyto změny objektů intent na celou obrazovku v Androidu 14 projeví?

Tyto změny vstoupí v platnost 31. května 2024.

Pokud mám aplikaci typu budík nebo aplikaci, která přijímá telefonní hovory či videohovory, jak zajistím, aby aplikace automaticky získala oprávnění?

Pokud aplikace cílí na systém Android 14 nebo novější, na stránce Obsah aplikace v Play Console (Zásady > Obsah aplikace) budete moci deklarovat, že pro svou hlavní funkci používá objekt intent na celou obrazovku. Tato deklarace bude k dispozici od dubna 2024 a poskytneme vám čas k jejímu vyplnění.

Pomohly vám tyto informace?

Jak bychom článek mohli vylepšit?

Potřebujete další pomoc?

Vyzkoušejte tyto další kroky:

true
Vyhledávání
Vymazat vyhledávání
Zavřít vyhledávání
Hlavní nabídka
6574983601270631853
true
Prohledat Centrum nápovědy
true
true
true
true
true
92637
false
false