Android 14 dodaje nove značajke kako bi trgovine aplikacija trećih strana radile još bolje

click fraud protection

Android 14 priprema se učiniti iskustvo još boljim za korisnike trgovina aplikacija trećih strana zahvaljujući novim API-jima.

Google Play daleko je najpopularnija trgovina aplikacija među korisnicima Androida, ali neki bi mogli tvrditi da nije pošteno zaslužio svoje prvo mjesto. Google je pomno promatran od strane regulatornih agencija i zakonodavnih tijela diljem svijeta zbog kako održava svoju dominaciju u trgovini aplikacija i nema znakova da će taj pritisak popustiti uskoro. To je možda razlog zašto Google preuzima inicijativu za uvođenje novih značajki u Android 14 koje poboljšavaju iskustvo za korisnike trgovina aplikacija trećih strana.

Većina trgovina aplikacija trećih strana na Androidu nije baš konkurentna Google Playu, i to ne samo zbog njihovog odabira aplikacija. Dok su trgovine unaprijed instaliranih aplikacija prve strane uvijek imale mogućnost automatskog ažuriranja aplikacija, trgovine aplikacija trećih strana tek su nedavno mogle vršiti ažuriranja bez nadzora. Google dodao

API u Androidu 12 koji omogućuje trgovinama aplikacija trećih strana da ažuriraju aplikacije bez potrebe za radnjom korisnika, smanjujući trenje pomoću trgovine aplikacija treće strane.

Međutim, to je još uvijek ostavilo trgovine aplikacija trećih strana u velikom nedostatku kada je riječ o funkcionalnosti, jer nisu mogle lako znati kada bilo bi sigurno napraviti automatsko ažuriranje. To je ono što Google pokušava riješiti u Androidu 14 s novim API-jem koji trgovinama aplikacija trećih strana omogućuje izvođenje "nježnih ažuriranja".

Nježna ažuriranja

Android 14 dodao je novi API koji omogućuje trgovinama aplikacija trećih strana da provjere jesu li ispunjeni određeni uvjeti prije nego što krenu s automatskim ažuriranjem aplikacije. The PackageInstaller. InstallConstraints API "trgovine aplikacija mogu ga koristiti za isporuku automatskih ažuriranja bez ometanja korisničkog iskustva (naziva se nježno ažuriranje) - na primjer, trgovina aplikacija može odgoditi ažuriranja kada otkrije [sic] da je aplikacija za ažuriranje u interakciji s korisnik."

Ovaj novi API omogućuje trgovinama aplikacija trećih strana da provjere ima li aplikacija koju se pripremaju ažurirati aktivnu uslugu u prvom planu (isRequireAppNotForeground), na neki je način u interakciji s korisnikom (isRequireAppNotInteracting) ili je na zaslonu (isRequireAppNotTopVisible). Trgovine aplikacija trećih strana također mogu provjeriti je li uređaj u stanju mirovanja (isRequireDeviceIdle) ili u telefonskom pozivu (isRequireNotInCall).

Iako API dopušta određivanje uvjeta za provjeru, dokumentacija preporučuje korištenje unaprijed postavljenih ograničenja jer "sustav zna najbolje kako to učiniti.” To je logično s obzirom da je Google imao dovoljno vremena da razvije kako najbolje rukovati automatskim ažuriranjima u vlastitoj trgovini aplikacija. Korištenje unaprijed postavljenih postavki također je korisno, kao što je navedeno u dokumentaciji, budući da se točnost i učinkovitost blagih ažuriranja mogu poboljšati u budućim izdanjima ako Google doda više ograničenja API-ju.

Svaki uvjet koji PackageInstaller. API InstallConstaints omogućuje provjeru koja se već može provjeriti putem postojećih API-ja, ali mnogo je lakše i manje nametljivo imati sustav koji upravlja tim provjerama. Na primjer, trgovine aplikacija trećih strana koje žele provjeriti koristi li se aplikacija koju ažuriraju aktivno korisnik bi trenutno morao koristiti API poput UsageStats ili AccessibilityService, oba osjetljiva dozvole. Međutim, ako koriste ovaj novi API za Android 14, ta im dopuštenja ne bi trebala za obavljanje posla.

Ažurirajte vlasništvo

