For å gjøre det mulig for utviklere å lage apper med en konsekvent brukeropplevelse lanserer vi flere typer forgrunnstjenester i tillegg til et nytt sett med relaterte begrensninger basert på retningslinjene. I denne artikkelen forklares de kommende kravene til forgrunnstjenester og hvordan du erklærer informasjon om forgrunnstjenester i Play-konsollen. Kravene for bruk av varsler om fullskjermintensjon forklares også.
Krav til forgrunnstjenester for Android 14
For å hjelpe deg med å identifisere hvilke bruksmønstre som er egnet for forgrunnstjenester, og definere formålet med bakgrunnsarbeidet i appen din tydelig, krever Android 14 og nyere at du gjør følgende før du bruker en forgrunnstjeneste:
- Erklær typen(e) forgrunnstjeneste(r) i manifestet. Du må gjøre dette for alle forgrunnstjenester du har tenkt å bruke.
- Hvis det er relevant for typen du har valgt, må du erklære og be om tillatelsen for forgrunnstjenester som passer for hver type forgrunnstjeneste.
I delen Tillatelser for forgrunnstjenester (FGS) i retningslinjene om misbruk av enheter og nettverk finner du en detaljert beskrivelse av kriteriene som gjelder for bruk av forgrunnstjenester. Du må erklære typene forgrunnstjenester når du oppdaterer til Android 14.
Erklæring av informasjon om forgrunnstjenester i Play-konsollen
Når appene dine er målrettet mot Android 14 eller nyere, må du erklære alle typer forgrunnstjenester du bruker, i en ny erklæring på Appinnhold-siden (Retningslinjer > Appinnhold) i Play-konsollen.
For hver type forgrunnstjeneste du erklærer, må du
- oppgi en beskrivelse av appfunksjonaliteten som bruker hver type forgrunnstjeneste
- beskrive virkningen på brukeren hvis
- oppgaven blir utsatt av systemet (ikke starter umiddelbart)
- oppgaven blir avbrutt av systemet (settes på pause og/eller startes på nytt)
- inkludere en link til en video som viser hver funksjon av forgrunnstjenesten. Videoen må vise hva brukeren må gjøre for å utløse funksjonen.
- Velg et eget bruksmønster for hver type forgrunnstjeneste. Du får en forhåndslaget liste over bruksmønstre du kan velge mellom. Utvalgte bruksmønstre som er tilordnet ulike typer forgrunnstjenester, står oppført i diagrammet nedenfor. Denne listen er ikke uttømmende. Hvis du ikke ser bruksmønsteret ditt oppført, kan du legge det inn manuelt.
For enkelte bruksmønstre anbefaler vi at du bruker alternative API-er. Hvis du vil se en liste over disse bruksmønstrene og de anbefalte alternative API-ene, kan du gå til nettstedet for Android-utviklere.
Merk: Listen nedenfor er ikke uttømmende. For å finne ut om tilgangen er egnet for tillatelser for forgrunnstjenester, se retningslinjene for tillatelser for forgrunnstjenester for bruksmønstre som ikke står oppført nedenfor.
Type tillatelse for forgrunnstjenester | Bruksmønstre | Beskrivelser og eksempler |
---|---|---|
TYPE_CAMERA |
Kamerastrømming i bakgrunnen | Fortsatt bruk av kameraet i bakgrunnen. Eksempel: videochat-apper som støtter multitasking. |
TYPE_CONNECTED_DEVICE |
Kontinuerlig dataoverføring til en ekstern enhet | Interaksjoner med eksterne enheter, inkludert dataoverføring som krever Bluetooth-, NFC-, IR-, USB- eller nettverkstilkobling. Eksempler: hapå-teknologi, babymonitorer, hodetelefoner eller biler. |
TYPE_DATA_SYNC |
Nettverksoverføring: sikkerhetskopiering og gjenoppretting | Brukes for spesifikke funksjoner som startes av brukere. Eksempel: En bruker kan velge et bestemt bilde som skal sikkerhetskopieres til nettskyen, i stedet for at alle nye bilder sikkerhetskopieres automatisk hver dag. |
Nettverksoverføring: opplasting eller nedlasting | Eksempel: henting av data eller behandling på tjenersiden. | |
Lokal behandling: medieomkoding | Prosessen med å konvertere mediefiler, for eksempel lyd og video, fra et format til et annet (f.eks. funksjoner som videoredigering). | |
Lokal behandling: import eller eksport | Inkluderer overføring av filer fra SD-kort. | |
Lokal behandling: annet | Brukes spesifikt for brukerstartede handlinger, ikke for vanlige system- eller tjenerstartede oppgaver. Eksempel: kryptering eller endring av størrelse. | |
TYPE_HEALTH |
Synkronisering av helsedata | Synkronisering av helsedata for apper i treningskategorien. Dette kan gjøres mellom flere apper eller for å samle data som er samlet inn via sporing på enheten. Eksempel: skrittelling eller sporing av trening. |
TYPE_LOCATION |
Oppdateringer av bakgrunnsposisjon: brukerstartet posisjonsdeling | Eksempel: Finn vennen min-funksjonen eller aktivitetssporing for kjøretøy. |
Oppdateringer av bakgrunnsposisjon: navigasjon | Eksempel: fortsatt bruk av kjørenavigering i Maps eller sporing av turer ved bildeling. | |
Geogjerde | Definer parametere rundt områder av interesse. | |
TYPE_MEDIA_PLAYBACK |
Medieavspilling | Fortsatt avspilling av lyd eller video i bakgrunnen, inkludert strømming. |
Vis bilde-i-bilde | Når medieformatet er minimert ved avspilling i bakgrunnen. | |
TYPE_MEDIA_PROJECTION |
Medie- eller innholdsprojeksjon og -strømming eller -opptak med MediaProjection API | Projisering av medieinnhold til eksterne enheter eller skjermer som ikke er hovedskjermer, ved hjelp av MediaProjection API-ene, inkludert strømming. |
TYPE_MICROPHONE |
Tilgang til bakgrunnslyd | Registrering av lydinndata, for eksempel talekommandoer for virtuelle assistenter uten å lagre, taleopptak. |
TYPE_PHONE_CALL |
Anrop: Cellular/VoiP/Telecom API | Støtter flere forskjellige ringefunksjoner. |
TYPE_REMOTE_MESSAGING |
Overføring av tekstkommunikasjon til en annen enhet | Bidrar – uten kontinuitet – til brukernes meldingsoppgaver når de bytter enhet. Du kan for eksempel la brukere sende tekstmeldinger via en nettklient ved å skanne en QR-kode og opprette en tilkobling mellom nettklienten og telefonen. Dette er ikke begrenset til SMS. |
Erklæringen blir tilgjengelig innen november 2023. Vi kommer til å gi deg god tid til å fylle ut erklæringen, få tilbakemeldinger og gjøre eventuelle endringer.
Krav til fullskjermintensjon for Android 14
Det kan være lurt å bruke varsler om fullskjermintensjon for å dele viktige meldinger som brukerne må se med en gang. For å sikre at denne tillatelsen er begrenset til de egnede bruksområdene med høy prioritet, innfører vi begrensninger for bruken av USE_FULL_SCREEN_INTENT
-tillatelsen for Android 14. Denne begrensningen av varsler bidrar til at brukerne får en bedre opplevelse.
Hvis du bruker tillatelsen USE_FULL_SCREEN_INTENT
, må du fylle ut erklæringen i Play-konsollen for å oppgi om appen din har tillatt kjernefunksjonalitet og er kvalifisert for automatisk tilordning. Dette gjelder fra og med 31. mai 2024. For apper som er målrettet mot Android 14 eller nyere, blir denne tillatelsen bare aktivert som standard for apper med ringe- eller alarmfunksjoner fra og med 22. januar 2025. Ellers må du få brukertillatelse til å bruke tillatelsen USE_FULL_SCREEN_INTENT
. For apper som ikke har fylt ut erklæringen – eller som ikke er godkjent for standardaktivering – må utviklerne be brukerne om å gi tillatelse ved nye installeringer, og det må brukes dynamisk funksjonsreduksjon hvis tillatelsen ikke gis.
Vanlige spørsmål
Hva endres for forgrunnstjenester i Android 14?Vi lanserer flere nye typer forgrunnstjenester, og det blir obligatorisk å erklære en type for forgrunnstjenester og den aktuelle tillatelsen for forgrunnstjenester. Hvis du for eksempel erklærer typen «kamera» for forgrunnstjenesten, må du også erklære tillatelsen FOREGROUND_SERVICE_CAMERA. Bruken av forgrunnstjenester må også overholde de andre kravene som er beskrevet i retningslinjene om misbruk av enheter og nettverk.
Velg typen forgrunnstjeneste som passer best med hvordan du har tenkt til å bruke forgrunnstjenesten. Eksempelvis kan en treningsapp som sporer treningsøktene til en bruker, erklære «helse» som typen forgrunnstjeneste. Du kan også velge flere typer forgrunnstjenester hvis det er aktuelt for appen din.
Når apper som er målrettet mot Android 14, bruker en forgrunnstjeneste, må utviklerne erklære den aktuelle tillatelsen for forgrunnstjenesten for den spesifikke typen forgrunnstjeneste. Hvis appen din for eksempel bruker «sted» som en type forgrunnstjeneste, må du erklære tillatelsen FOREGROUND_SERVICE_LOCATION. Tillatelser for forgrunnstjenester som henviser til en bestemt type forgrunnstjeneste, defineres som vanlige tillatelser og gis som standard på installasjonstidspunktet. Brukere kan ikke oppheve disse tillatelsene.
Avhengig av typen forgrunnstjeneste kan det finnes flere systemkrav. Noen av disse kan være tillatelser under kjøring som krever at brukerne gir tillatelse før de kan brukes. Hvis du for eksempel bruker typen «posisjon», må brukeren også gi enten ACCESS_COARSE_LOCATION- eller ACCESS_FINE_LOCATION-tillatelsen. Du finner oppdatert informasjon i dokumentasjonen.
Hvis bruksmønsteret ditt oppfyller de andre egenskapene som kreves for bruk av forgrunnstjenester (som beskrevet i retningslinjene), kan du i begrensede tilfeller oppgi typen TYPE_SPECIAL_USE
. Alle typer for forgrunnstjenester blir gjennomgått.
Tydelig for brukerne betyr at brukerne må være klar over at det kjøres en forgrunnstjeneste på enheten. Brukere kan regnes som informert hvis de starter handlingen selv, f.eks. hvis de spiller av en sang eller sporer en løpetur. Appen kan også gjøre brukerne oppmerksomme på en aktiv forgrunnstjeneste ved å vise et tydelig og nøyaktig varsel i oppgavelinjen på enheten.
Hvis du målretter mot en Android-versjon eldre enn Android 14, må du fortsette å bruke android:foregroundServiceType
-attributtet i <service>-elementet i appens manifestfil.
User-Initiated Data Transfer Jobs er laget for å forenkle dataoverføringer over nettverket. De har begrensningssporing og administrerer oppvekkingslåser automatisk. DataSync-typen for forgrunnstjenester kan omfatte overføring av data lokalt eller over et nettverk og behandling av data lokalt på enheten. Hvis bruksmønsteret ditt gjelder overføring av data via et nettverk (for eksempel wifi, mobil eller Bluetooth) som respons på direkte forespørsler fra brukere, anbefaler vi at du bruker User-Initiated Data Transfer Job i stedet for dataSync-typen for forgrunnstjeneste.
Med Android 14 endres USE_FULL_SCREEN_INTENT
fra å være en vanlig tillatelse til å bli en spesialtillatelse for apptilgang, og bare apper med bruksmønstre med høy prioritet, det vil si innstilling av alarmer eller mottak av telefon- eller videoanrop, får tillatelsen USE_FULL_SCREEN_INTENT
automatisk. Du kan tenke på kjernefunksjonaliteten som hovedformålet med appen, og at uten denne funksjonaliteten fungerer ikke appen som den skal eller i det hele tatt. Andre apper kan fortsatt bruke tillatelsen, men bare etter at brukeren har gitt tillatelse til det.
Disse endringene trer i kraft 31. mai 2024.
Når appen din er målrettet mot Android 14 eller nyere, kan du erklære at den er en app med kjernefunksjonalitet for fullskjermintensjon på Appinnhold-siden (Retningslinjer > Appinnhold) i Play-konsollen. Erklæringen blir tilgjengelig fra april 2024, og vi gir deg god tid til å fylle ut erklæringen.