Pentru a le da dezvoltatorilor posibilitatea să creeze aplicații care le oferă utilizatorilor o experiență consecventă, introducem tipuri suplimentare de servicii în prim-plan, împreună cu un nou set de restricții conexe ale politicilor. Acest articol explică cerințele viitoare pentru serviciile în prim-plan și cum se declară informațiile despre serviciile în prim-plan în Play Console. În plus, detaliază cerințele pentru folosirea notificărilor privind intențiile de afișare pe ecran complet.
Cerințe pentru serviciile în prim-plan pentru Android 14
Pentru a te ajuta să identifici situațiile de folosire adecvate pentru serviciile în prim-plan și să definești clar intenția operațiunilor în fundal ale aplicației, în Android 14 și versiunile ulterioare trebuie să iei următoarele măsuri înainte de a folosi un serviciu în prim-plan:
- declară tipurile de servicii în prim-plan în manifest. Trebuie să faci acest lucru pentru fiecare serviciu în prim-plan pe care intenționezi să-l folosești;
- dacă este cazul pentru tipul selectat, declară și solicită permisiunea Serviciu în prim-plan adecvată pentru fiecare tip de serviciu în prim-plan.
Secțiunea Permisiuni pentru serviciile în prim-plan din Politica privind folosirea abuzivă a dispozitivelor și a rețelelor prezintă în detaliu criteriile necesare pentru folosirea serviciilor în prim-plan. Trebuie să declari tipurile de servicii în prim-plan atunci când actualizezi la Android 14.
Declararea informațiilor despre serviciile în prim-plan în Play Console
Când aplicațiile tale vizează Android 14 și versiunile ulterioare, trebuie să declari toate tipurile de servicii în prim-plan pe care le folosești într-o nouă declarație în pagina Conținutul aplicației (Monitorizează și îmbunătățește > Conținutul aplicației) din Play Console.
Pentru fiecare tip de serviciu în prim-plan pe care îl declari, va trebui să faci următoarele:
- introdu o descriere a funcționalității aplicației care folosește fiecare tip de serviciu în prim-plan;
- descrie impactul asupra utilizatorilor dacă:
- activitatea este amânată de sistem (nu începe imediat) și/sau
- activitatea este întreruptă de sistem (întreruptă și/sau repornită).
- include un link către un videoclip care prezintă fiecare funcție a serviciului în prim-plan. Videoclipul trebuie să prezinte pașii pe care utilizatorul trebuie să îi parcurgă în aplicație pentru a declanșa funcția.
- Alege situația de folosire dorită pentru fiecare tip de serviciu în prim-plan. Ți se va oferi o listă prestabilită a situațiilor de folosire din care să alegi. Anumite situații de folosire asociate tipurilor de servicii în prim-plan se afișează în graficul de mai jos. Aceasta este o listă neexhaustivă; Dacă situația ta de folosire nu se afișează, poți să o introduci manual.
Pentru anumite situații de folosire, îți recomandăm să folosești API-uri alternative. Pentru o listă a acestor situații de folosire și a API-urilor alternative recomandate, accesează site-ul Android Developers.
Notă: mai jos găsești o listă neexhaustivă. Pentru a stabili dacă accesul este adecvat pentru serviciul în prim-plan, consultă politica privind Permisiunile pentru serviciile în prim-plan pentru situațiile de folosire care nu sunt menționate mai jos.
Tipul de SPP | Situații de folosire | Descrieri și exemple |
---|---|---|
TYPE_CAMERA |
Streaming de la cameră în fundal | Accesează în continuare camera din fundal. De exemplu, pentru aplicațiile de chat video care permit multitaskingul. |
TYPE_CONNECTED_DEVICE |
Transfer continuu de date către un dispozitiv extern | Interacțiunile cu dispozitive externe, inclusiv transferul de date care necesită o conexiune Bluetooth, NFC, IR, USB sau la rețea. De exemplu, accesoriu inteligent, monitor pentru copii, set de căști-microfon, mașină. |
TYPE_DATA_SYNC |
Transfer de rețea: backup și restabilire | Folosire pentru funcțiile inițiate de utilizator în mod special. De exemplu, selectarea unei anumite fotografii pentru a face backup în cloud comparativ cu backupul automat zilnic pentru toate fotografiile noi. |
Transfer în rețea: încărcare sau descărcare | De exemplu, preluarea datelor, procesarea la nivel de server. | |
Procesare locală: import sau export | Include migrarea fișierelor de pe cardul SD. | |
Procesare locală: altele | Folosirea pentru procese inițiate de utilizator, nu pentru activități obișnuite inițiate de sistem sau de server. De exemplu, criptare, redimensionare. | |
TYPE_HEALTH |
Sincronizarea datelor despre sănătate | Sincronizarea datelor despre sănătate pentru aplicațiile de fitness, care poate să aibă loc în mai multe aplicații sau să aibă ca scop adunarea datelor colectate prin urmărirea pe dispozitiv. De exemplu, un contor de pași, un tracker pentru exerciții. |
TYPE_LOCATION |
Actualizări ale locației în fundal: afișarea locației inițiată de utilizator | De exemplu, funcția Găsire prieteni, urmărirea activității vehiculului. |
Actualizări ale locației în fundal: navigare | De exemplu, continuarea navigării rutiere pe hărți, urmărirea cursei pentru împărțire. | |
Delimitare geografică | Definirea parametrilor care înconjoară zonele de interes. | |
TYPE_MEDIA_PLAYBACK |
Redarea conținutului media | Continuarea redării conținutului audio sau video în fundal, inclusiv streaming. |
Afișarea în modul picture-in-picture | Când conținutul media este minimizat în timpul redării în fundal. | |
TYPE_MEDIA_PROJECTION |
Proiectarea conținutului media sau a conținutului și streamingul sau înregistrarea cu API-ul MediaProjection | Proiectarea conținutului media pe ecrane care nu sunt principale sau pe dispozitive externe, folosind API-urile MediaProjection, inclusiv streaming. |
FOREGROUND_SERVICE_MEDIA_PROCESSING |
Transcodarea conținutului media | Realizarea unor operațiuni consumatoare de timp asupra elementelor media, cum ar fi conversia conținutului media în diferite formate. |
TYPE_MICROPHONE |
Accesarea conținutului audio în fundal | Capturarea intrărilor audio, de exemplu, comenzi vocale pentru asistentul virtual fără a salva, înregistrare vocală. |
TYPE_PHONE_CALL |
Apelare: API-urile Cellular / VoiP / Telecom | Sunt acceptate diferite funcții ale tastaturii telefonului asociate apelurilor. |
TYPE_REMOTE_MESSAGING |
Retransmiterea comunicărilor sub formă de text către alt dispozitiv | Ajută utilizatorii să folosească în continuare serviciile de mesaje atunci când schimbă dispozitivul. De exemplu, le dă utilizatorilor posibilitatea să trimită mesaje text folosind un client web, prin scanarea unui cod QR și stabilirea unei conexiuni între clientul web și telefon. Nu se limitează la SMS-uri. |
Declarația va fi disponibilă începând din noiembrie 2023 și, dacă este necesar, îți vom acorda timp ca să completezi declarația, să primești feedback și să faci eventuale modificări.
Cerințe privind intențiile de afișare pe ecran complet pentru Android 14
Îți recomandăm să folosești notificările pentru intențiile de afișare pe ecran complet pentru a trimite mesaje cu prioritate ridicată care necesită atenția imediată a utilizatorului. Pentru a ne asigura că această permisiune este limitată la situațiile de folosire cu prioritate ridicată potrivite, pentru Android 14 introducem restricții privind folosirea permisiunii USE_FULL_SCREEN_INTENT
. Prin limitarea notificărilor în acest mod, le oferim utilizatorilor o experiență mai bună.
Dacă folosești permisiunea USE_FULL_SCREEN_INTENT
, trebuie să completezi declarația Play Console începând cu 31 mai 2024 pentru a indica dacă aplicația are o funcționalitate de bază permisă și se califică pentru acordarea automată. Începând cu 22 ianuarie 2025, pentru aplicațiile care vizează Android 14 sau versiuni ulterioare, numai aplicațiile care au funcții de apelare sau de alarmă vor avea această permisiune activată în mod prestabilit. În caz contrar, trebuie să obții permisiunea utilizatorului pentru a folosi permisiunea USE_FULL_SCREEN_INTENT
. În cazul aplicațiilor care nu au completat declarația sau nu au fost aprobate pentru activarea în mod prestabilit, dezvoltatorii vor trebui să le solicite utilizatorilor să acorde permisiunea pentru instalările noi și să degradeze grațios experiența dacă se refuză.
Întrebări frecvente
Ce se schimbă în Android 14 în ceea ce privește serviciile în prim-plan?Introducem câteva tipuri noi de servicii în prim-plan și va fi obligatoriu să declari un tip de serviciu în prim-plan, împreună cu permisiunea Serviciu în prim-plan corespunzătoare. De exemplu, dacă declari tipul de serviciu în prim-plan „cameră foto”, trebuie să declari și permisiunea FOREGROUND_SERVICE_CAMERA. În plus, folosirea în prim-plan trebuie să respecte celelalte cerințe prevăzute în politica privind Folosirea abuzivă a dispozitivelor și a rețelelor.
Alege tipul de serviciu din prim-plan care se potrivește cel mai bine utilizării dorite a serviciului în prim-plan. De exemplu, o aplicație pentru exerciții fizice care monitorizează exercițiile făcute de un utilizator poate să declare tipul de serviciu în prim-plan „sănătate”. De asemenea, poți alege mai multe tipuri de servicii în prim-plan, dacă este cazul pentru aplicația respectivă.
Când aplicațiile care vizează Android 14 folosesc un serviciu în prim-plan, dezvoltatorii trebuie să declare permisiunea Serviciu în prim-plan corespunzătoare pentru tipul respectiv de serviciu în prim-plan. De exemplu, dacă aplicația folosește tipul de serviciu în prim-plan locație, va trebui să declari permisiunea FOREGROUND_SERVICE_LOCATION. Permisiunile Serviciu în prim-plan care fac referire la un anumit tip de serviciu în prim-plan sunt definite ca permisiuni obișnuite și sunt acordate în mod prestabilit în momentul instalării. Utilizatorii nu pot revoca aceste permisiuni.
În funcție de tipul serviciului în prim-plan, pot exista cerințe de sistem suplimentare. Unele dintre acestea pot fi permisiuni în timpul execuției și le cer utilizatorilor să acorde permisiunea ca să le poată folosi. De exemplu, dacă folosește tipul de serviciu în prim-plan „locație”, utilizatorul trebuie să acorde permisiunea ACCESS_COARSE_LOCATION sau ACCESS_FINE_LOCATION. Consultă documentația pentru cele mai recente informații.
În cazuri limitate, dacă situația de folosire întrunește celelalte criterii necesare pentru folosirea serviciului în prim-plan (conform descrierii din politică), poți să declari tipul de serviciu în prim-plan TYPE_SPECIAL_USE
. Toate tipurile de servicii în prim-plan vor fi examinate.
Perceptibil pentru utilizator înseamnă că utilizatorul ar trebui să fie conștient de faptul că o activitate a unui serviciu în prim-plan rulează pe dispozitivul său. Se poate considera că utilizatorii sunt conștienți dacă inițiază chiar ei acțiunea. De exemplu, utilizatorul poate să redea o melodie sau să urmărească o sesiune de alergare. În plus, aplicația poate să informeze utilizatorii cu privire la un serviciu în prim-plan activ prin afișarea unei notificări clare și corecte în bara de activități a dispozitivului.
Dacă vizezi o versiune Android mai veche decât Android 14, continuă să folosești atributul android:foregroundServiceType
în elementul <service> din fișierul manifest al aplicației.
Activitățile de transfer de date inițiate de utilizatori sunt menite să simplifice transferurile de date prin rețea. Acestea au funcția de urmărire a restricțiilor și gestionează automat blocările activării. Tipul de serviciu în prim-plan dataSync poate include transferul de date la nivel local sau prin rețea și poate include prelucrarea datelor la nivel local pe dispozitiv. Dacă situația ta de folosire este pentru transferul datelor prin rețea (de exemplu, Wi-Fi, mobilă sau Bluetooth) ca răspuns la o solicitare explicită din partea unui utilizator, îți recomandăm să folosești activitatea de transfer de date inițiată de utilizator în locul tipului de serviciu în prim-plan dataSync.
Pentru Android 14, USE_FULL_SCREEN_INTENT
va trece de la o permisiune obișnuită la o permisiune de acces pentru aplicații speciale și doar aplicațiile a căror funcționalitate de bază este o situație de folosire cu prioritate ridicată în care setezi o alarmă sau primești apeluri telefonice sau video, se va acorda automat permisiunea USE_FULL_SCREEN_INTENT
. Gândește-te la funcționalitatea de bază ca la scopul principal al aplicației. Fără aceasta, aplicația este deteriorată sau nu se mai poate folosi. Alte aplicații pot folosi în continuare permisiunea, dar numai după ce utilizatorul le-a permis.
Modificările se vor aplica începând cu 31 mai 2024.
Când aplicația vizează Android 14 sau versiuni ulterioare, vei avea opțiunea de a declara că aceasta este o aplicație cu funcționalitate de bază pentru intenția de afișare pe ecran complet în pagina Conținutul aplicației (Monitorizează și îmbunătățește > Conținutul aplicației) din Play Console. Declarația va fi disponibilă începând din aprilie 2024 și îți vom acorda timpul necesar ca să o completezi.