„Android 14“ prideda naujų funkcijų, kad trečiųjų šalių programų parduotuvės veiktų dar geriau

„Android 14“ ruošiasi dar geriau naudotis trečiųjų šalių programų parduotuvių naudotojais dėl naujų API.

„Google Play“ yra pati populiariausia programų parduotuvė tarp „Android“ vartotojų, tačiau kai kurie gali ginčytis, kad ji neuždirbo savo aukščiausios vietos sąžiningai. „Google“ visame pasaulyje tikrino reguliavimo agentūros ir įstatymų leidybos institucijos kaip ji išlaiko dominavimą programų parduotuvėje, ir nėra jokių požymių, kad šis spaudimas kada nors sumažės greitai. Galbūt todėl „Google“ imasi iniciatyvos pristatyti naujas funkcijas Android 14 kurios pagerina trečiųjų šalių programų parduotuvių naudotojų patirtį.

Daugelis trečiųjų šalių programų parduotuvių „Android“ iš tikrųjų nekonkuruoja su „Google Play“, ir tai ne tik dėl jų pasirinktų programų. Pirmosios šalies iš anksto įdiegtos programų parduotuvės visada turėjo galimybę atlikti automatinius programų naujinimus, o trečiųjų šalių programų parduotuvės tik neseniai galėjo atlikti naujinimus be priežiūros. „Google“ pridėjo

API „Android 12“. Tai leidžia trečiųjų šalių programų parduotuvėms atnaujinti programas nereikalaujant vartotojo veiksmų, todėl sumažėja trintis naudojant trečiosios šalies programų parduotuvę.

Tačiau dėl to trečiųjų šalių programų parduotuvės vis tiek atsidūrė nepalankioje padėtyje, kai kalbama apie funkcionalumą, nes jos negalėjo lengvai žinoti kada būtų saugu iš tikrųjų atlikti automatinį atnaujinimą. Būtent tai „Google“ bando išspręsti „Android 14“ naudodama naują API, leidžiančią trečiųjų šalių programų parduotuvėms atlikti „švelnius atnaujinimus“.

Švelnūs atnaujinimai

„Android 14“ pridėjo naują API, leidžiančią trečiųjų šalių programų parduotuvėms patikrinti, ar tenkinamos tam tikros sąlygos, prieš automatiškai atnaujinant programą. The Paketo diegimo programa. InstallConstraints API „gali būti naudojamas programų parduotuvėse, kad pateiktų automatinius naujinimus nepažeidžiant vartotojo patirties (vadinamas kaip švelnus atnaujinimas) – pavyzdžiui, programų parduotuvė gali atidėti naujinimus, kai sužino [sic], kad programa, kurią reikia atnaujinti, sąveikauja su Vartotojas."

Ši nauja API leidžia trečiųjų šalių programų parduotuvėms patikrinti, ar programa, kurią ruošiasi atnaujinti, turi aktyvią pirminio plano paslaugą (isRequireAppNotForeground), tam tikru būdu bendrauja su vartotoju (isRequireAppNotInteracting) arba yra ekrane (isRequireAppNotTopVisible). Trečiųjų šalių programų parduotuvės taip pat gali patikrinti, ar įrenginys veikia miego režimu (isRequireDeviceIdle), ar skambina (isRequireNotInCall).

Nors API leidžia nurodyti, kokias sąlygas reikia patikrinti, dokumentacijoje rekomenduojama naudoti iš anksto nustatytus apribojimus, nes „sistema žino geriausia, kaip tai padaryti“. Tai logiška, nes „Google“ turėjo daug laiko sukurti, kaip geriausiai tvarkyti automatinius naujinimus savo programų parduotuvėje. Išankstinio nustatymo naudojimas taip pat yra naudingas, kaip pažymima dokumentacijoje, nes švelnių atnaujinimų tikslumas ir efektyvumas gali pagerėti būsimose versijose, jei „Google“ pridės daugiau API apribojimų.

Kiekviena sąlyga, kurią PackageInstaller. „InstallConstaints“ API įgalina tikrinimą jau gali būti tikrinamas naudojant esamas API, tačiau sistemai atlikti šiuos patikrinimus yra daug lengviau ir mažiau trukdo. Pavyzdžiui, trečiųjų šalių programų parduotuvės, kurios nori patikrinti, ar jų atnaujinama programa yra aktyviai naudojama. vartotojas šiuo metu turėtų naudoti API, pvz., UsageStats arba AccessibilityService, abi jautrios leidimai. Tačiau jei jie naudoja šią naują „Android 14“ API, jiems nereikės šių leidimų, kad galėtų atlikti savo darbą.

Atnaujinti nuosavybės teisę

