Informatie over service op de voorgrond en vereisten voor intentiemeldingen op volledig scherm

We willen dat ontwikkelaars apps kunnen maken met een consistente gebruikerservaring. Daarom introduceren we aanvullende servicetypen op de voorgrond, samen met een nieuwe reeks gerelateerde beleidsbeperkingen. In dit artikel leggen we uit wat de vereisten voor services op de voorgrond zijn en hoe je informatie over services op de voorgrond definieert in de Play Console. Ook worden de vereisten voor gebruik van intentiemeldingen op volledig scherm beschreven.

Vereisten voor services op de voorgrond voor Android 14

Voor Android 14 en hoger doe je het volgende, voordat je een service op de voorgrond gebruikt. Zo kun je bepalen welke use cases geschikt zijn voor services op de voorgrond en kun je de intentie van de functies van je app op de achtergrond duidelijk definiëren:

Het gedeelte Rechten voor services op de voorgrond van ons Beleid tegen misbruik van apparaten en netwerken geeft een gedetailleerd overzicht van de criteria voor het gebruik van services op de voorgrond. Als je updatet naar Android 14, moet je typen services op de voorgrond definiëren.

Informatie over je service op de voorgrond definiëren in de Play Console

Als je apps Android 14 en hoger targeten, definieer je alle typen services op de voorgrond die je in een nieuwe declaratie gebruikt op de pagina App-content (Beleid > App-content) in de Play Console.

Doe voor elk type service op de voorgrond het volgende:

  1. Geef een beschrijving van de app-functionaliteit die elk type service op de voorgrond gebruikt.
  2. Beschrijf de gevolgen voor de gebruikers als:
    • de taak wordt uitgesteld door het systeem (niet onmiddellijk wordt gestart) en/of
    • de taak wordt onderbroken door het systeem (onderbroken en/of opnieuw gestart).
  3. Voeg een link toe naar een video die elke functie op de voorgrond illustreert. De video moet de stappen tonen die de gebruiker in je app moet volgen om de functie te activeren.
  4. Kies je specifieke use case voor elk type service op de voorgrond. Je krijgt een vooraf gedefinieerde lijst met use cases waaruit je kunt kiezen. In het onderstaande diagram staan bepaalde use cases die zijn toegewezen aan typen services op de voorgrond. Deze lijst is niet volledig: als je use case er niet bij staat, kun je deze handmatig invoeren.

    Voor bepaalde use cases raden we je aan om alternatieve API's te gebruiken. Ga naar de site van Android voor ontwikkelaars voor een lijst met deze use cases en de API's die als alternatief worden aangeraden.

Opmerking: De lijst hieronder is niet volledig. Check het beleid Rechten voor services op de voorgrond voor use cases die hieronder niet worden vermeld om te bepalen of toegang voldoet aan dit beleid.

