Android 14 tilføjer nye funktioner for at få tredjeparts appbutikker til at fungere endnu bedre

Android 14 forbereder sig på at gøre oplevelsen endnu bedre for brugere af tredjeparts app-butikker takket være nye API'er.

Google Play er langt den mest populære app-butik blandt Android-brugere, men nogle vil måske hævde, at den ikke opnåede sin førsteplads retfærdigt. Google er blevet gransket af regulerende agenturer og lovgivende organer over hele verden på grund af hvordan den bevarer sin dominans i appbutikken, og der er ingen tegn på, at dette pres vil løsne sig når som helst snart. Det er måske derfor, Google tager initiativ til at introducere nye funktioner i Android 14 der forbedrer oplevelsen for brugere af tredjeparts app-butikker.

De fleste tredjeparts appbutikker på Android er ikke rigtig konkurrencedygtige med Google Play, og det er ikke kun på grund af deres appvalg. Mens førsteparts, forudinstallerede app-butikker altid har haft mulighed for at lave automatiske app-opdateringer, har tredjeparts-app-butikker først for nylig været i stand til at lave uovervågede opdateringer. Google tilføjet

en API i Android 12 der lader tredjeparts appbutikker opdatere apps uden brug af brugerhandling, hvilket reducerer friktionen af ved hjælp af en tredjeparts app-butik.

Dette efterlod dog stadig tredjeparts app-butikker i en stor ulempe, når det kommer til funktionalitet, fordi de ikke nemt kunne vide hvornår det ville være sikkert rent faktisk at lave en automatisk opdatering. Det er, hvad Google forsøger at løse i Android 14 med en ny API, der gør det muligt for tredjeparts appbutikker at udføre "blide opdateringer".

Blide opdateringer

Android 14 har tilføjet en ny API, der lader tredjeparts appbutikker kontrollere, om visse betingelser er opfyldt, før de går videre med automatisk opdatering af en app. Det PackageInstaller. InstallConstraints API "kan bruges af appbutikker til at levere automatiske opdateringer uden at forstyrre brugeroplevelsen (benævnt blid opdatering) - for eksempel kan en app-butik udsætte opdateringer, når den finder ud af, at den app, der skal opdateres, interagerer med bruger."

Denne nye API lader tredjeparts appbutikker kontrollere, om en app, de forbereder sig på at opdatere, har en aktiv forgrundstjeneste (isRequireAppNotForeground), interagerer med brugeren på en eller anden måde (isRequireAppNotInteracting), eller er på skærmen (isRequireAppNotTopVisible). Tredjeparts appbutikker kan også kontrollere, om enheden er i døsetilstand (isRequireDeviceIdle) eller i et telefonopkald (isRequireNotInCall).

Mens API'en giver mulighed for at specificere, hvilke betingelser der skal kontrolleres, anbefaler dokumentationen at bruge de forudindstillede begrænsninger, som "systemet ved hvordan man bedst gør det." Dette er logisk, da Google har haft god tid til at udvikle, hvordan man bedst håndterer automatiske opdateringer i sin egen app-butik. Det er også fordelagtigt at bruge forudindstillingen, som det fremgår af dokumentationen, da nøjagtigheden og effektiviteten af ​​skånsomme opdateringer kan blive forbedret i fremtidige udgivelser, hvis Google tilføjer flere begrænsninger til API'en.

Hver betingelse, at PackageInstaller. InstallConstaints API muliggør, at kontrol allerede kan kontrolleres gennem eksisterende API'er, men at have systemet til at håndtere disse kontroller er langt nemmere og mindre påtrængende. For eksempel tredjeparts appbutikker, der ønsker at tjekke, om en app, de opdaterer, aktivt bliver brugt af brugeren vil i øjeblikket skulle bruge en API som UsageStats eller AccessibilityService, begge følsomme tilladelser. Hvis de bruger denne nye Android 14 API, ville de dog ikke have brug for disse tilladelser for at udføre deres arbejde.

Opdater ejerskab

