Google dotrzymał obietnicy ulepszenia sklepów z aplikacjami innych firm na Androidzie, umożliwiając im instalowanie aplikacji w tle na Androidzie 12.
Pod koniec września ubiegłego roku Google ogłoszony że będzie „wprowadzać zmiany w Androida 12...aby jeszcze bardziej ułatwić użytkownikom korzystanie z innych sklepów z aplikacjami na swoich urządzeniach, zachowując przy tym ostrożność, aby nie naruszyć środków bezpieczeństwa stosowanych w systemie Android” w odpowiedzi na ciśnienie montażowe od Epic Games i rządowych organów regulacyjnych. Jednak Google nie określiło Dokładnie jakie zmiany zamierzają wprowadzić w Androidzie, nie podali też żadnych konkretnych informacji na temat tej zmiany na stronie We/Wy Google 2021. W Google oficjalny wpis na blogu ogłaszając Androida 12, firma potwierdziła jednak, że „wywiązuje się z [swojej] obietnicy stworzenia aplikacji innej firmy sklepy są łatwiejsze w obsłudze na Androidzie 12.” Dzięki dokumentacji deweloperskiej w końcu mamy pojęcie o jakie zmiany wchodzą zrobiony.
Google zaktualizowało PackageInstaller dla Androida. SessionParams z nową metodą o nazwie setRequireUserAction. Ta metoda wskazuje, czy przed zezwoleniem na instalację aplikacji powinna być wymagana akcja użytkownika. Domyślnie ma wartość true dla każdej aplikacji, która przechowuje plik REQUEST_INSTALL_PACKAGES pozwolenie, które jest wymagane w przypadku dowolnej aplikacji, zanim będzie mogła zainicjować sesję instalacyjną w celu bocznego pobrania aplikacji poza Google Play lub jakikolwiek sklep z aplikacjami preinstalowanymi na urządzeniu.
Jednak działanie użytkownika przyzwyczajenie być wymagane do instalacji/aktualizacji aplikacji, jeśli Wszystko spełnione są następujące warunki:
- Instalator wyraża zgodę na nowe zachowanie.
- Instalowana aplikacja jest przeznaczona dla poziomu interfejsu API 29 (Android 10) lub nowszego. (Google zauważa, że wymagania dotyczące docelowego poziomu interfejsu API zostaną zwiększone w przyszłych wersjach Androida, co jest zgodne z zasadami Zasady Google Play na wymogach docelowych API.)
- Instalator albo aktualizuje się samodzielnie, albo instaluje aktualizację aplikacji, którą zainstalował jako pierwszy.
- Instalator deklaruje
UPDATE_PACKAGES_WITHOUT_USER_ACTION
pozwolenie.
Dlatego też, gdy sklep z aplikacjami próbuje zainicjować sesję instalacyjną i korzysta z nowego interfejsu API, aktualizacja powinna nastąpić bez konieczności ręcznego akceptowania aktualizacji przez użytkownika. Dzięki temu aktualizowanie aplikacji partiami będzie znacznie szybsze i będzie bardziej zgodne ze sklepem Google Play.