Annak érdekében, hogy a fejlesztők konzisztens felhasználói élményt nyújtó alkalmazásokat hozhassanak létre, további előtérben futó szolgáltatástípusokat és ezekhez kapcsolódóan új irányelvi korlátozásokat vezetünk be. Ez a cikk bemutatja az előtérben futó szolgáltatásokra vonatkozó közelgő követelményeket, és azt, hogy miként kell deklarálni az előtérben futó szolgáltatásokra vonatkozó adatokat a Play Console-ban. Ezenfelül ismerteti a teljes képernyős intentértesítések használatára vonatkozó követelményeket is.
Az előtérben futó szolgáltatásokra vonatkozó követelmények Android 14 rendszeren
Annak érdekében, hogy könnyebben azonosítani lehessen az előtérben futó szolgáltatásoknak megfelelő használati eseteket, illetve hogy egyértelműen meg lehessen határozni az alkalmazás háttérbeli futásának célját, az Android 14 és újabb rendszereknél az alábbiakat kell megtenned az előtérben futó szolgáltatások használata előtt:
- Deklaráld az előtérben futó szolgáltatás(ok) típusát a manifestfájlban. Ezt minden használni kívánt előtérben futó szolgáltatás esetében el kell végezni.
- Ha ez érvényes a kiválasztott típusra, deklaráld és kérelmezd az egyes előtérben futó szolgáltatástípusoknak megfelelő előtérben futó szolgáltatással kapcsolatos engedélyt.
Az Eszközzel és hálózattal való visszaélésről szóló irányelvünk Előtérben futó szolgáltatások engedélyei című szakaszában részletesen ismertetjük az előtérben futó szolgáltatások használatához szükséges követelményeket. Amikor Android 14-re frissítesz, deklarálnod kell az előtérben futó szolgáltatások típusait.
Az előtérben futó szolgáltatásokra vonatkozó információk megadása a Play Console-ban
Ha az alkalmazásaid az Android 14-es vagy újabb verzióját célozzák, akkor a használt előtérben futó szolgáltatásokat deklarálnod kell egy új nyilatkozatban a Play Console Alkalmazástartalom oldalán (Irányelvek > Alkalmazástartalom).
Az előtérben futó szolgáltatások minden deklarált típusánál a következőket kell tenned:
- Add meg az egyes előtérben futó szolgáltatástípusokat használó alkalmazásfunkciók leírását.
- Ismertesd a felhasználókra gyakorolt hatást, ha:
- A feladatot késlelteti a rendszer (nem kezdődik el azonnal); és/vagy
- a feladatot megszakítja a rendszer (szünetelteti és/vagy újraindítja).
- Adj meg egy linket egy olyan videóhoz, amely bemutatja az egyes előtérben futó szolgáltatások funkcióit. A videónak be kell mutatnia azokat a lépéseket, amelyeket a felhasználónak az alkalmazásban el kell végeznie a funkció aktiválásához.
- Válaszd ki a konkrét használati esetet az egyes előtérben futó szolgáltatások típusának megfelelően. Rendelkezésedre bocsátjuk a használati esetek előre beállított listáját, amelyből választhatsz. Az alábbi táblázatban az előtérben futó szolgáltatások típusaihoz társított, kiválasztott használati esetek találhatók. A lista nem teljes körű; Ha nem találod az adott használati esetet a felsorolásban, manuálisan is megadhatod.
Bizonyos használati eseteknél alternatív API-k használatát javasoljuk. Ezeknek a használati eseteknek és a javasolt alternatív API-knak a listáját az Android-fejlesztők webhelyen találod.
Megjegyzés: Az alábbi lista nem teljes. Annak eldöntéséhez, hogy az alábbiakban nem említett használati esetek vonatkozásában a hozzáférés megfelelő-e az előtérben futó szolgáltatás szempontjából, tekintsd át Az előtérben futó szolgáltatások engedélyei című irányelvet.
Előtérben futó szolgáltatás típusa | Használati esetek | Leírások és példák |
---|---|---|
TYPE_CAMERA |
Háttérbeli kamerastreamelés | A kamerához a háttérből való hozzáférés folytatása. Ilyenek például a több feladat egyidejű elvégzését lehetővé tevő videocsevegési alkalmazások. |
TYPE_CONNECTED_DEVICE |
Folyamatos adatátvitel külső eszközre | Interakciók külső eszközökkel, így például Bluetooth-, NFC-, infravörös, USB- vagy hálózati kapcsolatot igénylő adatátvitelt Például: hordható eszköz, babafigyelő, headset, autó. |
TYPE_DATA_SYNC |
Hálózati átvitel: Biztonsági mentés és visszaállítása | Kifejezetten a felhasználó által elindított funkciókhoz való használat. Például egy adott fénykép kiválasztása a felhőbe való biztonsági mentéshez, szemben az összes új fénykép napi automatikus biztonsági mentésével. |
Hálózati átvitel: feltöltés vagy letöltés | Ilyen például az adatok lekérése, a szerveroldali feldolgozás. | |
Helyi feldolgozás: Médiafájlok átkódolása | Médiafájlok – például hang- és videófájlok – átalakításának folyamata egyik formátumról a másikra (például a videószerkesztéshez hasonló funkciók). | |
Helyi feldolgozás: importálás vagy exportálás | Idetartozik a fájlok SD-kártyáról való áttelepítése is. | |
Helyi feldolgozás: egyéb | A kifejezetten a felhasználó által kezdeményezett munkára (nem pedig rendszeres rendszer- vagy szerver által indított feladatokhoz) való használat. Például a titkosítás, az átméretezés. | |
TYPE_HEALTH |
Egészségügyi adatok szinkronizálása | Egészségügyi adatok szinkronizálása a fitnesz kategóriába tartozó alkalmazások számára, ami lehet az alkalmazások közötti szinkronizálás, vagy az eszközön történő nyomon követéssel gyűjtött adatok összegyűjtése. Például lépésszámlálás, edzéskövetés. |
TYPE_LOCATION |
Helyadatok frissítése a háttérben: a felhasználó által kezdeményezett helymegosztás | Például: ismerőskereső funkció, járműtevékenységek nyomon követése. |
Helyadatok frissítése a háttérben: navigáció | Például autós navigáció folytatása a térképeken, személyszállítás nyomon követése autómegosztás esetén. | |
Földrajzi helymeghatározás | Az érdeklődési területeket körülvevő paraméterek meghatározása. | |
TYPE_MEDIA_PLAYBACK |
Médialejátszás | A háttérből való hang- és videólejátszás – a streamelést is ideértve – folytatása. |
Kép megjelenítése képben | Ha a médiaformátum kis méretűre van állítva a háttérben való lejátszás során. | |
TYPE_MEDIA_PROJECTION |
Média- vagy tartalomvetítés, valamint streamelés vagy rögzítés a MediaProjection API-val | Médiatartalom kivetítése (beleértve a streamelést is) nem elsődleges kijelzőre vagy külső eszközre a MediaProjection API-k segítségével. |
TYPE_MICROPHONE |
Hozzáférés a hanghoz a háttérből | Hangbemenet rögzítése (például a virtuális segédnek adott hangalapú utasítások rögzítése mentés, hangfelvétel készítése nélkül. |
TYPE_PHONE_CALL |
Hívás: Mobil-/VoiP-/telekommunikációs API-k | A különféle hívási tárcsázófunkciók támogatása. |
TYPE_REMOTE_MESSAGING |
Szöveges kommunikáció továbbítása egy másik eszköznek | A felhasználó üzenetküldési folyamatainak folytonosságában segít eszközváltáskor. Például lehetővé teszi a felhasználók számára, hogy egy QR-kód beolvasásával és a webes kliens és a telefon közötti kapcsolat létrehozásával szöveges üzeneteket küldjenek egy webes kliensen keresztül. Nem korlátozódik az SMS-ekre. |
A nyilatkozat 2023 novemberétől áll rendelkezésre, és adunk majd időt számodra arra, hogy kitöltsd a nyilatkozatot, megkapd vele kapcsolatban a visszajelzést, és szükség esetén elvégezd a kért módosításokat.
Teljes képernyős intentekre vonatkozó követelmények Android 14 rendszeren
Használhatsz teljes képernyős intentértesítéseket a felhasználó azonnali figyelmét igénylő, magas prioritású üzenetek megosztására. Annak érdekében, hogy ez az engedély a megfelelő magas prioritású használati esetekre korlátozódjon, az Android 14-től kezdődően korlátozásokat vezetünk be a USE_FULL_SCREEN_INTENT
engedély használatára. Az értesítések ilyen korlátozása hozzájárul a jobb felhasználói élményhez.
Ha a USE_FULL_SCREEN_INTENT
engedélyt használod, akkor 2024. május 31-től kötelező kitöltened a Play Console-nyilatkozatot annak jelzéséhez, hogy az alkalmazásod rendelkezik-e engedélyezett alapvető funkcióval, továbbá hogy megfelel-e az automatikus engedélyezés feltételeinek. 2025. január 22-től az Android 14 vagy újabb rendszert célzó alkalmazások esetében alapértelmezés szerint csak a hívás- vagy riasztásfunkciókkal rendelkező alkalmazások rendelkezhetnek ezzel az engedéllyel. Ellenkező esetben a USE_FULL_SCREEN_INTENT
engedély használatához felhasználói engedélyt kell szerezned. Az olyan alkalmazás esetén, amelyre vonatkozóan nem történt meg a nyilatkozat kitöltése, vagy amelyet nem hagytak jóvá alapértelmezett engedélyezésre, a fejlesztőnek kell felkérnie a felhasználókat arra, hogy adjanak engedélyt az új telepítésekre, az engedély megtagadása esetén pedig az alkalmazás által kínált élményt fokozatosan gyengíteni kell.
Gyakori kérdések
Mi változik az előtérben futó szolgáltatások esetében az Android 14 rendszerben?Számos új előtérben futó szolgáltatástípust vezetünk be, és kötelező lesz deklarálni az előtérben futó szolgáltatás típusát, valamint az előtérben futó szolgáltatással kapcsolatos megfelelő engedélyt. Ha például a „camera” előtérben futó szolgáltatástípust deklarálod, akkor a FOREGROUND_SERVICE_CAMERA engedélyt is deklarálnod kell. Az előtérbeli használatnak az Eszközzel és hálózattal való visszaélésről szóló irányelv egyéb követelményeinek is meg kell felelnie.
Válaszd ki azt az előtérben futó szolgáltatástípust, amely a legjobban megfelel a célzott előtérbeli használatnak. Például egy edzésalkalmazás, amely egy adott felhasználó edzéseit követi nyomon, deklarálhatja a „health” előtérben futó szolgáltatástípust. Adott esetben több előtérben futó szolgáltatástípust is választhatsz az alkalmazásodhoz.
Ha az Android 14-et célzó alkalmazások előtérben futó szolgáltatást használnak, akkor a fejlesztőknek deklarálniuk kell az adott előtérben futó szolgáltatás típusára vonatkozó előtérben futó szolgáltatással kapcsolatos engedélyt. Ha például az alkalmazás a „location” előtérben lévő szolgáltatástípust használja, akkor deklarálnod kell a(z) FOREGROUND_SERVICE_LOCATION engedélyt. Az adott előtérben futó szolgáltatástípusra hivatkozó előtérben futó szolgáltatással kapcsolatos engedélyek normál engedélyeknek minősülnek, és az alkalmazások a telepítéskor alapértelmezés szerint megkapják őket. Ezeket az engedélyeket a felhasználók nem vonhatják vissza.
Az előtérben futó szolgáltatás típusától függően további rendszerkövetelmények is érvényben lehetnek. Ezek némelyike lehet futtatáskor kért engedély, és a felhasználóknak engedélyt kell adniuk, mielőtt használni lehetne ezeket. Ha például az alkalmazás a „location” előtérben futó szolgáltatástípust használja, a felhasználónak meg kell adnia az ACCESS_COARSE_LOCATION vagy az ACCESS_FINE_LOCATION engedélyek egyikét. A legfrissebb információk a dokumentációban találhatók.
Korlátozott esetekben, ha a használati eset megfelel az előtérben futó szolgáltatások használatához szükséges egyéb jellemzőknek (lásd az irányelvet), TYPE_SPECIAL_USE
típusúként deklarálhatod az előtérben futó szolgáltatás típusát. Az összes előtérben futó szolgáltatástípus ellenőrzés tárgyát képezi.
A „felhasználó által érzékelhető” azt jelenti, hogy a felhasználónak tisztában kell lennie azzal, hogy egy előtérben futó szolgáltatási feladat fut az eszközén. A felhasználó akkor van tisztában az előzőekkel, ha ő maga indítja el a műveletet; például lejátszhat egy zeneszámot vagy nyomon követhet egy futást. Az alkalmazás úgy is felhívhatja a felhasználó figyelmét egy folyamatban lévő előtérben futó szolgáltatásra, hogy egyértelmű és pontos értesítést jelenít meg az eszköz tálcáján.
Ha az Android 14-nél korábbi verziót célzol meg, továbbra is használd az android:foregroundServiceType
attribútumot az alkalmazás manifestfájljának <service> elemében.
A felhasználó által kezdeményezett adatátviteli feladatok a hálózaton keresztüli adatátvitel egyszerűsítésére szolgálnak. Követik a korlátozásokat, és automatikusan kezelik az alkalmazásébresztéseket. A dataSync előtérben futó szolgáltatástípus tartalmazhatja az adatok helyi vagy hálózaton keresztül történő átvitelét, valamint az adatok helyi feldolgozását az eszközön. Ha a használati eset kifejezett felhasználói kérésre történő, hálózaton (pl. Wi-Fi, mobil vagy Bluetooth) keresztüli adatátvitelre szolgál, akkor a felhasználó által kezdeményezett adatátvitel munka használatát javasoljuk a dataSync előtérben futó szolgáltatástípus helyett.
Android 14 rendszeren a USE_FULL_SCREEN_INTENT
normál engedélyről speciális alkalmazás-hozzáférési engedélyre vált, és csak az olyan alkalmazások esetén kapja meg a rendszer automatikusan a USE_FULL_SCREEN_INTENT
engedélyt, amelyek alapvető funkciói magas prioritású használati esetek, például ébresztés beállítása, illetve telefon- vagy videohívások fogadása. Alkalmazásod alapvető funkciói az alkalmazásod fő céljaként jellemezhetők, amelyek nélkül az alkalmazás nem működik vagy nem használható. Más alkalmazások továbbra is használhatják az engedélyt, de csak azután, hogy engedélyt kaptak a felhasználótól.
A változások 2024. május 31-én lépnek érvénybe.
Ha az alkalmazásod az Android 14-es vagy újabb verzióját célozza, akkor lehetőséged van deklarálni, hogy az alkalmazás alapvető funkciókat betöltő alkalmazás, amely teljes képernyős intenthez kapcsolódik. Ezt a Play Console Alkalmazástartalom oldalán teheted meg (Irányelvek > Alkalmazástartalom). A nyilatkozat 2024 áprilisától áll rendelkezésre, és adunk majd időt számodra arra, hogy kitöltsd a nyilatkozatot.