Android 14 se připravuje na to, aby uživatelé obchodů s aplikacemi třetích stran díky novým rozhraním API ještě vylepšili zážitek.
Google Play je mezi uživateli Androidu zdaleka nejoblíbenějším obchodem s aplikacemi, ale někteří by mohli namítnout, že své první místo nezískal spravedlivě. Google byl kvůli tomu kontrolován regulačními agenturami a zákonodárnými orgány po celém světě jak si udržuje dominanci obchodu s aplikacemi a neexistují žádné známky toho, že by se tento tlak kdykoli uvolnil již brzy. To je možná důvod, proč Google přebírá iniciativu a představuje nové funkce Android 14 které zlepšují zážitek pro uživatele obchodů s aplikacemi třetích stran.
Většina obchodů s aplikacemi třetích stran pro Android ve skutečnosti není konkurenceschopná vůči Google Play, a to nejen kvůli jejich výběru aplikací. Zatímco obchody s předinstalovanými aplikacemi první strany měly vždy možnost provádět automatické aktualizace aplikací, obchody s aplikacemi třetích stran byly schopny provádět bezobslužné aktualizace teprve nedávno. přidal Google
API v Androidu 12 to umožňuje obchodům s aplikacemi třetích stran aktualizovat aplikace bez nutnosti zásahu uživatele, což snižuje tření pomocí obchodu s aplikacemi třetí strany.Obchody s aplikacemi třetích stran jsou však stále ve velké nevýhodě, pokud jde o funkčnost, protože nemohli snadno zjistit když bylo by bezpečné skutečně provést automatickou aktualizaci. To se Google snaží vyřešit v systému Android 14 pomocí nového rozhraní API, které umožňuje obchodům s aplikacemi třetích stran provádět „jemné aktualizace“.
Jemné aktualizace
Android 14 přidal nové rozhraní API, které umožňuje obchodům s aplikacemi třetích stran zkontrolovat, zda jsou splněny určité podmínky, než začnou automaticky aktualizovat aplikaci. The PackageInstaller. InstallConstraints API “může být použit v obchodech s aplikacemi k poskytování automatických aktualizací bez narušení uživatelského zážitku (označuje se jako šetrná aktualizace) – například obchod s aplikacemi může pozastavit aktualizace, když zjistí, že aplikace k aktualizaci interaguje s uživatel."
Toto nové rozhraní API umožňuje obchodům s aplikacemi třetích stran zkontrolovat, zda aplikace, kterou se chystají aktualizovat, má aktivní službu na popředí (isRequireAppNotForeground), nějakým způsobem komunikuje s uživatelem (isRequireAppNotInteracting) nebo je na obrazovce (isRequireAppNotTopVisible). Obchody s aplikacemi třetích stran mohou také zkontrolovat, zda je zařízení v režimu spánku (isRequireDeviceIdle) nebo probíhá telefonní hovor (isRequireNotInCall).
Zatímco API umožňuje specifikovat, jaké podmínky kontrolovat, dokumentace doporučuje používat přednastavená omezení, protože „systém ví nejlepší, jak to udělat." To je logické, protože Google měl dostatek času na to, aby vyvinul, jak nejlépe zacházet s automatickými aktualizacemi ve svém vlastním obchodě s aplikacemi. Použití předvolby je také výhodné, jak je uvedeno v dokumentaci, protože přesnost a účinnost jemných aktualizací se může v budoucích verzích zlepšit, pokud Google přidá do API další omezení.
Každá podmínka, kterou PackageInstaller. InstallConstaints API umožňuje kontrolu již lze kontrolovat prostřednictvím existujících rozhraní API, ale nechat tyto kontroly zvládnout systémem je mnohem jednodušší a méně rušivé. Například obchody s aplikacemi třetích stran, které chtějí zkontrolovat, zda je aplikace, kterou aktualizují, aktivně používána uživatel by v současné době musel používat API jako UsageStats nebo AccessibilityService, obě citlivé oprávnění. Pokud však používají toto nové rozhraní Android 14 API, nepotřebují tato oprávnění ke své práci.
Aktualizovat vlastnictví
Povolení „jemných aktualizací“ není jediným vylepšením systému Android 14 pro obchody s aplikacemi třetích stran. K dispozici je také nový mechanismus „vlastnictví aktualizací“, který umožňuje, aby se obchody s aplikacemi třetích stran staly výhradním zdrojem budoucích automatických aktualizací aplikace, kterou poprvé nainstalovali. To znamená, že pokud používáte obchod s aplikacemi třetí strany, protože aplikace dostupné přes něj jsou prověřeny například komunita, pak nebude automaticky odeslána neověřená aktualizace, která je dostupná prostřednictvím jiných obchodů s aplikacemi vaše zařízení.
Právě teď, když nainstalujete aplikaci prostřednictvím obchodu s aplikacemi třetí strany, nic nebrání obchodu s aplikacemi první strany v aktualizaci této aplikace. Zatímco rozhraní API bezobslužných aktualizací systému Android 12 umožňuje obchodům s aplikacemi třetích stran pouze tiše aktualizovat aplikace, které nejprve nainstalovaly, obchody s aplikacemi první strany nejsou ovlivněny, protože mají privilegované INSTALL_PACKAGES povolení.
Obchody s aplikacemi třetích stran pro Android 14 mohou používat nové setRequestUpdateOwnership metoda v PackageInstaller. SessionParams, nicméně sdělit systému, že si nárokují vlastnictví aktualizací aplikace, kterou se chystají nainstalovat. Jakmile je pro aplikaci povoleno vynucení vlastnictví aktualizací, všechny ostatní obchody s aplikacemi – dokonce i ty s oprávněním INSTALL_PACKAGES – vyžadují akci od uživatele, aby aplikaci aktualizoval. Aktualizovat vlastnictví lze povolit pouze během počáteční instalace aplikace, tedy jiného obchodu s aplikacemi nebude moci převzít aktualizace, pokud z ní nebude daná aplikace odinstalována a znovu nainstalována obchod. Obchody s aplikacemi mohou prostřednictvím nové zkontrolovat, zda je pro aplikaci povoleno vlastnictví aktualizací, a pokud ano, která aplikace je vlastníkem aktualizace InstallSourceInfo#getUpdateOwnerPackageName() API.
Obchody s aplikacemi třetích stran musí mít nové ENFORCE_UPDATE_OWNERSHIP oprávnění používat rozhraní API pro vynucení vlastnictví aktualizací, ale vzhledem k tomu, že toto oprávnění má úroveň ochrany „normální“, bude systémem uděleno v době instalace. Zda však bude Google Play auditovat použití tohoto oprávnění/API, se teprve uvidí.
Nainstalujte předběžné schválení
Poslední nové API pro Android 14, které jsem chtěl zdůraznit, je PackageInstaller. Session#requestUserPreapproval. Toto rozhraní API umožňuje obchodům s aplikacemi třetích stran požádat o schválení uživatele, než zahájí relaci instalace. Představuji si, že to bude užitečné pro obchody s aplikacemi třetích stran, které záměrně chtějí uživatele upozornit před aktualizací aplikace na pozadí.
Představte si například, že obchod s aplikacemi zaměřený na zabezpečení chce dát svému uživateli vědět, když aktualizace aplikace přidá nová oprávnění; místo automatické aktualizace této aplikace, která automaticky uděluje toto oprávnění, pokud je její úroveň ochrany „normální“, může obchod s aplikacemi uživatele před provedením aktualizace vyzvat. V současné době, pokud uživatel není přítomen během automatické aktualizace, obchod s aplikacemi třetí strany by musel sledovat relaci instalace a vyzvat je později. Toto API tento proces zjednodušuje.
Android 14 představí spoustu nových funkcí a rozhraní API, až bude koncem tohoto roku zveřejněn. I když tato nová rozhraní API nejsou skryta jako některé další změny, které jsme zaznamenali, neexistuje žádná záruka, že tato rozhraní API budou k dispozici vývojářům ve stabilní verzi. Je to proto, že k zamrznutí API nedojde, dokud Android 14 nenarazí na „stabilitu platformy“ s beta 3 v červnu 2023, a v tuto chvíli jsme pouze na DP1. Budeme sledovat budoucí vydání Android 14 DP a beta, abychom zjistili, zda tato rozhraní API zůstanou zachována nebo zda budou přidána nová rozhraní API relevantní pro obchody s aplikacemi třetích stran.