Omogućivanje "nježnih ažuriranja" nije jedino poboljšanje u Androidu 14 za trgovine aplikacija trećih strana. Tu je i novi mehanizam "ažuriranja vlasništva" koji omogućuje trgovinama aplikacija trećih strana da postanu ekskluzivni izvor budućih automatskih ažuriranja aplikacije koju su prve instalirale. To će značiti da ako koristite trgovinu aplikacija treće strane jer su aplikacije dostupne putem nje provjerene od strane zajednica, na primjer, tada neprovjereno ažuriranje koje je dostupno putem drugih trgovina aplikacija neće biti automatski proslijeđeno na tvoj uređaj.

Upravo sada, kada instalirate aplikaciju putem trgovine aplikacija treće strane, ništa ne sprječava trgovinu aplikacija prve strane da ažurira tu aplikaciju. Iako API za ažuriranje bez nadzora Androida 12 dopušta samo trgovinama aplikacija trećih strana da tiho ažuriraju aplikacije koje su prve instalirale, trgovine aplikacija prve strane nisu pogođene jer imaju privilegirane INSTALL_PACKAGES dopuštenje.

Trgovine aplikacija trećih strana na Androidu 14 mogu koristiti novo setRequestUpdateOwnership metoda u PackageInstaller. Parametri sesije, međutim, kako bi rekli sustavu da polažu pravo vlasništva nad aplikacijom koju će instalirati. Nakon što je provedba vlasništva ažuriranja omogućena za aplikaciju, sve ostale trgovine aplikacijama - čak i one s dozvolom INSTALL_PACKAGES - trebaju radnju korisnika da ažuriraju aplikaciju. Ažuriranje vlasništva može se omogućiti samo tijekom početne instalacije aplikacije, dakle druga trgovina aplikacija neće moći preuzeti ažuriranja osim ako se dotična aplikacija ne deinstalira i ponovno instalira iz toga trgovina. Trgovine aplikacija mogu provjeriti je li vlasništvo nad ažuriranjem omogućeno za aplikaciju i ako jest, koja je aplikacija vlasnik ažuriranja, putem novog InstallSourceInfo#getUpdateOwnerPackageName() API.

Trgovine aplikacija trećih strana moraju imati novo ENFORCE_UPDATE_VLASNIŠTVO dopuštenje za korištenje API-ja za provedbu vlasništva nadogradnje, ali budući da ovo dopuštenje ima razinu zaštite "normalno", dodijelit će ga sustav u vrijeme instalacije. Međutim, tek treba vidjeti hoće li Google Play izvršiti reviziju korištenja ove dozvole/API-ja.

Instalirajte prethodno odobrenje

Posljednji novi Android 14 API koji sam želio istaknuti je PackageInstaller. Sesija#requestUserPreapproval. Ovaj API omogućuje trgovinama aplikacija trećih strana da zatraže odobrenje korisnika prije nego počnu sesiju instalacije. Pretpostavljam da će ovo biti korisno za trgovine aplikacija trećih strana koje namjerno žele pitati korisnika prije ažuriranja aplikacije u pozadini.

Na primjer, zamislite da trgovina aplikacija usmjerena na sigurnost želi obavijestiti svog korisnika kada ažuriranje aplikacije doda nova dopuštenja; umjesto da automatski ažurira tu aplikaciju, čime automatski daje to dopuštenje ako je njezina razina zaštite "normalna", trgovina aplikacija bi mogla zatražiti od korisnika prije ažuriranja. Trenutačno, ako korisnik nije prisutan tijekom automatskog ažuriranja, trgovina aplikacija treće strane morala bi pratiti instalacijsku sesiju i zatražiti ih kasnije. Ovaj API pojednostavljuje taj proces.


Android 14 će uvesti mnoštvo novih značajki i API-ja kada bude objavljen za javnost kasnije ove godine. Iako ovi novi API-ji nisu skriveni kao neke druge promjene koje smo uočili, nema jamstva da će ti API-ji biti dostupni programerima u stabilnom izdanju. To je zato što se zamrzavanje API-ja neće dogoditi sve dok Android 14 ne postigne "stabilnost platforme" s Beta 3 u lipnju 2023., a trenutno smo samo na DP1. Pripazit ćemo na buduća izdanja Androida 14 DP i Beta kako bismo vidjeli hoće li se ovi API-ji zadržati ili će biti dodani novi API-ji relevantni za trgovine aplikacija trećih strana.