Google наистина прокарва новата навигация с жестове в Android 10. Въпреки че не са забранили други схеми за управление с жестове, те са поставили много ограничения.
След като експериментира с базирани на бутони контроли с жестове в Android 9 Pie, Google се върна към чертожната дъска, за да подобрете плавността и използването с една ръка на навигацията с жестове на Android. С Android 10 Google стигна до решение, което е визуално като iOS: лента с жестове, която може да се плъзне нагоре, за да се върнете вкъщи или да плъзнете наляво или надясно, за да превключвате между приложения. Тъй като лентата с жестове е много по-тънка от специалното пространство за предишната схема за навигация с три бутона, жестовете на Android 10 дават на приложенията повече пространство за показване на съдържание в долната част на екрана. За да се справи с липсата на специален бутон за връщане назад, Google добави плъзгане навътре от левия или десния край на екрана, за да задейства действието за връщане назад. Новите и подобрени жестове на Google са стъпка в правилната посока, въпреки че някои все още смятат, че алтернативите на трети страни са по-добри.
Дори ако все още има какво да се подобри (и определено има), Google настоява партньорите си за Android да приемат тези нови жестове за навигация, защото компанията не иска да натоварва разработчиците на приложения с необходимостта да приемат множество различни навигации с жестове схеми. Производителите на устройства с Android като OnePlus, Samsung, Xiaomi, Huawei, OPPO, Vivo и ASUS са само някои от компаниите със собствени възприятия за навигация с жестове. Тези компании вече са инвестирали много усилия за развитие в изграждането на свои собствени жестове, така че Google не ги принуждава напълно да изоставят работата си.
„Потребителите все повече искат завладяващи изживявания в Android и едно нещо, което производителите на устройства са направили, е да се опитат да подходят към това от страна на софтуера. И това, което направиха, е да изградят своя собствена навигация с жестове. И всеки производител на устройства има различно впечатление за това как трябва да работи навигацията с жестове. Това, което разпознаваме от страна на платформата, е, че това става лудост за разработчика. Мислейки за N различни навигации с жестове, когато се опитвате да разработите, проектирате, тествате вашето приложение, става някак лудост. Имайки това предвид, въведохме тази навигация с жестове в Q и ще стандартизираме екосистемата от Q на 3 бутони и нашият модел се движи напред.“ – Ронан Шах, продуктов мениджър в Google в екипа на Android System UI, в Google I/O 2019.
Вместо това Google пренаписа своя набор от правила за съвместимост на приложенията на Android и Google, принуждавайки производителите на оригинално оборудване да отклоняват собствените си жестове в полза на тези на Google, като същевременно ограничават функционалността на OEM жестове.
Изисквания за съвместимост с жестове на Android 10
След всяка голяма версия на платформата Android Google актуализира документа за дефиниция на съвместимостта на Android (CDD) до очертават новите изисквания, на които трябва да отговарят всички устройства, за да се считат за съвместими с най-новата версия на Android. Това е една от предпоставките за получаване на лиценз за Android, който е необходим за използване на марката Android в маркетинга. Това също е предпоставка за получаване на одобрение за разпространение на Google Mobile Services, пакета от приложения, услуги и библиотеки на Google, предварително инсталирани на повечето устройства с Android, продавани в международен план.
В CDD за Android 10, Google актуализира раздел 2.2.3 относно софтуерните изисквания за преносими устройства (известни още като смартфони) с текста по-долу. Тези изявления информират OEM производителите за очакванията на Google за това колко голяма трябва да бъде зоната на задействане за навигационни жестове.
Google препоръчва зоната за разпознаване на жестове за действието начало да бъде в рамките на 32 dp (dp означава независимо от плътността пиксел) от долната част на екрана, но те не правят това изискване, така че OEM производителите все още могат да предлагат плаващи контроли с жестове като Плаващ навигационен док на EMUI.
Ако OEM предлага жест за плъзгане навътре от левия или десния ръб на екрана, тогава Google изисква зоната на задействане да е на по-малко от 40 dp от ръба (в идеалния случай 24 dp по ширина.) Имайте предвид, че това позволява на OEM производителите да създават различни опции за чувствителност за странични жестове, стига зоната на задействане да не надвишава 40 dp. Всъщност Google предлага точно това в собствената си версия на Android 10. По подразбиране вмъкването за жеста назад е 24dp на Pixel, но може да бъде намалено до 18dp или повишено до 32dp или 40dp.
В по-късен раздел на CDD, по-специално раздел 7.2.3, обхващащ клавишите за навигация, Google предоставя подробни изисквания за това как трябва да работят жестовете за връщане, начало и скорошни действия с приложения. Повечето от изискванията се съсредоточават върху гарантирането, че поведението на системата е последователно за разработчиците на приложения, но има няколко забележителни твърдения, които могат да повлияят на потребителското изживяване.
Въпреки че Google не изисква плъзгане нагоре от долния ръб да задейства действието за начало или плъзгане нагоре и задържане задействане на прегледа на последните приложения, Google изисква жестовете с плъзгане отстрани да задействат действието назад. По-специално, това би означавало, че персонализираните жестове, предоставени от Операция с една ръка+ на Samsung няма да бъде разрешено, но тъй като One Hand Operation+ не е инсталирано предварително, може да получи пропуск.
Ако OEM предоставя плаващ системен панел, който се задейства чрез страничен жест на плъзгане, тогава OEM трябва да постави спусъка зона в горната 1/3 от лявата или дясната страна и не трябва да позволява панелът да надвишава размер от 1/3 от размера на екрана ръб, край. OEM обаче може да позволи на потребителя да зададе зоната на задействане под горната 1/3 от краищата. Този език вероятно е добавен, за да се приспособи към функцията Edge Panel на Samsung.
Документът за дефиниция на съвместимост с Android 10 не се поставя че много ограничения за това, което производителите на оригинално оборудване могат да правят с жестове, но както споменах преди, спазването на CDD е просто един от предпоставките за получаване на лиценз за Android и одобрение за разпространение на GMS. Google има отделен документ, който те разпространяват частно до всички свои лицензирани партньори за Android; този документ изброява техническите изисквания, които компаниите трябва да следват, за да им бъде разрешено да разпространяват GMS, и има допълнителни условия, отнасящи се до навигацията с жестове в Android 10. Получихме копие от този документ, озаглавен GMS Requirements v7, от 3 септември 2019 г.
Изисквания за навигация с жестове за одобрение на GMS
Google Assistant е невероятно важна услуга за Google, така че Google я обединява като част от Google App и изисква всички партньори на Android да го разпространяват като част от пакета GMS приложения за „Обикновени“ (не-Android Go) устройства. Изискванията обаче не свършват дотук. От Android 5.1 насам Google изисква продължително натискане на бутона Home да задейства действието Assist, което по подразбиране ще извика Google Assistant, тъй като Google също изисква приложението Google да бъде манипулатор по подразбиране за Assist действие. В Android 10 обаче вече няма специален бутон за начало, така че Google постави нови изисквания за това как да задействате Асистента с жест.
За да задействате Google Assistant с навигацията с жестове на Google, трябва да плъзнете диагонално от долния ляв/десен ъгъл. Google изисква този жест да присъства на всички устройства, работещи с Android 10, независимо дали жестовете на Google са контролите за навигация по подразбиране, готови от кутията. Ако OEM внедри свои собствени контроли за навигация с жестове, тогава той може да приложи свой собствен тригер за стартиране на приложението Assistant, но точното внедряване ще подлежи на преглед от Google. Някои OEM производители като OnePlus и Xiaomi ви позволяват да задействате Асистента чрез продължително натискане на бутона за захранване, например.
Google дефинира три типа референтни навигационни модели:
- Класически контроли за навигация с три бутона. Това могат да бъдат екранни или хардуерни бутони, но трябва да има известно разстояние между тях. Трите бутона задействат начало, назад и скорошни приложения.
- Навигационните контроли с два бутона на Android 9 Pie. Това не могат да бъдат хардуерни бутони, въпреки че двата бутона все пак трябва да имат известно разстояние помежду си. Бутоните за връщане и начало задействат съответно действията за връщане и начало, въпреки че бутонът за последните приложения е обединен с началния бутон, така че плъзгането нагоре на началния бутон задейства последните приложения преглед.
- Новата жестова навигация на Android 10.
Всички устройства, стартирани с Android 10, трябва да внедрят A и C, въпреки че зависи от OEM да реши кое от тях да бъде стандартно по подразбиране. B вече не се поддържа и не може да бъде разрешено като избираема от потребителя опция.
И така, къде остават алтернативните навигационни контроли от производителите на оригинално оборудване? Google казва, че докато партньорите на Android могат да предлагат свои собствени контроли за навигация, техните алтернативи не могат да бъдат представени на потребителя по време на настройка, нито могат да бъдат рекламирани на потребителя чрез известия или на екрана изскачащи прозорци. Докато A и C трябва да се показват на най-високото ниво на настройките за навигация, всички алтернативни опции за навигация трябва да бъдат поставени един запис по-навътре в Настройки.
Това на практика означава, че алтернативни, може би по-добри жестове ще бъдат намерени само от опитни потребители, които ровят в настройките или четат статии онлайн за своето устройство. Ние отбелязахме в нашия Преглед на OnePlus 7T че OnePlus не предлага своите жестове на цял екран на OxygenOS и това вероятно ще бъде случаят с други устройства, стартиращи с Android 10 надолу по линията, тъй като няма смисъл да се предлага алтернативен жест схема. Вероятната причина OnePlus 7 и OnePlus 7 Pro все още да имат старите жестове на OxygenOS е, че Google настоятелно препоръчва производителите на оригинално оборудване да не премахват съществуващите опции за навигация, когато надстройват устройства до Android 10.
И накрая, Google настоятелно препоръчва производителите на оригинално оборудване да не превключват потребителя към различен режим на навигация, когато задават стартер на трета страна като стандартен. По ирония на съдбата точно това се случва, когато вие опитайте да зададете стартер на трета страна по подразбиране в Android 10 за Google Pixel. Google обещаха, че ще пуснат корекция, за да направят жестовете на Android 10 съвместими с програми за стартиране на трети страни, така че вероятно са добавили това конкретно изявление, така че потребителите да не обвиняват стартиращите програми на трети страни за жеста несъвместимост. Правете каквото казвам, а не както аз правя.
В обобщение, Google най-накрая предприе стъпки за уеднаквяване на навигацията с жестове в Android и те използват процеса на одобрение на CDD и GMS, за да накарат OEM производителите да играят заедно. Това обаче не е лошо, тъй като фрагментацията в контролите за навигация е проблематична за разработчиците на приложения. Google ясно е поставил много мисли и изследвания за използваемостта на новите жестове. Тъй като обаче Google знае, че не всеки ще бъде доволен от техните жестове, те все още дават Производителите на оригинално оборудване имат известна свобода на действие, като им позволяват да правят свои собствени жестове, стига тези жестове да следват определено правила.
В бъдещите версии на Android Google може напълно да забрани алтернативните режими на навигация. OnePlus може вече да види надписа на стената, което би обяснило защо вече не предоставят старите си жестове на OnePlus 7T, въпреки че ще трябва да изчакаме още устройства да стартират с Android 10, за да видим дали това е еднократно или нова индустрия тенденция.