Android 14 valmistautuu tekemään kokemuksesta entistä paremman kolmansien osapuolien sovelluskauppojen käyttäjille uusien sovellusliittymien ansiosta.
Google Play on ylivoimaisesti suosituin sovelluskauppa Android-käyttäjien keskuudessa, mutta jotkut saattavat väittää, että se ei ansainnut kärkipaikkaansa reilusti. Sääntelyvirastot ja lainsäädäntöelimet ympäri maailmaa ovat tarkastaneet Googlen, koska kuinka se säilyttää sovelluskaupan määräävän asemansa, eikä ole merkkejä siitä, että tämä paine löystyisi milloin tahansa pian. Ehkä siksi Google tekee aloitteen uusien ominaisuuksien käyttöön ottamiseksi Android 14 jotka parantavat kolmannen osapuolen sovelluskauppojen käyttäjien kokemusta.
Useimmat kolmannen osapuolen Android-sovelluskaupat eivät todellakaan kilpaile Google Playn kanssa, eikä se johdu pelkästään niiden sovellusvalikoimasta. Vaikka ensimmäisen osapuolen esiasennetut sovelluskaupat ovat aina pystyneet päivittämään sovelluksia automaattisesti, kolmannen osapuolen sovelluskaupat ovat vasta äskettäin pystyneet tekemään valvomattomia päivityksiä. Google lisäsi
API Android 12:ssa jonka avulla kolmannen osapuolen sovelluskaupat voivat päivittää sovelluksia ilman käyttäjän toimia, mikä vähentää kitkaa käyttämällä kolmannen osapuolen sovelluskauppaa.Tämä kuitenkin jätti kolmannen osapuolen sovelluskaupat edelleen suureen epäedulliseen asemaan toiminnallisuuden suhteen, koska he eivät voineet helposti tietää kun olisi turvallista tehdä automaattinen päivitys. Tätä Google yrittää ratkaista Android 14:ssä uudella API: lla, jonka avulla kolmannen osapuolen sovelluskaupat voivat suorittaa "hellävaraisia päivityksiä".
Lempeitä päivityksiä
Android 14 on lisännyt uuden sovellusliittymän, jonka avulla kolmannen osapuolen sovelluskaupat voivat tarkistaa, täyttyvätkö tietyt ehdot, ennen kuin ne jatkavat sovelluksen automaattista päivittämistä. The Paketin asennusohjelma. InstallConstraints API "sovelluskaupat voivat käyttää sitä automaattisten päivitysten toimittamiseen käyttökokemusta häiritsemättä (kutsutaan lempeäksi päivitykseksi) - esimerkiksi sovelluskauppa saattaa viivyttää päivitykset, kun se huomaa [sic], että päivitettävä sovellus on vuorovaikutuksessa käyttäjä."
Tämän uuden sovellusliittymän avulla kolmannen osapuolen sovelluskaupat voivat tarkistaa, onko sovelluksella, jota he valmistautuvat päivittämään, aktiivinen etualalla oleva palvelu (isRequireAppNotForeground), on vuorovaikutuksessa käyttäjän kanssa jollakin tavalla (isRequireAppNotInteracting) tai on näytöllä (isRequireAppNotTopVisible). Kolmannen osapuolen sovelluskaupat voivat myös tarkistaa, onko laite torkkutilassa (isRequireDeviceIdle) vai puhelussa (isRequireNotInCall).
Vaikka API mahdollistaa tarkistettavien ehtojen määrittämisen, dokumentaatio suosittelee ennalta asetettujen rajoitusten käyttöä, koska "järjestelmä tietää paras tapa tehdä se." Tämä on loogista, koska Googlella on ollut runsaasti aikaa kehittää omassa sovelluskaupassaan, miten automaattiset päivitykset parhaiten käsitellään. Esiasetuksen käyttäminen on myös hyödyllistä, kuten dokumentaatiossa todetaan, koska hellävaraisten päivitysten tarkkuus ja tehokkuus voivat parantua tulevissa julkaisuissa, jos Google lisää API-rajoituksia.
Jokainen ehto, jonka PackageInstaller. InstallConstaints API mahdollistaa tarkistuksen jo olemassa olevien sovellusliittymien kautta, mutta järjestelmän käsitteleminen on paljon helpompaa ja vähemmän häiritsevää. Esimerkiksi kolmannen osapuolen sovelluskaupat, jotka haluavat tarkistaa, käytetäänkö heidän päivittämäänsä sovellusta aktiivisesti käyttäjän on tällä hetkellä käytettävä sovellusliittymää, kuten UsageStats tai AccessibilityService, molemmat arkaluonteisia luvat. Jos he kuitenkin käyttävät tätä uutta Android 14 -sovellusliittymää, he eivät tarvitsisi näitä käyttöoikeuksia työnsä suorittamiseen.
Päivitä omistajuus
"Helppopäivitysten" ottaminen käyttöön ei ole ainoa parannus Android 14:ssä kolmannen osapuolen sovelluskaupoissa. Mukana on myös uusi "päivityksen omistajuus" -mekanismi, jonka avulla kolmannen osapuolen sovelluskaupoista tulee yksinomainen lähde tuleville automaattisille päivityksille sovellukseen, jonka ne ensin asentavat. Tämä tarkoittaa, että jos käytät kolmannen osapuolen sovelluskauppaa, koska sen kautta saatavilla olevat sovellukset ovat tarkastaneet esimerkiksi yhteisössä, tarkistamaton päivitys, joka on saatavilla muista sovelluskaupoista, ei välity automaattisesti laitteesi.
Tällä hetkellä, kun asennat sovelluksen kolmannen osapuolen sovelluskaupan kautta, mikään ei estä ensimmäisen osapuolen sovelluskauppaa päivittämästä kyseistä sovellusta. Vaikka Android 12:n valvomattomien päivitysten sovellusliittymä sallii vain kolmannen osapuolen sovelluskauppojen päivittää äänettömästi sovelluksia, jotka ne ovat ensin asentaneet, ensimmäisen osapuolen sovelluskauppoihin ei vaikuta, koska niillä on etuoikeudet. INSTALL_PACKAGES lupa.
Kolmannen osapuolen sovelluskaupat Android 14:ssä voivat käyttää uutta setRequestUpdateOwnership menetelmä sisään Paketin asennusohjelma. SessionParamskuitenkin kertoa järjestelmälle, että he vaativat päivityksen omistajuutta sovellukseen, jonka he aikovat asentaa. Kun päivityksen omistajuuden pakottaminen on otettu käyttöön sovelluksessa, kaikki muut sovelluskaupat – myös ne, joilla on INSTALL_PACKAGES-lupa – tarvitsevat käyttäjän toimia sovelluksen päivittämiseksi. Päivityksen omistajuus voidaan ottaa käyttöön vain sovelluksen ensimmäisen asennuksen aikana, joten toinen sovelluskauppa ei voi ottaa vastaan päivityksiä, ellei kyseistä sovellusta poisteta ja asenneta uudelleen siitä tallentaa. Sovelluskaupat voivat tarkistaa, onko päivityksen omistajuus otettu käyttöön sovelluksessa, ja jos on, mikä sovellus on päivityksen omistaja, uuden InstallSourceInfo#getUpdateOwnerPackageName() API.
Kolmannen osapuolen sovelluskauppojen on säilytettävä uusi ENFORCE_UPDATE_OWNERSHIP luvan käyttää päivityksen omistajuuden valvontasovellusliittymää, mutta koska tämän luvan suojaustaso on "normaali", järjestelmä myöntää sen asennuksen yhteydessä. Nähtäväksi jää kuitenkin, tarkastaako Google Play tämän luvan/sovellusliittymän käytön.
Asenna ennakkohyväksyntä
Viimeisin uusi Android 14 API, jonka halusin korostaa, on Paketin asennusohjelma. Session#requestUserPreapproval. Tämän sovellusliittymän avulla kolmannen osapuolen sovelluskaupat voivat pyytää käyttäjän hyväksyntää ennen asennusistunnon suorittamista. Uskon, että tästä on hyötyä kolmannen osapuolen sovelluskaupoissa, jotka haluavat tarkoituksella pyytää käyttäjää ennen sovelluksen päivittämistä taustalla.
Kuvittele esimerkiksi, että tietoturvaan keskittyvä sovelluskauppa haluaa ilmoittaa käyttäjälleen, kun sovelluspäivitys lisää uusia käyttöoikeuksia. Sen sijaan, että se päivittäisi sovelluksen automaattisesti ja myöntäisi luvan automaattisesti, jos sen suojaustaso on "normaali", sovelluskauppa voi pyytää käyttäjää ennen päivityksen tekemistä. Tällä hetkellä, jos käyttäjä ei ole paikalla automaattisen päivityksen aikana, kolmannen osapuolen sovelluskaupan on seurattava asennusistuntoa ja pyydettävä heitä myöhemmin. Tämä API yksinkertaistaa tätä prosessia.
Android 14 esittelee paljon uusia ominaisuuksia ja API: ita, kun se julkaistaan myöhemmin tänä vuonna. Vaikka näitä uusia sovellusliittymiä ei ole piilotettu kuten joitain muita havaitsemiamme muutoksia, ei ole takeita siitä, että nämä sovellusliittymät ovat kehittäjien saatavilla vakaassa julkaisussa. Tämä johtuu siitä, että API jäädyttää vasta Android 14 saavuttaa "alustan vakauden" Beta 3:n kanssa kesäkuussa 2023, ja olemme tällä hetkellä vain DP1:ssä. Pidämme silmällä tulevia Android 14 DP- ja Beta-julkaisuja nähdäksemme, säilyvätkö nämä API: t vai lisätäänkö uusia kolmannen osapuolen sovelluskauppoihin liittyviä sovellusliittymiä.