Type rechten voor services op de voorgrond Use cases Beschrijvingen en voorbeelden
TYPE_CAMERA Camerastreaming op de achtergrond De camera blijft geopend op de achtergrond. Bijvoorbeeld: apps voor videochatten waarmee mensen kunnen multitasken.
TYPE_CONNECTED_DEVICE Continue gegevensoverdracht naar een extern apparaat Interacties met externe apparaten, waaronder gegevensoverdracht waarvoor een bluetooth-, NFC-, IR-, USB- of netwerkverbinding is vereist. Bijvoorbeeld: wearable, babyfoon, headset, auto.
TYPE_DATA_SYNC Netwerkoverdracht: back-up en herstel Gebruik dit recht voor functies die specifiek door de gebruiker worden gestart. Je kunt bijvoorbeeld een specifieke foto selecteren om een back-up in de cloud te maken of een dagelijks automatische back-up maken van alle nieuwe foto's.
Netwerkoverdracht: uploaden of downloaden Bijvoorbeeld: gegevens ophalen, verwerking aan de serverzijde.
Lokale verwerking: transcodering van media Het proces om mediabestanden, zoals audio en video, van de ene indeling naar de andere te converteren (bijvoorbeeld: functies zoals videobewerking).
Lokale verwerking: importeren of exporteren Hieronder valt ook het overzetten van bestanden vanaf de SD-kaart.
Lokale verwerking: overig Gebruik deze optie voor werk dat specifiek door de gebruiker wordt gestart en niet voor reguliere taken die door het systeem of de server worden gestart. Bijvoorbeeld: versleuteling of het formaat aanpassen.
TYPE_HEALTH Synchronisatie van gezondheidsgegevens Synchronisatie van gezondheidsgegevens voor apps in de categorie fitness. Dit kan tussen verschillende apps zijn of om gegevens te verzamelen die worden geregistreerd via tracking op het apparaat. Bijvoorbeeld: stappenteller, activiteitstracker.
TYPE_LOCATION Locatie-updates op de achtergrond: door de gebruiker gestart locatie delen Bijvoorbeeld: de functie Vind mijn vriend en voertuigactiviteit bijhouden.
Locatie-updates op de achtergrond: navigatie Bijvoorbeeld doorgaan met autonavigatie in Maps, ritten bijhouden voor gedeelde ritten.
Geofencing Definieer parameters rondom interessante locaties.
TYPE_MEDIA_PLAYBACK Media afspelen Doorgaan met afspelen van audio of video op de achtergrond, waaronder streamen.
Scherm-in-scherm tonen Media wordt geminimaliseerd wanneer deze op de achtergrond wordt afgespeeld.
TYPE_MEDIA_PROJECTION Media- of contentprojectie en streamen of opnemen met de MediaProjection API Media projecteren naar niet-primaire schermen of externe apparaten met de MediaProjection API's, waaronder streaming.
TYPE_MICROPHONE Toegang tot audio op de achtergrond Registreer audio-invoer, zoals spraakopdrachten voor de virtuele assistent zonder op te slaan, spraakopname.
TYPE_PHONE_CALL Bellen: API's voor mobiel/VoiP/Telecom Ondersteun verschillende kiezerfuncties voor bellen.
TYPE_REMOTE_MESSAGING Tekstcommunicatie doorsturen naar een ander apparaat Assisteert zonder continuïteit van de berichttaken van gebruikers wanneer die schakelen tussen apparaten. Sta gebruikers bijvoorbeeld toe om tekstberichten te sturen via een webclient door een QR-code te scannen en een verbinding tot stand te brengen tussen de webclient en de telefoon. Niet beperkt tot sms.

De declaratie is vanaf november 2023 beschikbaar. We geven je de tijd om de declaratie in te vullen, feedback te krijgen en zo nodig aanpassingen door te voeren.

Vereisten voor intentiemeldingen op volledig scherm voor Android 14

Je kunt intentiemeldingen op volledig scherm gebruiken om berichten met hoge prioriteit te delen die onmiddellijke aandacht van de gebruiker vereisen. We introduceren in Android 14 beperkingen voor het gebruik van het recht USE_FULL_SCREEN_INTENT om te zorgen dat dit recht wordt beperkt tot de juiste use cases met hoge prioriteit. Een beperking van meldingen op deze manier zorgt voor een betere functionaliteit voor gebruikers.

Veelgestelde vragen

Wat verandert er voor services op de voorgrond in Android 14?

We introduceren verschillende nieuwe typen services op de voorgrond. Het wordt verplicht om een type service op de voorgrond samen met de juiste rechten voor voorgrondservices te definiëren. Als je bijvoorbeeld het type service op de voorgrond 'camera' definieert, moet je ook het recht FOREGROUND_SERVICE_CAMERA definiëren. Je gebruik op de voorgrond moet ook voldoen aan de andere vereisten in ons Beleid tegen misbruik van apparaten en netwerken.

Hoe weet ik welk type service op de voorgrond ik moet gebruiken?

Kies het type service op de voorgrond dat het beste overeenkomt met het beoogde gebruik van de service op de voorgrond. Voor een trainings-app die de training van een gebruiker bijhoudt, kun je bijvoorbeeld het type service op de voorgrond 'gezondheid' definiëren. Je kunt ook meerdere typen services op de voorgrond selecteren als dit van toepassing is op je app.

Wat is een recht voor services op de voorgrond en moet de gebruiker toestemming geven voordat de service op de voorgrond wordt gestart?

Als apps die Android 14 targeten een service op de voorgrond gebruiken, moeten ontwikkelaars de juiste rechten voor services op de voorgrond definiëren voor dat specifieke type service op de voorgrond. Als je app bijvoorbeeld het type service op de voorgrond 'locatie' gebruikt, moet je het recht FOREGROUND_SERVICE_LOCATION definiëren. Rechten voor services op de voorgrond die verwijzen naar een specifiek type service op de voorgrond, worden gedefinieerd als normale rechten en worden standaard verleend op het moment van installatie. Gebruikers kunnen deze rechten niet intrekken.

