Android 14 ამატებს ახალ ფუნქციებს, რათა მესამე მხარის აპლიკაციების მაღაზიები კიდევ უფრო უკეთ იმუშაონ

Android 14 ემზადება, რომ გამოცდილება კიდევ უფრო უკეთესი გახადოს მესამე მხარის აპლიკაციების მაღაზიების მომხმარებლებისთვის ახალი API-ების წყალობით.

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

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

API Android 12-ში რომელიც საშუალებას აძლევს მესამე მხარის აპლიკაციების მაღაზიებს განაახლონ აპები მომხმარებლის ქმედების საჭიროების გარეშე, რაც ამცირებს ხახუნს მესამე მხარის აპლიკაციების მაღაზიის გამოყენებით.

თუმცა, ამან მაინც დატოვა მესამე მხარის აპლიკაციების მაღაზიები დიდ მინუსში, როდესაც საქმე ფუნქციონირებას ეხება, რადგან მათ არ შეეძლოთ ადვილად იცოდნენ როდესაც უსაფრთხო იქნება რეალურად ავტომატური განახლება. სწორედ ამის გადაჭრას ცდილობს Google Android 14-ში ახალი API-ით, რომელიც მესამე მხარის აპების მაღაზიებს საშუალებას აძლევს განახორციელონ „ნაზი განახლებები“.

ნაზი განახლებები

Android 14-მა დაამატა ახალი API, რომელიც საშუალებას აძლევს მესამე მხარის აპების მაღაზიებს შეამოწმონ არის თუ არა გარკვეული პირობები დაკმაყოფილებული, სანამ ისინი განაგრძობენ აპის ავტომატურად განახლებას. The პაკეტის ინსტალერი. InstallConstraints API "შეიძლება გამოიყენონ აპლიკაციების მაღაზიებმა ავტომატური განახლებების მიწოდებისთვის მომხმარებლის გამოცდილების შეფერხების გარეშე (მოხსენიებული, როგორც ნაზი განახლება) - მაგალითად, აპლიკაციების მაღაზიამ შეიძლება შეაჩეროს განახლებები, როდესაც აღმოაჩენს, რომ განახლებისთვის განკუთვნილი აპი ურთიერთქმედებს მომხმარებელი.”

ეს ახალი API საშუალებას აძლევს მესამე მხარის აპების მაღაზიებს შეამოწმონ, აქვს თუ არა აპს, რომლის განახლებისთვის ემზადებიან, აქტიური წინა პლანზე (isRequireAppNotForeground), ურთიერთქმედებს მომხმარებელთან რაიმე ფორმით (isRequireAppNotInteracting) ან არის ეკრანზე (isRequireAppNotTopVisible). მესამე მხარის აპების მაღაზიებს ასევე შეუძლიათ შეამოწმონ, არის თუ არა მოწყობილობა დოზის რეჟიმში (isRequireDeviceIdle) თუ სატელეფონო ზარში (isRequireNotInCall).

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

PackageInstaller-ის ყველა პირობა. InstallConstaints API საშუალებას გაძლევთ შემოწმების შემოწმება უკვე შესაძლებელია არსებული API-ების საშუალებით, მაგრამ სისტემის მიერ ამ შემოწმებების დამუშავება ბევრად უფრო ადვილი და ნაკლებად ინტრუზიულია. მაგალითად, მესამე მხარის აპების მაღაზიები, რომლებსაც სურთ შეამოწმონ, აქტიურად გამოიყენება თუ არა აპი, რომელსაც ისინი ახლებენ მომხმარებელმა ამჟამად უნდა გამოიყენოს API, როგორიცაა UsageStats ან AccessibilityService, ორივე მგრძნობიარე ნებართვები. თუმცა, თუ ისინი გამოიყენებენ ამ ახალ Android 14 API-ს, მათ არ დასჭირდებათ ეს ნებართვები თავიანთი საქმის შესასრულებლად.

მფლობელობის განახლება

„ნაზი განახლებების“ ჩართვა არ არის ერთადერთი გაუმჯობესება Android 14-ში მესამე მხარის აპლიკაციების მაღაზიებისთვის. ასევე არის ახალი „განახლების მფლობელობის“ მექანიზმი, რომელიც საშუალებას აძლევს მესამე მხარის აპლიკაციების მაღაზიებს გახდნენ მომავალი ავტომატური განახლებების ექსკლუზიური წყარო იმ აპისთვის, რომელიც მათ პირველად დააინსტალირეს. ეს ნიშნავს, რომ თუ იყენებთ მესამე მხარის აპლიკაციების მაღაზიას, რადგან მის მეშვეობით ხელმისაწვდომი აპლიკაციები შემოწმებულია მაგალითად, საზოგადოება, მაშინ შეუმოწმებელი განახლება, რომელიც ხელმისაწვდომია სხვა აპლიკაციების მაღაზიებში, ავტომატურად არ გადაინაცვლებს თქვენი მოწყობილობა.

