Android 14 lägger till nya funktioner för att få tredjepartsappbutiker att fungera ännu bättre

click fraud protection

Android 14 förbereder sig för att göra upplevelsen ännu bättre för användare av tredjepartsappbutiker tack vare nya API: er.

Google Play är den överlägset mest populära appbutiken bland Android-användare, men vissa kanske hävdar att den inte fick sin topplacering rättvist. Google har granskats av tillsynsmyndigheter och lagstiftande organ runt om i världen på grund av hur den bibehåller sin appbutiksdominans, och det finns inga tecken på att detta tryck kommer att lossna när som helst snart. Det är kanske därför Google tar initiativet att introducera nya funktioner i Android 14 som förbättrar upplevelsen för användare av tredjepartsappbutiker.

De flesta appbutiker från tredje part på Android är inte riktigt konkurrenskraftiga med Google Play, och det är inte bara på grund av deras appval. Medan förstaparts, förinstallerade appbutiker alltid har haft möjligheten att göra automatiska appuppdateringar, har tredjepartsappbutiker först nyligen kunnat göra obevakade uppdateringar. Google lade till

ett API i Android 12 som låter tredjepartsappbutiker uppdatera appar utan att användaren behöver göra något, vilket minskar friktionen för använder en appbutik från tredje part.

Men detta lämnade fortfarande appbutiker från tredje part i en stor nackdel när det gäller funktionalitet, eftersom de inte lätt kunde veta när det skulle vara säkert att faktiskt göra en automatisk uppdatering. Det är vad Google försöker lösa i Android 14 med ett nytt API som gör det möjligt för tredjepartsappbutiker att utföra "snälla uppdateringar".

Milda uppdateringar

Android 14 har lagt till ett nytt API som låter tredjepartsappbutiker kontrollera om vissa villkor är uppfyllda innan de går vidare med att automatiskt uppdatera en app. De PackageInstaller. InstallConstraints API "kan användas av appbutiker för att leverera automatiska uppdateringar utan att störa användarupplevelsen (kallad mild uppdatering) - till exempel kan en appbutik vänta med uppdateringar när den upptäcker att appen som ska uppdateras interagerar med användare."

Detta nya API låter tredjepartsappbutiker kontrollera om en app som de förbereder för att uppdatera har en aktiv förgrundstjänst (isRequireAppNotForeground), interagerar med användaren på något sätt (isRequireAppNotInteracting), eller är på skärmen (isRequireAppNotTopVisible). Tredjepartsappbutiker kan också kontrollera om enheten är i slumrläge (isRequireDeviceIdle) eller i ett telefonsamtal (isRequireNotInCall).

Medan API: et tillåter att specificera vilka villkor som ska kontrolleras, rekommenderar dokumentationen att de förinställda begränsningarna används som "systemet vet bäst hur man gör det." Detta är logiskt med tanke på att Google har haft gott om tid på sig att utveckla hur man bäst hanterar automatiska uppdateringar i sin egen appbutik. Att använda förinställningen är också fördelaktigt, vilket framgår av dokumentationen, eftersom noggrannheten och effektiviteten för skonsamma uppdateringar kan förbättras i framtida utgåvor om Google lägger till fler begränsningar för API: et.

Varje villkor som PackageInstaller. InstallConstaints API gör att kontroll redan kan kontrolleras genom befintliga API: er, men att systemet hanterar dessa kontroller är mycket enklare och mindre påträngande. Till exempel appbutiker från tredje part som vill kontrollera om en app som de uppdaterar används aktivt av användaren skulle för närvarande behöva använda ett API som UsageStats eller AccessibilityService, båda känsliga behörigheter. Om de använder detta nya Android 14 API skulle de dock inte behöva dessa behörigheter för att göra sitt jobb.

Uppdatera ägande

Att aktivera "snälla uppdateringar" är inte den enda förbättringen i Android 14 för appbutiker från tredje part. Det finns också en ny mekanism för "uppdatering av äganderätt" som låter tredjepartsappbutiker bli den exklusiva källan för framtida automatiska uppdateringar av en app som de först installerade. Detta kommer att innebära att om du använder en appbutik från tredje part eftersom apparna som är tillgängliga genom den kontrolleras av community, till exempel, kommer en obevakad uppdatering som är tillgänglig via andra appbutiker inte automatiskt att skickas till din enhet.

Just nu, när du installerar en app via en tredjepartsappbutik, finns det inget som hindrar en förstapartsappbutik från att uppdatera den appen. Medan Android 12:s API för obevakade uppdateringar endast låter tredjepartsappbutiker tyst uppdatera appar som de först installerade, påverkas inte förstapartsappbutiker eftersom de har privilegierna INSTALL_PACKAGES lov.

Tredjepartsappbutiker på Android 14 kan använda den nya setRequestUpdateOwnership metod i PackageInstaller. SessionParams, dock för att berätta för systemet att de gör anspråk på uppdateringsäganderätt över appen de ska installera. När upprätthållande av äganderättsupprätthållande har aktiverats för en app, behöver alla andra appbutiker – även de med INSTALL_PACKAGES-behörigheten – åtgärder från användaren för att uppdatera appen. Ägarskap för uppdateringar kan endast aktiveras under den första installationen av en app, så en annan appbutik kommer inte att kunna ta över uppdateringar om inte appen i fråga avinstalleras och installeras om från den Lagra. Appbutiker kan kontrollera om uppdateringsägande är aktiverat för en app, och i så fall vilken app som är uppdateringsägaren, genom den nya InstallSourceInfo#getUpdateOwnerPackageName() API.

Tredjeparts appbutiker måste hålla den nya ENFORCE_UPDATE_OWNERSHIP behörighet att använda API: et för upprätthållande av äganderätt, men eftersom denna behörighet har en skyddsnivå på "normal", kommer den att beviljas av systemet vid installationen. Det återstår dock att se om Google Play kommer att granska användningen av denna behörighet/API.

Installera förhandsgodkännande

Det senaste nya Android 14 API jag ville lyfta fram är PackageInstaller. Session#requestUserPreapproval. Detta API låter tredjepartsappbutiker begära användargodkännande innan de utför en installationssession. Jag föreställer mig att detta kommer att vara användbart för appbutiker från tredje part som avsiktligt vill fråga användaren innan de uppdaterar en app i bakgrunden.

Föreställ dig till exempel att en säkerhetsfokuserad appbutik vill låta sin användare veta när en appuppdatering lägger till nya behörigheter; istället för att automatiskt uppdatera den appen, och därmed automatiskt ge den behörigheten om dess skyddsnivå är "normal", kan appbutiken fråga användaren innan uppdateringen görs. För närvarande, om en användare inte är närvarande under en automatisk uppdatering, måste tredjepartsappbutiken hålla reda på installationssessionen och fråga dem senare. Detta API förenklar den processen.


Android 14 kommer att introducera massor av nya funktioner och API: er när den släpps till allmänheten senare i år. Även om dessa nya API: er inte är dolda som några av de andra ändringarna vi upptäckte, finns det ingen garanti för att dessa API: er kommer att vara tillgängliga för utvecklare i den stabila versionen. Det beror på att API-frysningen inte kommer att hända förrän Android 14 når "plattformsstabilitet" med Beta 3 i juni 2023, och vi är bara på DP1 för tillfället. Vi kommer att hålla utkik efter framtida Android 14 DP och Beta-versioner för att se om dessa API: er finns kvar eller om några nya API: er som är relevanta för tredjepartsappbutiker läggs till.