Android 12 საბოლოოდ მისცემს საშუალებას ალტერნატიულ აპლიკაციების მაღაზიებს განაახლონ აპები დამოუკიდებლად

Google-მა შეასრულა დაპირება, გააუმჯობესა მესამე მხარის აპლიკაციების მაღაზიები Android-ზე და მისცა მათ აპლიკაციების ფონზე დაყენების უფლება Android 12-ზე.

ჯერ კიდევ გასული წლის სექტემბრის ბოლოს, Google გამოაცხადა რომ ის „ცვლილებებს შეიტანს Android 12... ხალხისთვის კიდევ უფრო გაუადვილდეს სხვა აპლიკაციების მაღაზიების გამოყენებას საკუთარ მოწყობილობებზე, ხოლო სიფრთხილით არ დათრგუნონ უსაფრთხოების ზომები, რომლებსაც Android ახორციელებს" საპასუხოდ სამონტაჟო წნევა Epic Games-ისა და მთავრობის მარეგულირებლებისგან. თუმცა, Google-მა არ დააკონკრეტა ზუსტად რა ცვლილებების შეტანას აპირებდნენ Android-ში და ასევე არ გაუზიარეს რაიმე კონკრეტული ინფორმაცია ამ ცვლილების შესახებ Google I/O 2021. Google-ში ოფიციალური ბლოგის პოსტი გამოაცხადა Android 12, თუმცა კომპანიამ დაადასტურა, რომ ის „ასრულებს [თავის] დაპირებას მესამე მხარის აპლიკაციის შექმნის შესახებ. ინახავს უფრო ადვილად გამოსაყენებლად Android 12-ზე." დეველოპერის დოკუმენტაციის წყალობით, ჩვენ საბოლოოდ გვაქვს წარმოდგენა იმის შესახებ, თუ რა ცვლილებები ხდება გააკეთა.

Google-მა განაახლა Android-ის PackageInstaller. SessionParams კლასი ახალი მეთოდით ე.წ setRequireUserAction. ეს მეთოდი მიუთითებს, საჭიროა თუ არა მომხმარებლის ქმედება აპის ინსტალაციის დაშვებამდე. ნაგულისხმევად არის true ნებისმიერი აპისთვის, რომელიც ფლობს მას REQUEST_INSTALL_PACKAGES ნებართვა, რომელიც საჭიროა ნებისმიერი აპისთვის, სანამ ისინი შეძლებენ ინსტალაციის სესიის დაწყებას Google Play-ს მიღმა აპლიკაციის გვერდით ჩატვირთვის ან წინასწარ დაინსტალირებული აპების მაღაზიის გარეთ.

თუმცა, მომხმარებლის მოქმედება არ იქნება საჭირო იქნება აპის ინსტალაციის/განახლებისთვის, თუ ყველა დაკმაყოფილებულია შემდეგი პირობებიდან:

  • ინსტალერი აირჩევს ახალ ქცევას.
  • აპი, რომელიც ინსტალირებულია, მიზნად ისახავს API დონის 29 (Android 10) ან უფრო მაღალ დონეს. (Google აღნიშნავს, რომ სამიზნე API დონის მოთხოვნა გაუმჯობესდება Android-ის მომავალ ვერსიებში, პოლიტიკა, რომელიც შეესაბამება Google Play პოლიტიკა API სამიზნე მოთხოვნაზე.)
  • ინსტალერი ან ახლდება თავისთავად, ან აინსტალირებს განახლებას აპისთვის, რომელიც პირველად დააინსტალირა.
  • ინსტალერი აცხადებს UPDATE_PACKAGES_WITHOUT_USER_ACTION ნებართვა.

ამრიგად, როდესაც აპლიკაციების მაღაზია ცდილობს ინსტალაციის სესიის დაწყებას და იყენებს ამ ახალ API-ს, შესაძლებელი უნდა იყოს განახლება მოხდეს ისე, რომ მომხმარებელს ხელით არ მიიღოს განახლება. ეს გახდის აპლიკაციების ჯგუფურად განახლებას ბევრად უფრო სწრაფად და გამოცდილებას უფრო შეესაბამება Google Play Store-თან.