Aktivering af "blide opdateringer" er ikke den eneste forbedring i Android 14 for tredjeparts appbutikker. Der er også en ny "opdater ejerskab"-mekanisme, der lader tredjeparts appbutikker blive den eksklusive kilde til fremtidige automatiske opdateringer til en app, de først installerede. Dette vil betyde, at hvis du bruger en tredjeparts app-butik, fordi de apps, der er tilgængelige gennem den, kontrolleres af community, for eksempel, så vil en ukontrolleret opdatering, der er tilgængelig gennem andre app-butikker, ikke automatisk blive skubbet til din enhed.

Lige nu, når du installerer en app gennem en tredjeparts appbutik, er der intet, der forhindrer en førsteparts appbutik i at opdatere den app. Mens Android 12s uovervågede opdaterings-API kun lader tredjeparts-appbutikker i ro og mag opdatere apps, som de først installerede, er førsteparts-appbutikker upåvirket, da de har de privilegerede INSTALL_PACKAGES tilladelse.

Tredjeparts appbutikker på Android 14 kan bruge den nye setRequestUpdateOwnership metode i PackageInstaller. SessionParams, dog for at fortælle systemet, at de hævder opdateringsejerskab over den app, de er ved at installere. Når først håndhævelse af opdateringsejerskab er aktiveret for en app, skal alle andre appbutikker – selv dem med INSTALL_PACKAGES-tilladelsen – handling fra brugeren for at opdatere appen. Opdateringsejerskab kan kun aktiveres under den indledende installation af en app, så en anden appbutik vil ikke være i stand til at overtage opdateringer, medmindre den pågældende app afinstalleres og geninstalleres fra den butik. App-butikker kan tjekke, om opdateringsejerskab er aktiveret for en app, og i så fald, hvilken app der er opdateringsejeren, gennem den nye InstallSourceInfo#getUpdateOwnerPackageName() API.

Tredjeparts app-butikker skal have den nye ENFORCE_UPDATE_OWNERSHIP tilladelse til at bruge opdaterings-ejerskabshåndhævelses-API'en, men da denne tilladelse har et beskyttelsesniveau på "normalt", vil den blive givet af systemet på installationstidspunktet. Det er dog stadig at se, om Google Play vil revidere brugen af ​​denne tilladelse/API.

Installer forhåndsgodkendelse

Den sidste nye Android 14 API, jeg ville fremhæve, er PackageInstaller. Session#requestUserPreapproval. Denne API lader tredjeparts appbutikker anmode om brugergodkendelse, før de udfører en installationssession. Jeg forestiller mig, at dette vil være nyttigt for tredjeparts app-butikker, der med vilje ønsker at bede brugeren, før de opdaterer en app i baggrunden.

Forestil dig for eksempel, at en sikkerhedsfokuseret app-butik ønsker at lade sin bruger vide, når en appopdatering tilføjer nye tilladelser; i stedet for automatisk at opdatere den app og derved automatisk give den tilladelse, hvis dens beskyttelsesniveau er "normalt", kan app-butikken spørge brugeren, før den udfører opdateringen. I øjeblikket, hvis en bruger ikke er til stede under en automatisk opdatering, skal tredjeparts app-butikken holde styr på installationssessionen og bede dem senere. Denne API forenkler denne proces.


Android 14 vil introducere masser af nye funktioner og API'er, når den udgives til offentligheden senere på året. Selvom disse nye API'er ikke er skjult som nogle af de andre ændringer, vi har set, er der ingen garanti for, at disse API'er vil være tilgængelige for udviklere i den stabile udgivelse. Det skyldes, at API-frysningen ikke vil ske, før Android 14 rammer "platformstabilitet" med Beta 3 i juni 2023, og vi er kun på DP1 i øjeblikket. Vi vil holde øje med fremtidige Android 14 DP- og Beta-udgivelser for at se, om disse API'er bliver ved, eller om der tilføjes nye API'er, der er relevante for tredjeparts app-butikker.