ახლავე, როდესაც თქვენ დააინსტალირებთ აპს მესამე მხარის აპლიკაციების მაღაზიის მეშვეობით, არაფერი უშლის ხელს პირველი მხარის აპების მაღაზიას განაახლოს ეს აპლიკაცია. მიუხედავად იმისა, რომ Android 12-ის უყურადღებო განახლებების API საშუალებას აძლევს მესამე მხარის აპების მაღაზიებს ჩუმად განაახლონ აპები, რომლებიც პირველად დააინსტალირეს, პირველი მხარის აპლიკაციების მაღაზიები გავლენას არ მოახდენენ, რადგან მათ აქვთ პრივილეგირებული INSTALL_PACKAGES ნებართვა.

მესამე მხარის აპების მაღაზიებს Android 14-ზე შეუძლიათ გამოიყენონ ახალი setRequestUpdateOwnership მეთოდით პაკეტის ინსტალერი. SessionParams, თუმცა, უთხრეს სისტემას, რომ ისინი აცხადებენ განახლების მფლობელობას აპზე, რომლის ინსტალაციასაც აპირებენ. მას შემდეგ, რაც აპისთვის მფლობელობის განახლების აღსრულება ჩაირთვება, ყველა სხვა აპის მაღაზიას - თუნდაც INSTALL_PACKAGES ნებართვის მქონე მაღაზიას - სჭირდება მომხმარებლისგან მოქმედება აპის განახლებისთვის. მფლობელობის განახლების ჩართვა შესაძლებელია მხოლოდ აპის თავდაპირველი ინსტალაციის დროს, ასე რომ, სხვა აპების მაღაზია ვერ შეძლებს განახლებების მიღებას, თუ აღნიშნული აპი არ არის დეინსტალირებული და ხელახლა დაინსტალირებული იქიდან მაღაზია. აპების მაღაზიებს შეუძლიათ შეამოწმონ, ჩართულია თუ არა განახლების მფლობელობა აპისთვის და თუ ასეა, რომელი აპი არის განახლების მფლობელი, ახალი InstallSourceInfo#getUpdateOwnerPackageName() API.

მესამე მხარის აპლიკაციების მაღაზიებმა უნდა შეინახონ ახალი ENFORCE_UPDATE_OWNERSHIP განახლების მფლობელობის აღსრულების API-ს გამოყენების ნებართვა, მაგრამ იმის გათვალისწინებით, რომ ამ ნებართვას აქვს დაცვის დონე „ნორმალური“, მას სისტემა მიენიჭება ინსტალაციის დროს. თუმცა, გასარკვევია, ჩაატარებს თუ არა Google Play ამ ნებართვის/API-ს გამოყენებას.

დააინსტალირეთ წინასწარი დამტკიცება

ბოლო ახალი Android 14 API, რომლის აღნიშვნაც მინდოდა, არის პაკეტის ინსტალერი. Session#requestUserPreapproval. ეს API საშუალებას აძლევს მესამე მხარის აპლიკაციების მაღაზიებს მოითხოვონ მომხმარებლის დამტკიცება ინსტალაციის სესიის დაწყებამდე. მე ვფიქრობ, რომ ეს სასარგებლო იქნება მესამე მხარის აპლიკაციების მაღაზიებისთვის, რომლებსაც განზრახ სურთ მომხმარებლის მოთხოვნა აპლიკაციის ფონზე განახლებამდე.

მაგალითად, წარმოიდგინეთ, უსაფრთხოებაზე ორიენტირებულ აპების მაღაზიას სურს აცნობოს თავის მომხმარებელს, როდესაც აპლიკაციის განახლება ახალ ნებართვებს დაამატებს; იმის ნაცვლად, რომ აპის ავტომატურად განახლდეს, რითაც ავტომატურად მიენიჭება ეს ნებართვა, თუ მისი დაცვის დონე „ნორმალურია“, აპების მაღაზიას შეუძლია მომხმარებლისთვის მოთხოვნა განახლების გაკეთებამდე. ამჟამად, თუ მომხმარებელი არ იმყოფება ავტომატური განახლების დროს, მესამე მხარის აპლიკაციების მაღაზიას მოუწევს თვალყური ადევნოს ინსტალაციის სესიას და მოგვიანებით მიმართოს მათ. ეს API ამარტივებს ამ პროცესს.


Android 14 წარუდგენს უამრავ ახალ ფუნქციას და API-ს, როდესაც ის გამოქვეყნდება საზოგადოებისთვის ამ წლის ბოლოს. მიუხედავად იმისა, რომ ეს ახალი API არ არის დამალული, როგორც ზოგიერთი სხვა ცვლილება, რომელიც ჩვენ შევნიშნეთ, არ არსებობს გარანტია, რომ ეს API ხელმისაწვდომი იქნება დეველოპერებისთვის სტაბილურ გამოშვებაში. ეს იმიტომ ხდება, რომ API-ის გაყინვა არ მოხდება მანამ, სანამ Android 14 არ მიაღწევს „პლატფორმის სტაბილურობას“ ბეტა 3-ით 2023 წლის ივნისში და ჩვენ მხოლოდ DP1-ზე ვართ ამჟამად. ჩვენ თვალს ვადევნებთ მომავალ Android 14 DP და ბეტა გამოშვებებს, რათა დავინახოთ, რჩება თუ არა ეს API-ები ან დაემატება თუ არა მესამე მხარის აპების მაღაზიებს შესაბამისი ახალი API.