Android 14 valmistub tänu uutele API-dele muutma kolmanda osapoole rakenduste poodide kasutajate kasutuskogemust veelgi paremaks.
Google Play on Androidi kasutajate seas kõige populaarsem rakenduste pood, kuid mõned võivad väita, et see ei teeninud oma esikohta õiglaselt. Google'i on kontrollinud reguleerivad asutused ja seadusandlikud organid üle kogu maailma, kuna kuidas ta säilitab oma rakenduste poe domineerimise, ja pole märke, et see surve igal ajal lõdveneks varsti. Võib-olla sellepärast võtab Google initsiatiivi uute funktsioonide kasutuselevõtuks Android 14 mis parandavad kolmandate osapoolte rakenduste poodide kasutajate kasutuskogemust.
Enamik Androidi kolmandate osapoolte rakenduste poode ei ole Google Playga tegelikult konkurentsivõimelised ja seda mitte ainult nende rakenduste valiku tõttu. Kui esimese osapoole eelinstallitud rakenduste poodidel on alati olnud võimalus teha rakendusi automaatseid värskendusi, siis kolmanda osapoole rakenduste poed on alles hiljuti saanud järelevalveta värskendusi teha. Google lisas
API Android 12-s mis võimaldab kolmandate osapoolte rakenduste poodidel värskendada rakendusi ilma kasutaja sekkumist vajamata, vähendades sellega hõõrdumist kasutades kolmanda osapoole rakenduste poodi.Kuid see jättis kolmandate osapoolte rakenduste poed funktsionaalsuse osas siiski suuresse ebasoodsasse olukorda, sest nad ei saanud lihtsalt teada millal turvaline oleks tegelikult teha automaatne värskendus. Seda püüab Google Android 14-s lahendada uue API-ga, mis võimaldab kolmandate osapoolte rakenduste poodidel teha õrnaid värskendusi.
Õrnad uuendused
Android 14 on lisanud uue API, mis võimaldab kolmanda osapoole rakenduste poodidel enne rakenduse automaatset värskendamist kontrollida, kas teatud tingimused on täidetud. The Package Installer. InstallConstraints API "saab kasutada rakenduste poed, et pakkuda automaatseid värskendusi ilma kasutajakogemust häirimata (mida nimetatakse õrnaks värskenduseks) - näiteks võib rakenduste pood värskendusi peatada, kui ta avastab [sic], et värskendatav rakendus suhtleb kasutaja."
See uus API võimaldab kolmanda osapoole rakenduste poodidel kontrollida, kas rakendusel, mida nad valmistuvad värskendama, on aktiivne esiplaani teenus (isRequireAppNotForeground), suhtleb kasutajaga mingil viisil (isRequireAppNotInteracting) või on ekraanil (isRequireAppNotTopVisible). Kolmandate osapoolte rakenduste poed saavad kontrollida ka seda, kas seade on unerežiimis (isRequireDeviceIdle) või telefonikõnes (isRequireNotInCall).
Kuigi API võimaldab täpsustada, milliseid tingimusi kontrollida, soovitab dokumentatsioon kasutada eelseadistatud piiranguid, kuna süsteem teab parim, kuidas seda teha." See on loogiline, kuna Google'il on olnud piisavalt aega, et töötada välja, kuidas oma rakenduste poes automaatseid värskendusi kõige paremini hallata. Eelseadistuse kasutamine on samuti kasulik, nagu dokumentatsioon märgib, kuna õrnade värskenduste täpsus ja tõhusus võivad tulevastes versioonides paraneda, kui Google lisab API-le rohkem piiranguid.
Iga tingimus, et PackageInstaller. InstallConstaints API võimaldab kontrollimist juba olemasolevate API-de kaudu kontrollida, kuid nende kontrollide haldamine süsteemil on palju lihtsam ja vähem sekkuv. Näiteks kolmanda osapoole rakenduste poed, mis soovivad kontrollida, kas nende värskendatavat rakendust kasutatakse aktiivselt kasutaja peab praegu kasutama API-t, nagu UsageStats või AccessibilityService, mõlemad tundlikud load. Kui nad aga kasutavad seda uut Android 14 API-t, ei vajaks nad oma töö tegemiseks neid õigusi.
Värskendage omandiõigust
Õrnate värskenduste lubamine ei ole ainus täiustus Android 14-s kolmandate osapoolte rakenduste poodide jaoks. Samuti on olemas uus "värskenduste omandiõiguse" mehhanism, mis võimaldab kolmandate osapoolte rakenduste poodidel saada nende esmalt installitud rakenduse tulevaste automaatsete värskenduste eksklusiivseks allikaks. See tähendab, et kui kasutate kolmanda osapoole rakenduste poodi, kuna selle kaudu saadaolevaid rakendusi kontrollib näiteks kogukonnale, siis kontrollimata värskendust, mis on saadaval muudes rakenduste poodides, ei lükata automaatselt teie seadet.
Praegu, kui installite rakenduse kolmanda osapoole rakenduste poe kaudu, ei takista miski esimese osapoole rakenduste poel seda rakendust värskendamast. Kuigi Android 12 järelevalveta värskenduste API võimaldab kolmanda osapoole rakenduste poodidel vaikselt värskendada rakendusi, mille nad esmakordselt installisid, ei mõjuta see esimese osapoole rakenduste poode, kuna neil on privilegeeritud INSTALL_PACKAGES luba.
Android 14 kolmandate osapoolte rakenduste poed saavad kasutada uut setRequestUpdateOwnership meetod sisse Package Installer. SessionParamssiiski, et öelda süsteemile, et nad taotlevad installitava rakenduse värskenduse omandiõigust. Kui rakenduse värskendamise omandilise kuuluvuse jõustamine on lubatud, vajavad kõik muud rakenduste poed – isegi need, millel on luba INSTALL_PACKAGES – kasutajalt rakenduse värskendamiseks toimingut. Värskenduse omandiõigust saab lubada ainult rakenduse esmase installimise ajal, nii et mõni muu rakenduste pood ei saa värskendusi üle võtta, välja arvatud juhul, kui kõnealune rakendus on sealt desinstallitud ja uuesti installitud poodi. Rakenduste poed saavad uue rakenduse kaudu kontrollida, kas rakenduse värskenduse omandiõigus on lubatud ja kui on, siis milline rakendus on värskenduse omanik. InstallSourceInfo#getUpdateOwnerPackageName() API.
Kolmandate osapoolte rakenduste poodides peab olema uus ENFORCE_UPDATE_OWNERSHIP luba kasutada värskenduse omandiõiguse jõustamise API-t, kuid kuna selle loa kaitsetase on "tavaline", annab süsteem selle installimise ajal. Siiski on alles näha, kas Google Play kontrollib selle loa/API kasutamist.
Installige eelkinnitus
Viimane uus Android 14 API, mida tahtsin esile tõsta, on Package Installer. Session#requestUserPreapproval. See API võimaldab kolmanda osapoole rakenduste poodidel taotleda kasutaja kinnitust enne installiseansi sooritamist. Arvan, et see on kasulik kolmandate osapoolte rakenduste poodidele, kes soovivad tahtlikult kasutajat enne rakenduse värskendamist taustal küsida.
Kujutage näiteks ette, et turvalisusele keskendunud rakenduste pood soovib oma kasutajale teada anda, kui rakenduse värskendus lisab uusi õigusi; selle asemel, et rakendust automaatselt värskendada, andes sellega automaatselt selle loa, kui selle kaitsetase on "normaalne", võib rakenduste pood kasutajat enne värskendamist küsida. Kui kasutajat automaatse värskenduse ajal ei viibi, peaks kolmanda osapoole rakenduste pood praegu installiseanssi jälgima ja neid hiljem küsima. See API lihtsustab seda protsessi.
Android 14 tutvustab palju uusi funktsioone ja API-sid, kui see selle aasta lõpus avalikkusele avaldatakse. Kuigi neid uusi API-sid ei peideta nagu mõningaid muid meie täheldatud muudatusi, ei ole garanteeritud, et need API-d on stabiilses versioonis arendajatele saadaval. Selle põhjuseks on asjaolu, et API külmutamine ei toimu enne, kui Android 14 saavutab platvormi stabiilsuse koos beetaversiooniga 3 juunis 2023, ja praegu on meil ainult DP1. Hoiame silma peal tulevastel Android 14 DP- ja beetaversioonidel, et näha, kas need API-d jäävad alles või kas lisatakse uusi kolmandate osapoolte rakenduste poodide jaoks olulisi API-sid.