Android 14 forbereder seg på å gjøre opplevelsen enda bedre for brukere av tredjeparts appbutikker takket være nye APIer.
Google Play er den desidert mest populære appbutikken blant Android-brukere, men noen vil kanskje hevde at den ikke oppnådde sin førsteplass rettferdig. Google har blitt gransket av reguleringsbyråer og lovgivende organer over hele verden på grunn av hvordan den opprettholder appbutikkdominansen, og det er ingen tegn på at dette presset vil løsne når som helst snart. Det er kanskje derfor Google tar initiativet til å introdusere nye funksjoner Android 14 som forbedrer opplevelsen for brukere av tredjeparts appbutikker.
De fleste tredjeparts appbutikker på Android er egentlig ikke konkurransedyktige med Google Play, og det er ikke bare på grunn av apputvalget deres. Mens førsteparts, forhåndsinstallerte appbutikker alltid har hatt muligheten til å gjøre automatiske appoppdateringer, har tredjeparts appbutikker bare nylig vært i stand til å gjøre uovervåket oppdateringer. Google la til
en API i Android 12 som lar tredjeparts appbutikker oppdatere apper uten å trenge brukerhandling, noe som reduserer friksjonen til ved å bruke en tredjeparts appbutikk.Dette ga imidlertid fortsatt tredjeparts appbutikker en stor ulempe når det gjelder funksjonalitet, fordi de ikke lett kunne vite når det ville være trygt å faktisk gjøre en automatisk oppdatering. Det er det Google prøver å løse i Android 14 med et nytt API som gjør det mulig for tredjeparts appbutikker å utføre "skånsomme oppdateringer".
Skånsomme oppdateringer
Android 14 har lagt til et nytt API som lar tredjeparts appbutikker sjekke om visse betingelser er oppfylt før de går videre med automatisk oppdatering av en app. De PackageInstaller. InstallConstraints API "kan brukes av appbutikker for å levere automatiske oppdateringer uten å forstyrre brukeropplevelsen (referert til som skånsom oppdatering) - for eksempel kan en appbutikk holde på oppdateringer når den finner ut at appen som skal oppdateres samhandler med bruker."
Dette nye API-et lar tredjeparts appbutikker sjekke om en app de forbereder seg på å oppdatere har en aktiv forgrunnstjeneste (isRequireAppNotForeground), samhandler med brukeren på en eller annen måte (isRequireAppNotInteracting), eller er på skjermen (isRequireAppNotTopVisible). Tredjeparts appbutikker kan også sjekke om enheten er i døsemodus (isRequireDeviceIdle) eller i en telefonsamtale (isRequireNotInCall).
Mens API-en tillater å spesifisere hvilke forhold som skal kontrolleres, anbefaler dokumentasjonen å bruke de forhåndsinnstilte begrensningene som "systemet vet best hvordan man gjør det." Dette er logisk gitt Google har hatt god tid til å utvikle hvordan man best kan håndtere automatiske oppdateringer i sin egen app-butikk. Å bruke forhåndsinnstillingen er også fordelaktig, som nevnt i dokumentasjonen, siden nøyaktigheten og effektiviteten til skånsomme oppdateringer kan bli forbedret i fremtidige utgivelser hvis Google legger til flere begrensninger til API.
Hver betingelse som PackageInstaller. InstallConstaints API gjør at sjekk allerede kan sjekkes gjennom eksisterende APIer, men å ha systemet til å håndtere disse sjekkene er langt enklere og mindre påtrengende. For eksempel tredjeparts appbutikker som ønsker å sjekke om en app de oppdaterer brukes aktivt av brukeren må for øyeblikket bruke en API som UsageStats eller AccessibilityService, begge sensitive tillatelser. Hvis de bruker denne nye Android 14 API, ville de imidlertid ikke trenge disse tillatelsene for å gjøre jobben sin.
Oppdater eierskap
Å aktivere "skånsomme oppdateringer" er ikke den eneste forbedringen i Android 14 for tredjeparts appbutikker. Det er også en ny "oppdater eierskap"-mekanisme som lar tredjeparts appbutikker bli den eksklusive kilden til fremtidige automatiske oppdateringer til en app de først installerte. Dette vil bety at hvis du bruker en tredjeparts appbutikk fordi appene som er tilgjengelige gjennom den, blir kontrollert av fellesskap, for eksempel, vil ikke en ukontrollert oppdatering som er tilgjengelig gjennom andre appbutikker automatisk bli sendt til din enhet.
Akkurat nå, når du installerer en app gjennom en tredjeparts appbutikk, er det ingenting som hindrer en førsteparts appbutikk i å oppdatere den appen. Mens Android 12s uovervåkede oppdaterings-API bare lar tredjeparts appbutikker stille oppdatere apper som de først installerte, er førsteparts appbutikker upåvirket ettersom de har de privilegerte INSTALL_PACKAGES tillatelse.
Tredjeparts appbutikker på Android 14 kan bruke den nye setRequestUpdateOwnership metode i PackageInstaller. SessionParams, men for å fortelle systemet at de krever oppdateringseierskap over appen de skal installere. Når håndhevelse av oppdateringseierskap er aktivert for en app, trenger alle andre appbutikker – selv de med INSTALL_PACKAGES-tillatelsen – handling fra brukeren for å oppdatere appen. Oppdateringseierskap kan bare aktiveres under den første installasjonen av en app, så en annen appbutikk vil ikke kunne ta over oppdateringer med mindre den aktuelle appen avinstalleres og installeres på nytt fra den butikk. Appbutikker kan sjekke om oppdateringseierskap er aktivert for en app, og i så fall hvilken app som er oppdateringseier, gjennom den nye InstallSourceInfo#getUpdateOwnerPackageName() API.
Tredjeparts appbutikker må ha den nye ENFORCE_UPDATE_OWNERSHIP tillatelse til å bruke API for oppdatering av eierskapshåndhevelse, men siden denne tillatelsen har et beskyttelsesnivå på "normal", vil den bli gitt av systemet ved installasjonstidspunktet. Det gjenstår imidlertid å se om Google Play vil revidere bruken av denne tillatelsen/API-en.
Installer forhåndsgodkjenning
Den siste nye Android 14 API jeg ønsket å fremheve er PackageInstaller. Session#requestUserPreapproval. Denne API-en lar tredjeparts appbutikker be om brukergodkjenning før de utfører en installasjonsøkt. Jeg ser for meg at dette vil være nyttig for tredjeparts appbutikker som med vilje ønsker å spørre brukeren før du oppdaterer en app i bakgrunnen.
Tenk deg for eksempel at en sikkerhetsfokusert appbutikk ønsker å gi brukeren beskjed når en appoppdatering legger til nye tillatelser; i stedet for å automatisk oppdatere den appen, og dermed automatisk gi den tillatelsen hvis beskyttelsesnivået er "normalt", kan appbutikken spørre brukeren før oppdateringen. For øyeblikket, hvis en bruker ikke er til stede under en automatisk oppdatering, må tredjeparts appbutikk holde styr på installasjonsøkten og spørre dem senere. Denne API-en forenkler denne prosessen.
Android 14 vil introdusere massevis av nye funksjoner og APIer når den blir utgitt for offentligheten senere i år. Selv om disse nye API-ene ikke er skjult som noen av de andre endringene vi så, er det ingen garanti for at disse API-ene vil være tilgjengelige for utviklere i den stabile utgivelsen. Det er fordi API-frysingen ikke vil skje før Android 14 treffer "plattformstabilitet" med Beta 3 i juni 2023, og vi er bare på DP1 for øyeblikket. Vi vil holde et øye med fremtidige Android 14 DP- og Beta-utgivelser for å se om disse API-ene holder seg eller om noen nye API-er som er relevante for tredjeparts appbutikker er lagt til.