Google höll sitt löfte att förbättra tredjepartsappbutiker på Android genom att låta dem installera appar i bakgrunden på Android 12.
Tillbaka i slutet av september förra året, Google meddelat att det kommer att "göra förändringar i Android 12...för att göra det ännu enklare för människor att använda andra appbutiker på sina enheter samtidigt som de är noga med att inte äventyra säkerhetsåtgärderna Android har vidtagit" som svar på monteringstryck från Epic Games och statliga tillsynsmyndigheter. Google specificerade dock inte exakt vilka ändringar de skulle göra på Android, och de delade inte heller någon specifik information om denna förändring på Google I/O 2021. I Googles officiellt blogginlägg med att tillkännage Android 12 bekräftade företaget dock att det "levererar [sitt] löfte att göra en tredjepartsapp lagrar enklare att använda på Android 12." Tack vare utvecklardokumentationen har vi äntligen en uppfattning om vilka förändringar som sker gjord.
Google har uppdaterat Androids PackageInstaller. SessionParams klass med en ny metod som kallas
setRequireUserAction. Den här metoden anger om användaråtgärder ska krävas innan en appinstallation tillåts. Det är som standard sant för alla appar som har REQUEST_INSTALL_PACKAGES behörighet, som krävs för alla appar innan de kan initiera en installationssession för att ladda en app utanför Google Play eller vilken förinstallerad appbutik som helst på enheten.Däremot användaråtgärd vana krävs för en appinstallation/uppdatering om Allt av följande villkor är uppfyllda:
- Installationsprogrammet väljer det nya beteendet.
- Appen som installeras är inriktad på API-nivå 29 (Android 10) eller högre. (Google noterar att kravet på mål-API-nivå kommer att öka i framtida Android-versioner, en policy som är i linje med Google Plays policy på API-målkrav.)
- Installationsprogrammet uppdaterar antingen sig själv eller installerar en uppdatering till en app som den först installerade.
- Installatören deklarerar att
UPDATE_PACKAGES_WITHOUT_USER_ACTION
lov.
När en appbutik försöker initiera en installationssession och använder detta nya API bör det alltså vara möjligt för uppdateringen att ske utan att användaren behöver acceptera uppdateringen manuellt. Detta kommer att göra uppdatering av appar i omgångar mycket snabbare och gör upplevelsen mer i linje med Google Play Butik.