Zijn er aanvullende vereisten naast de verplichting om de juiste rechten voor de service op de voorgrond te definiëren?

Afhankelijk van het type service op de voorgrond kunnen er aanvullende systeemvereisten gelden. Dit kunnen runtime-rechten zijn. Deze vereisen dat gebruikers rechten verlenen, voordat de services kunnen worden gebruikt. Als de gebruiker bijvoorbeeld het type service op de voorgrond 'locatie' gebruikt, moet deze ook het recht ACCESS_COARSE_LOCATION of ACCESS_FINE_LOCATION verlenen. Raadpleeg de documentatie voor de nieuwste informatie.

Wat als mijn toepassing op de voorgrond niet overeenkomt met een van de opgegeven typen services op de voorgrond?

Als je use case voldoet aan de andere vereiste kenmerken voor gebruik van services op de voorgrond (zoals beschreven in het beleid), mag je in beperkte scenario's aangeven dat het type service op de voorgrond TYPE_SPECIAL_USE is. Alle typen services op de voorgrond worden beoordeeld.

Wat betekent 'kan worden opgemerkt door de gebruiker'?

'Kan worden opgemerkt door de gebruiker' betekent dat de gebruiker zich ervan bewust moet zijn dat er een servicetaak op de voorgrond wordt uitgevoerd op het apparaat. Je mag ervan uitgaan dat de gebruiker zich ervan bewust is als die de actie zelf start, bijvoorbeeld als de gebruiker een nummer afspeelt of een hardloopsessie registreert. Je app kan gebruikers ook bewust maken van een doorlopende service op de voorgrond door een duidelijke en nauwkeurige melding in de taakbalk op het apparaat te tonen.

Wat als ik versies van vóór Android 14 target?

Als je een Android-versie vóór Android 14 target, blijf je het kenmerk android:foregroundServiceType gebruiken in het element <service> van het manifestbestand van je app.

Wat is het verschil tussen het type service op de voorgrond 'dataSync' en door de gebruiker gestarte gegevensoverdrachtstaken?

Door de gebruiker gestarte gegevensoverdrachtstaken zijn bedoeld om gegevensoverdracht via het netwerk te vereenvoudigen. Ze houden beperkingen bij en beheren automatisch wake locks. Het type service op de voorgrond 'dataSync' kan gegevens lokaal of via een netwerk overdragen en kan gegevens lokaal op het apparaat verwerken. Als je een use case hebt om gegevens via een netwerk (zoals wifi, mobiel of bluetooth) over te zetten naar aanleiding van een expliciet gebruikersverzoek, raden we je aan de taak voor door de gebruiker gestarte gegevensoverdracht te gebruiken in plaats van het type service op de voorgrond 'dataSync'.

Wat verandert er voor intentiemeldingen op volledig scherm in Android 14?

Voor Android 14 schakelt USE_FULL_SCREEN_INTENT over van een normaal recht naar een speciaal recht voor app-toegang. Alleen apps waarvan de kernfunctionaliteit een use case met hoge prioriteit is als je een wekker instelt of telefoon- of videogesprekken binnenkrijgt, krijgen automatisch het recht USE_FULL_SCREEN_INTENT. Je kunt de kernfunctionaliteit beschouwen als het hoofddoel van je app: de functionaliteit die de app nodig heeft om te werken of bruikbaar te zijn. Andere apps kunnen het recht nog steeds gebruiken, maar pas nadat ze toestemming van de gebruiker hebben gekregen.

Wanneer gaan deze wijzigingen voor intentiemeldingen op volledig scherm in Android 14 in?

Deze wijzigingen gaan in op 31 mei 2024.

Als mijn app een wekker-app is of een app die telefoon- of videogesprekken kan uitvoeren, hoe kan ik dan zorgen dat mijn app automatisch dit recht krijgt?

Als je app Android 14 en hoger target, kun je aangeven dat je app een kernfunctionaliteit-app is voor intentiemeldingen op volledig scherm op de pagina App-content (Beleid > App-content) in de Play Console. De declaratie is vanaf april 2024 beschikbaar en we geven je de tijd om de declaratie in te vullen.

Was dit nuttig?

Hoe kunnen we dit verbeteren?

Meer hulp nodig?

Probeer de volgende stappen:

true
Zoeken
Zoekopdracht wissen
Zoekfunctie sluiten
Hoofdmenu
17048620735381558615
true
Zoeken in het Helpcentrum
true
true
true
true
true
92637
false
false