ახალი Autofill Framework Android O-ში მოაგვარებს დაგვიანების ხანგრძლივ საკითხს, რომელიც დაკავშირებულია პაროლის მენეჯერების ხელმისაწვდომობის სერვისებთან.
უკვე ერთი თვე გავიდა მას შემდეგ რაც Google გამოუშვა პირველი Android O დეველოპერის გადახედვა (რა თქმა უნდა, დრო სწრაფად მიფრინავს!), და როგორც Android-ის ნებისმიერ ახალ ვერსიაში - ბევრია გასათვალისწინებელი. ჩვენ გამოვაქვეყნეთ უამრავი სტატია უკვე Android O-ს შესახებ, მაგრამ არის ერთი ფუნქცია, რომელიც, ვფიქრობ, ნამდვილად არ მიუქცევია ისეთ ყურადღებას, როგორსაც იმსახურებს: Autofill Framework.
ავტომატური შევსება Android O-ში
პაროლების მენეჯერები ამ დღეებში ათეული ცალი არიან (თუმცა ჩვენ ვართ ნაწილობრივი ღია კოდის KeePass-ის მიმართ), მაგრამ მხოლოდ Android O-ით Google ნამდვილად ოფიციალურად უჭერს მხარს პაროლის მენეჯერებს. Android O-ით მესამე მხარის აპლიკაციებს შეუძლიათ შეავსონ ავტომატური შევსების სერვისი, რომელიც დაუკავშირდება აპებს ახალი Autofill Framework-ის მეშვეობით. აპლიკაციები, რომლებიც იყენებენ სტანდარტს ხედი ელემენტები იმუშავებს Autofill Framework-თან ერთად, თუმცა არის დამატებითი ნაბიჯები, რომელთა გადადგმაც დეველოპერებს შეუძლიათ
ოპტიმიზაცია ავტომატური შევსებისთვის იმის უზრუნველსაყოფად, რომ აპის ნებისმიერი მორგებული ხედის ავტომატური შევსება შესაძლებელია.როდესაც ავტომატური შევსებადი ხედი მოვა ფოკუსში, Autofill Framework გამოიძახებს ავტომატური შევსების მოთხოვნას. ავტომატური შევსების სერვისი პასუხობს გარკვეული ავტომატური შევსების მონაცემთა ნაკრების (როგორიცაა მომხმარებლის სახელი, პაროლი, მისამართი, საკრედიტო ბარათის ნომრები და ა.შ.) გაგზავნით, რომელიც შემდეგ მომხმარებელს შეუძლია აირჩიოს. ავტომატური შევსების სერვისი მითითებულია მომხმარებლის მიერ პარამეტრებში --> აპები და შეტყობინებები --> ნაგულისხმევი აპები --> ავტომატური შევსების აპი.
ზემოთ მოყვანილი ახალი Autofill Framework-ის ახსნა არის მხოლოდ მოკლე მიმოხილვა იმისა, თუ რა ხდება როგორც მოთხოვნის აპის, ასევე ავტომატური შევსების სერვისის ბოლოს. ყველაზე მნიშვნელოვანი თქვენი გაგებისთვის აქ არ არის ზუსტი დეტალები, თუ როგორ მუშაობს ავტომატური შევსება Android O-ში, არამედ ის ფაქტი, რომ პაროლის მენეჯერის აპები თავად აღარ ახერხებენ ხედის ავტომატური შევსების დადგენას.
რეკომენდებული საკითხავი: AgileBits გვიჩვენებს, თუ როგორი იქნება Android O's Autofill Framework
ავტომატური შევსება Android O-მდე
შეადარეთ ის, თუ როგორ მუშაობდა ავტომატური შევსება Android O-მდე. სანამ პაროლის მენეჯერებს ჰქონდათ რაიმე სახის ოფიციალური მეთოდი იმის დასადგენად, თუ როდის შეიძლებოდა ხედის ავტომატური შევსება, თითოეული აპლიკაციას უნდა დაენერგა ხელმისაწვდომობის სერვისი მიმდინარე ხედის სკანირებისთვის ავტომატური შევსების საპოვნელად ველები.
თუმცა, ხელმისაწვდომობის სერვისის გამოყენება შეიძლება გამოიწვიოს მნიშვნელოვანი ჩამორჩენა გარკვეულ პირობებში. თქვენი ტიპიური პაროლის მენეჯერის ხელმისაწვდომობის სერვისთან დაკავშირებული ჩამორჩენა იმდენად აშკარაა, რომ პოპულარულ სერვისებსაც კი აქვთ, როგორიცაა LastPass. მხარდაჭერის გვერდები საკითხთან დაკავშირებით. ეს მხარდაჭერის გვერდები, როგორც წესი, გეტყვით, რომ თქვენი ერთადერთი გამოსავალია მათი გამოწვეულ ზედმეტ ჩამორჩენასთან გამკლავებისთვის ხელმისაწვდომობის სერვისი არის ან გამორთოთ ხელმისაწვდომობის სერვისი ან გადაერთოთ საკუთარი პირადი შეყვანის გამოყენებაზე მეთოდი. ნებისმიერ შემთხვევაში, თქვენ დაკარგავთ ავტომატური შევსების ნებისმიერ უნარს.
მაგრამ რატომ არის ზუსტად LastPass-ის ხელმისაწვდომობის სერვისი, ან ნებისმიერი სხვა პაროლის მენეჯერის ხელმისაწვდომობის სერვისი, როგორც ჩანს, ამდენ ჩამორჩენას? მიზეზი არის ის, რომ პაროლის ამ მენეჯერებმა უნდა გამოიყენონ ხელმისაწვდომობის სერვისები შეყვანის ველების გამოსავლენად. ხელმისაწვდომობის სერვისი ატრიბუტები განისაზღვრება ა XML რესურსის ფაილი APK-ში, ასე რომ, ჩვენ შეგვიძლია ვნახოთ, როგორ მუშაობს სერვისი APK ფაილის დეკომპილირებით.
ქვემოთ მოცემულია რესურსის ფაილი, რომელიც აღებულია LastPass APK-ის დეკომპილირებიდან:
"@string/accessibility_service_description"
android: accessibilityEventTypes="typeViewFocused|typeWindowContentChanged"
android: accessibilityFeedbackType="feedbackGeneric"
android: notificationTimeout="200"
android: accessibilityFlags="flagReportViewIds"
android: canRetrieveWindowContent="true"
android: canRequestEnhancedWebAccessibility="true"
xmlns: andro />
აქედან შეგვიძლია მივიღოთ შემდეგი ინფორმაცია: LastPass-ის ხელმისაწვდომობის სერვისი ითხოვს მოვლენის ორ ტიპს მონიტორინგისთვის - TYPE_VIEW_FOCUSED და TYPE_WINDOW_CONTENT_CHANGED. ის ამას აკეთებს იმიტომ, რომ მან უნდა იცოდეს, როდის იცვლება აპის/ვებგვერდის კონტენტი ან ჩნდება ფოკუსში, და შემდეგ იბრუნებს მიმდინარე ფანჯრის შინაარსს, რათა მოძებნოს პაროლის შეყვანის ნებისმიერი ველი. მაგრამ იმის გამო, რომ სერვისი ამას მუდმივად აკეთებს ორ ძალიან ხშირად გაშვებულ ხელმისაწვდომობის ღონისძიებაზე, ეს იწვევს ჩამორჩენას. უფრო სიღრმისეული განხილვისთვის იმის შესახებ, თუ როგორ შეიძლება გამოიწვიოს ხელმისაწვდომობის სერვისებმა ჩამორჩენა, მე მოგახსენებთ ჩემს წინა სტატიას ამ საკითხთან დაკავშირებით.
რეკომენდებული საკითხავი: "მუშაობა როგორც დაგეგმილი" - Android-ის ხელმისაწვდომობის ჩამორჩენის შესწავლა
Android O კლავს ორ ჩიტს ერთი ქვით
Android O-მდე, პაროლის მენეჯერების დეველოპერებს ნამდვილად არ შეეძლოთ ამ ჩამორჩენის შესამცირებლად. ეს იმიტომ, რომ პაროლის მენეჯერებს არ ჰქონდათ საშუალება იცოდნენ, როდის იყო ავტომატური შევსების ველი ეკრანზე, ხელმისაწვდომობის სერვისისთვის მუდმივი მონიტორინგის გარეშე. მაგრამ Android O-ში ახალი Autofill Framework-ის წყალობით, ამ პაროლის მენეჯერებს ახლა შეუძლიათ ხელმისაწვდომობის სერვისების გადაყენება. ამის ნაცვლად, აპები, რომლებსაც მონაცემების შეყვანა სჭირდებათ, თავად მოითხოვენ Autofill Framework-ს, რომ გამოიძახონ ავტომატური შევსების სერვისი, რომელიც შემდეგ გაგზავნის მონაცემებს. ამ ახალი ჩარჩოს წყალობით, არა მხოლოდ პაროლის შეყვანა ბევრად უფრო ადვილი გახდება მომხმარებლებისთვის, რადგან მათ აღარ უნდა დაეყრდნონ დამატებითი შეყვანის მეთოდი, მაგრამ დაგვიანება, რომელიც დაკავშირებულია პაროლის მენეჯერების ხელმისაწვდომობის სერვისების ჩართვასთან, იქნება მნიშვნელოვანი. წარსული.
მე ვიცი, რომ ზოგიერთი თქვენგანისთვის ეს ფაქტი შეიძლება არ იყოს ძირეული, მაგრამ მე ვფიქრობდი, რომ რადგან დისკუსია ხელმისაწვდომობის სერვისის ირგვლივ ასე მდუმარე იყო, ამ თემის ხელახალი გაღვივება შეიძლება ღირდეს. ამ შაბათ-კვირას მხოლოდ საფიქრალია!
რას ფიქრობთ Android O-ის ახალ Autofill Framework-ზე? შეგვატყობინეთ ქვემოთ მოცემულ კომენტარებში!