„Švelnių naujinimų“ įgalinimas nėra vienintelis „Android 14“ patobulinimas, skirtas trečiųjų šalių programų parduotuvėms. Taip pat yra naujas „naujinimo nuosavybės teisės“ mechanizmas, leidžiantis trečiųjų šalių programų parduotuvėms tapti išskirtiniu būsimų automatinių programos, kurią jos pirmą kartą įdiegė, naujinimų šaltiniu. Tai reikš, kad jei naudojate trečiosios šalies programų parduotuvę, nes joje pasiekiamas programas patikrina pavyzdžiui, bendruomenei, nepatikrintas naujinimas, kurį galima rasti kitose programų parduotuvėse, nebus automatiškai perkeltas į savo įrenginį.

Šiuo metu, kai įdiegiate programą per trečiosios šalies programų parduotuvę, niekas netrukdo pirmosios šalies programų parduotuvei atnaujinti tos programos. Nors „Android 12“ neprižiūrimų naujinimų API leidžia tik trečiųjų šalių programų parduotuvėms tyliai atnaujinti programas, kurias jos pirmą kartą įdiegė, pirmosios šalies programų parduotuvės neturi įtakos, nes jos turi privilegijų. INSTALL_PACKAGES leidimas.

Trečiųjų šalių programų parduotuvėse „Android 14“ galima naudoti naują setRequestUpdateOwnership metodas in Paketo diegimo programa. SessionParamstačiau, kad praneštų sistemai, kad jie pretenduoja į programos, kurią ketina įdiegti, naujinio nuosavybės teisę. Įjungus programos nuosavybės teisės atnaujinimo vykdymą, visoms kitoms programų parduotuvėms (net ir turinčioms INSTALL_PACKAGES leidimą) vartotojas turi imtis veiksmų, kad programa būtų atnaujinta. Atnaujinimo nuosavybės teisę galima įjungti tik pradinio programos diegimo metu, taigi, kitą programų parduotuvę negalės perimti naujinimų, nebent atitinkama programa bus pašalinta ir iš naujo įdiegta parduotuvė. Programų parduotuvės gali patikrinti, ar programai įgalinta naujinimo nuosavybės teisė ir, jei taip, kuri programa yra naujinimo savininkas, naudodami naują InstallSourceInfo#getUpdateOwnerPackageName() API.

Trečiųjų šalių programų parduotuvėse turi būti naujos ENFORCE_UPDATE_OWNERSHIP leidimas naudoti naujinimo nuosavybės teisės vykdymo API, tačiau atsižvelgiant į tai, kad šio leidimo apsaugos lygis yra „įprastas“, sistema jį suteiks diegimo metu. Tačiau dar reikia pamatyti, ar „Google Play“ patikrins, kaip naudojamas šis leidimas / API.

Įdiekite išankstinį patvirtinimą

Paskutinė nauja Android 14 API, kurią norėjau pabrėžti, yra Paketo diegimo programa. Session#requestUserPreapproval. Ši API leidžia trečiųjų šalių programų parduotuvėms prašyti naudotojo patvirtinimo prieš įdiegiant diegimo seansą. Manau, kad tai bus naudinga trečiųjų šalių programų parduotuvėms, kurios tyčia nori paraginti vartotoją prieš atnaujindamos programą fone.

Pavyzdžiui, įsivaizduokite, kad į saugumą orientuota programų parduotuvė nori pranešti savo vartotojui, kai programos naujinys prideda naujų leidimų; Užuot automatiškai atnaujinusi tą programą ir automatiškai suteikdama tą leidimą, jei jos apsaugos lygis yra „normalus“, programų parduotuvė gali paraginti vartotoją prieš atnaujindama. Šiuo metu, jei vartotojas nedalyvauja automatinio naujinimo metu, trečiosios šalies programų parduotuvė turėtų sekti diegimo seansą ir vėliau juos paraginti. Ši API supaprastina šį procesą.


„Android 14“ pristatys daugybę naujų funkcijų ir API, kai vėliau šiais metais bus išleista visuomenei. Nors šios naujos API nėra paslėptos, kaip ir kai kurie kiti pastebėti pakeitimai, nėra garantijos, kad šios API bus pasiekiamos kūrėjams stabiliame leidime. Taip yra todėl, kad API užšalimas neįvyks, kol 2023 m. birželio mėn. „Android 14“ nepasieks „platformos stabilumo“ su 3 beta versija, o šiuo metu dirbame tik su DP1. Stebėsime būsimus „Android 14 DP“ ir beta versijos leidimus, kad pamatytume, ar šios API išliks, ar bus pridėta naujų API, susijusių su trečiųjų šalių programų parduotuvėmis.