Google driver verkligen den nya gestnavigeringen i Android 10. Även om de inte har förbjudit andra gestkontrollsystem, har de satt många gränser.
Efter att ha experimenterat med knappbaserade gestkontroller i Android 9 Pie gick Google tillbaka till ritbordet för att förbättra smidigheten och enhandsanvändningen av Androids gestnavigering. Med Android 10 kom Google fram till en lösning som är visuellt lik iOS: en gest-rad som kan svepas upp för att gå hem eller svepa åt vänster eller höger för att växla mellan appar. Eftersom gestfältet är mycket tunnare än det dedikerade utrymmet för det tidigare navigeringsschemat med tre knappar, ger Android 10:s gester appar mer utrymme för att visa innehåll längst ner på skärmen. För att hantera bristen på en dedikerad bakåtknapp lade Google till en svep inåt från vänster eller höger kanter på skärmen för att utlösa bakåtåtgärden. Googles nya och förbättrade gester är ett steg i rätt riktning, även om vissa fortfarande anser att tredjepartsalternativ är överlägsna.
Även om det fortfarande finns utrymme att förbättra (och det finns definitivt), Google pressar sina Android-partner att anta dessa nya navigeringsgester eftersom företaget vill inte belasta apputvecklare med att behöva rymma flera olika gester system. Tillverkare av Android-enheter som OnePlus, Samsung, Xiaomi, Huawei, OPPO, Vivo och ASUS är bara några av företagen som har sina egna åsikter om gestnavigering. Dessa företag har redan investerat mycket utvecklingsarbete för att bygga sina egna gester, så Google tvingar dem inte att helt överge sitt arbete.
"Användare vill alltmer ha uppslukande upplevelser i Android, och en sak som enhetstillverkare har gjort är att försöka närma sig detta från en mjukvarusida. Och vad de har gjort är att bygga sin egen gest-navigering. Och varje enhetstillverkare har olika intryck av hur gestnavigering ska fungera. Vad vi känner igen på en plattformssida är att det blir vansinnigt för en utvecklare. Om du tänker på N olika gester när du försöker utveckla, designa, testa för din app, det blir bara galet. Så med det i åtanke introducerade vi den här gestnavigeringen i Q och vi kommer att standardisera ekosystemet från och med Q på 3 knappar och vår modell går framåt.” – Ronan Shah, produktchef på Google på Android System UI-teamet, på Google I/O 2019.
Istället har Google skrivit om sin regeluppsättning för Android- och Google-appkompatibilitet, vilket tvingar OEM-tillverkare att göra det åsidosätta sina egna gester till förmån för Googles, samtidigt som de begränsar funktionaliteten hos OEM gester.
Android 10 Gesture-kompatibilitetskrav
Efter varje större version av Android-plattformen uppdaterar Google Android Compatibility Definition Document (CDD) till beskriva de nya kraven som alla enheter måste uppfylla för att anses vara kompatibla med den senaste versionen av Android. Detta är en av förutsättningarna för att få en Android-licens, vilket är nödvändigt för att använda Android-varumärket i marknadsföring. Det är också en förutsättning för att få godkännande för att distribuera Google Mobile Services, svit av Googles appar, tjänster och bibliotek som är förinstallerade på de flesta Android-enheter som säljs internationellt.
I den CDD för Android 10, Google har uppdaterat avsnitt 2.2.3 om programvarukraven för handhållna enheter (AKA smartphones) med nedanstående ordalydelse. Dessa uttalanden informerar OEM-tillverkare om Googles förväntningar på hur stort triggerområdet ska vara för navigeringsgester.
Google rekommenderar att gestigenkänningsområdet för hemhandlingen bör vara inom 32 dp (dp står för densitetsoberoende pixel) från botten av skärmen, men de ställer inte detta till ett krav så OEM-tillverkare kan fortfarande erbjuda flytande gestkontroller Till exempel EMUI: s flytande navigationsdocka.
Om en OEM erbjuder en svep-in-gest från antingen vänster eller höger kant av skärmen, kräver Google att triggerområdet är mindre än 40 dp från kanten (helst 24 dp i bredd.) Observera att detta gör det möjligt för OEM-tillverkare att skapa olika känslighetsalternativ för sidgester så länge som triggerområdet inte överstiger 40 dp. Faktum är att Google erbjuder just detta i sin egen Android 10-version. Som standard är insättningen för den bakre gesten 24 dp på Pixel, men den kan sänkas till 18 dp eller höjas till 32 dp eller 40 dp.
I ett senare avsnitt av CDD, specifikt avsnitt 7.2.3 som täcker navigeringsnycklar, tillhandahåller Google detaljerade krav för hur gester för baksidan, hemmet och de senaste appens åtgärder ska fungera. De flesta av kraven fokuserar på att se till att systemets beteende är konsekvent för apputvecklare, men det finns några anmärkningsvärda uttalanden som kan påverka användarupplevelsen.
Även om Google inte kräver att ett svep uppåt från den nedre kanten utlöser hemåtgärden eller ett svep uppåt och håll utlösa den senaste appöversikten kräver Google att svepgester från sidorna utlöser bakåtåtgärden. Särskilt skulle detta innebära att de anpassningsbara gesterna som tillhandahålls av Samsungs One Hand Operation+ skulle inte tillåtas, men eftersom One Hand Operation+ inte är installerat direkt, kan det få ett pass.
Om en OEM tillhandahåller en flytande systempanel som utlöses via en svepgest från sidan, måste OEM placera utlösaren område i den övre 1/3 av vänster eller höger sida och får inte tillåta panelen att överstiga en storlek på 1/3 av storleken på skärmen kant. OEM kan dock tillåta användaren att ställa in triggerområdet under den översta 1/3 av kanterna. Det här språket har troligen lagts till för att passa Samsungs Edge Panel-funktion.
Android 10-kompatibilitetsdefinitionsdokumentet placeras inte den där många begränsningar för vad OEM-tillverkare kan göra med gester, men som jag nämnde tidigare är att följa CDD bara ett av förutsättningarna för att få en Android-licens och godkännande för att distribuera GMS. Google har ett separat dokument som de distribuerar privat till alla sina licensierade Android-partners; Det här dokumentet räknar upp de tekniska krav som företag måste följa för att få distribuera GMS, och det har ytterligare bestämmelser som gäller navigering med gester i Android 10. Vi fick en kopia av detta dokument, med titeln GMS Requirements v7, daterat den 3 september 2019.
Gestnavigeringskrav för GMS-godkännande
Google Assistant är en otroligt viktig tjänst för Google, så Google paketerar den som en del av Google-appen och kräver att alla Android-partner distribuerar den som en del av sviten av GMS-appar för "vanliga" (icke-Android Go)-enheter. Men kraven slutar inte där. Sedan Android 5.1 kräver Google att ett långt tryck på hemknappen utlöser Assist-åtgärden, som som standard kommer att anropa Google Assistant eftersom Google också kräver att Google-appen ska vara standardhanteraren för Assisten handling. Det finns dock inte längre en dedikerad hemknapp i Android 10, så Google har satt nya krav på hur man utlöser assistenten med en gest.
För att trigga Google Assistant med Googles gestnavigering måste du svepa diagonalt från det nedre vänstra/högra hörnet. Google kräver att den här gesten finns på alla enheter som kör Android 10, oavsett om Googles gester är standardnavigeringskontrollerna direkt eller inte. Om en OEM implementerar sina egna gestnavigeringskontroller kan den implementera sin egen trigger för att starta Assistant-appen, men den exakta implementeringen kommer att granskas av Google. Vissa OEM-tillverkare som OnePlus och Xiaomi låter dig utlösa assistenten genom att till exempel trycka länge på strömbrytaren.
Google definierar tre typer av referensnavigeringsmodeller:
- Klassiska navigeringskontroller med tre knappar. Dessa kan vara knappar på skärmen eller hårdvara, men de måste ha ett visst avstånd mellan dem. De tre knapparna utlöser hem, tillbaka och senaste appar.
- Android 9 Pies navigeringskontroller med två knappar. Dessa kan inte vara hårdvaruknappar, även om de två knapparna fortfarande måste ha ett visst avstånd mellan dem. Bakåt- och hemknapparna utlöser bakåt- och hemåtgärderna, även om knappen för senaste appar har slagits samman med hemknappen så att en svep uppåt på hemknappen utlöser de senaste apparna Översikt.
- Android 10:s nya gestnavigering.
Alla enheter som lanseras med Android 10 måste implementera A och C, även om det är upp till OEM att bestämma vilken som är standard. B stöds inte längre och kan inte tillåtas som ett användarvalbart alternativ.
Så var lämnar det alternativa navigeringskontroller från OEM-tillverkare? Google säger att även om Android-partner kan erbjuda sina egna navigeringskontroller, kan deras alternativ inte vara det presenteras för användaren under installationen och inte heller kan de annonseras för användaren genom meddelanden eller på skärmen popup-fönster. Medan A och C måste visas på den översta nivån av navigeringsinställningar, måste alla alternativa navigeringsalternativ placeras en post djupare i Inställningar.
Detta innebär i praktiken att alternativa, utan tvekan bättre gester, endast kommer att hittas av avancerade användare som gräver igenom inställningar eller läser artiklar online om sin enhet. Vi noterade i vår OnePlus 7T recension att OnePlus inte erbjuder sina OxygenOS helskärmsgester, och det kommer sannolikt att vara fallet med andra enheter som lanseras med Android 10 längre fram eftersom det inte är någon mening med att erbjuda en alternativ gest schema. Den troliga anledningen till att OnePlus 7 och OnePlus 7 Pro fortfarande har de gamla OxygenOS-gesterna är att Google rekommenderar starkt att OEM-tillverkare inte tar bort befintliga navigeringsalternativ när de uppgraderar enheter till Android 10.
Slutligen rekommenderar Google starkt att OEM-tillverkare inte byter användaren till ett annat navigeringsläge när de ställer in en startstartare från tredje part som standard. Ironiskt nog är det precis vad som händer när du försök att ställa in en startprogram från tredje part som standard i Android 10 för Google Pixel. Google har lovat att de kommer att lansera en fix för att göra Android 10:s gester kompatibla med lanseringar från tredje part, så det är troligt att de har lagt till det här uttalandet så att användare inte kommer att skylla på tredjepartsstartare för gester inkompatibilitet. Gör som jag säger, inte som jag gör.
Sammanfattningsvis har Google äntligen tagit steg för att förena gestnavigering i Android, och de använder CDD- och GMS-godkännandeprocessen för att få OEM-tillverkare att spela med. Det är dock inte en dålig sak, eftersom fragmentering i navigeringskontroller är problematiskt för apputvecklare. Google har tydligt uttryckt mycket eftertanke och forskning om användbarheten av de nya gesterna. Eftersom Google vet att inte alla kommer att vara nöjda med sina gester, ger de fortfarande OEM-tillverkare har ett visst spelrum genom att låta dem göra sina egna gester, så länge som dessa gester följer vissa regler.
I framtida versioner av Android kan Google helt och hållet förbjuda alternativa navigeringslägen. OnePlus kanske redan ser skriften på väggen som skulle förklara varför de inte längre ger sina gamla gester på OnePlus 7T, även om vi måste vänta på att fler enheter ska lanseras med Android 10 för att se om detta är en engångsindustri eller en ny bransch trend.