Google draud noņemt lietotnes ar pieejamības pakalpojumiem no Play veikala

Google sūta e-pasta ziņojumus, brīdinot izstrādātājus neizmantot pieejamības pakalpojumus ārpus paredzētā lietojuma, pretējā gadījumā viņu lietotnes tiks noņemtas no Play veikala.

Atjaunināt: LastPass ir tikko atbildēja uz šīm ziņām un norāda, ka viņu Android lietotnēm nebūs tūlītējas ietekmes. Neatkarīgi no tā, vai tas nozīmē, ka citiem pieteikumiem tiks piemērota iecietība, vēl ir jānoskaidro.

Dažas no inovatīvākajām Play veikala lietojumprogrammām ir veidotas, izmantojot API tādā veidā, kādu Google nekad nav paredzējis. Ir lietotnes, kas var pārveidot skaļuma taustiņus, lai izlaistu mūzikas ierakstus, ierakstītu un atskaņotu skārienvadus tīmekļa lapas vai spēles, un pat nodrošināt alternatīvus navigācijas taustiņus, lai jūs varētu izmantot visu ierīci ekrāns. Visi šie piemēri, kurus es tikko minēju, ir balstīti uz Android pieejamības API. Bet tas var drīzumā izmaiņas, jo Google Play veikala komanda izstrādātājiem sūta e-pasta ziņojumus, norādot, ka viņi var vairs neieviesīs pieejamības pakalpojumus, ja vien tie neievēro Google vadlīnijas.


Kas ir pieejamības pakalpojums?

Lai saprastu, kāpēc tas ir svarīgi, mums vispirms ir jāpaskaidro, kas ir pieejamība saistībā ar Android. Kopumā pieejamība attiecas uz Android lietotnes padarīšanu pieejamāku lietotājiem ar noteiktiem traucējumiem, piemēram, vājredzīgiem. Lai gan katra izstrādātāja interesēs ir padarīt savas lietotnes pieejamākas lietotājiem ar invaliditāti, ir īpaša lietojumprogrammu klase, kas izstrādāta, lai uzlabotu visu Android lietotņu lietojamību lietotājiem ar invaliditāti. Tos sauc par pieejamības pakalpojumiem.

Pieejamības pakalpojums, ko parasti dēvē par a11y, ir lietotne, kurai sistēma var ievadīt noteiktu informāciju atkarībā no notikumiem pieejamības pakalpojums reģistrējas, lai klausītos. Lietotnei, kas vēlas ieviest pieejamības pakalpojumu, ir jāpievieno android.permission.BIND_ACCESSIBILITY_SERVICE atļauja AndroidManifest failam, lai tikai sistēma varētu izveidot savienojumu ar lietotnes pakalpojumu.

Piemēram, ja pieejamības pakalpojums ir izveidots, lai klausītos TYPE_VIEW_CLICKED notikumiem, šis pakalpojums saņems informāciju no sistēmas par visām pogām, kuras lietotājs var nospiest. Pieejamības pakalpojums var arī reaģēt un izmantot noteiktus žestus un KeyEvents, pirms citas lietotnes tos saņem. Visbeidzot, pieejamības pakalpojums var arī ievadīt noteiktus KeyEvents, piemēram, pogu aizmugurē, dalītā ekrāna vai jaunāko lietotņu pogu.

Tādējādi pieejamības pakalpojumi var būt ārkārtīgi spēcīgs un noderīgs. Vairākas populārākās, novatoriskākās lietojumprogrammas Google Play veikalā paļaujas uz a11y, lai veiktu savus pienākumus. Šeit ir tikai daži no dažiem piemēriem, ko es izdomāju no galvas:

  • AutoInput - pārtvert KeyEvents un veikt pieskaršanās/vilkšanas žestus
  • Pogu kartētājs - pārtvert KeyEvents un pārkartot tos ar citiem KeyEvents
  • Apzaļumot - automātiski pārziemot lietotnes, piespiedu kārtā aizverot tās pirms ekrāna izslēgšanas
  • Ievadīšana+ - noteikt, kad tastatūras lietotne ir atvērta, lai parādītu peldošo darbības pogu
  • LastPass - skenēt lapas lietotājvārda/paroles ierakstiem (nepieciešams pirms Android Oreo)
  • Ātri pārslēdzieties - nosūtiet KeyEvent pogai Atpakaļ
  • Tasker - noteikt, kad lietotnes ir atvērtas, lai jūs varētu veikt jebkuru lietotāja definētu darbību
  • Tips Mašīna - ierakstiet visu teksta ievadi, lai jūs nekad nezaudētu nevienu teksta ievadi

Neviena no šīm lietojumprogrammām neizmanto a11y Google paredzētajā veidā, proti, lai palīdzētu lietotājiem ar invaliditāti. Es gribētu derēt, ka lielākā daļa lietojumprogrammu, kas ievieš pieejamības pakalpojumu, to dara funkcijām, kas nav Google kompetencē. Bet tas ir Android un API, piemēram, pieejamības, skaistums — Google parasti neierobežo to, ko izstrādātāji drīkst un ko nedrīkst darīt. Šķiet, ka šī vieglā pieeja, izmantojot pieejamības pakalpojumus, mainās, jo Google Play Veikala komanda ir sūtījusi e-pasta ziņojumus izstrādātājiem, brīdinot viņus par gaidāmajām izmaiņām viņu politikā a11g.


Ko īsti dara Google?

Uzņēmums informē izstrādātājus, ka, ja viņu lietojumprogramma izmanto pieejamības pakalpojumu cita iemesla dēļ, nevis palīdzības sniegšanai lietotājiem ar invaliditāti, viņi ir jānoņem šīs atļaujas izmantošana 30 dienu laikā, pretējā gadījumā viņu lietojumprogramma tiks noņemta no Play veikala. Šīs prasības neievērošana var izraisīt pārkāpumu pret izstrādātāja Play veikala kontu, kas var galu galā noved pie konta darbības pārtraukšanas.

Attiecībā uz dažām lietotnēm, kas izmanto a11y, lai palīdzētu lietotājiem ar invaliditāti, Google norāda, ka šie izstrādātāji vienkārši jāpievieno pamanāma, lietotājam paredzēta informācija par iemeslu, kāpēc viņu lietotnei ir nepieciešams atļauju. Tomēr, kā jau minēju iepriekš, pieejamības pakalpojumi tiek izmantoti daudz biežāk lietotnēs, kas galu galā pārkāpj šo jauno politiku.

Pilns e-pasts nosūtīts izstrādātājiem

Sveiki, izstrādātāji vietnē ****!

Mēs sazināmies ar jums, jo jūsu lietotne **** ar pakotnes nosaukumu **** pieprasa "android.permission. BIND_ACCESSIBILITY_SERVICE.' Lietotnes, kas pieprasa pieejamības pakalpojumus, ir jāizmanto tikai, lai palīdzētu lietotājiem ar invaliditāti izmantot Android ierīces un lietotnes. Jūsu lietotnei ir jāatbilst mūsu Atļaujas politiku un mūsu pamanāmās informācijas izpaušanas prasības Lietotāja dati politiku.

Nepieciešama darbība: ja jūs to vēl nedarāt, jums ir jāpaskaidro lietotājiem, kā jūsu lietotne izmantoandroid.permission. BIND_ACCESSIBILITY_SERVICElai palīdzētu lietotājiem ar invaliditāti izmantot Android ierīces un lietotnes. Lietotnes, kas 30 dienu laikā neatbilst šai prasībai, var tikt noņemtas no pakalpojuma Google Play. Varat arī noņemt visus pieejamības pakalpojumu pieprasījumus savā lietotnē. Varat arī izvēlēties atcelt savas lietotnes publicēšanu.

Ja jums ir jāveic izmaiņas savās lietotnēs, lūdzu, veiciet tālāk norādītās darbības.

  • Izlasiet cauri Atļaujas un Lietotāja dati politikām, lai iegūtu plašāku informāciju, un pārliecinieties, vai jūsu lietotne atbilst visām politikām, kas norādītas Izstrādātāju programmu politikas.
  • Ja jums nav nepieciešama BIND_ACCESSIBILITY_SERVICE atļauja jūsu lietotnē vai atļauja tiek izmantota citam nolūkam, nevis palīdzēt lietotājiem ar invaliditāti izmantot Android ierīces un lietotnes, veiciet tālāk norādītās darbības.
    1. Noņemiet šīs atļaujas pieprasījumu no savas lietotnes manifesta.
    2. Pierakstieties savā Play Console un augšupielādējiet savu pārveidoto, politikām atbilstošu APK.
  • Vai arī, ja jums ir nepieciešama BIND_ACCESSIBILITY_SERVICE atļauja jūsu lietotnē, lai palīdzētu lietotājiem ar invaliditāti izmantot Android ierīces un lietotnes, veiciet tālāk norādītās darbības.
    1. Lietotnes veikala ieraksta aprakstā iekļaujiet šādu fragmentu: “Šī lietotne izmanto pieejamības pakalpojumus”.
    2. Pirms lūdzat lietotājam iespējot šo atļauju jūsu lietotnē, sniedziet lietotājam skaidri redzamu informāciju par šo lietojumu. Jūsu informācijas atklāšanai jāatbilst katrai no šīm prasībām:
      • Informācijas atklāšana ir jāsniedz, izmantojot android: kopsavilkums un Android: apraksts AccessibilityServiceInfo klases elementi
      • Atklāšanā ir jāapraksta funkcionalitāte, ko pieejamības pakalpojuma atļauja iespējo jūsu lietotnei. Katra funkcija, kas tiek izmantota ar pieejamības pakalpojuma pieprasījumu, ir jādeklarē jūsu atklātajā informācijā ar pamatojumu.

Varat arī izvēlēties atcelt lietotnes publicēšanu.

Visi pārkāpumi tiek izsekoti. Nopietnu vai atkārtotu jebkāda veida pārkāpumu gadījumā tiks pārtraukta jūsu izstrādātāja konta darbība, kā arī tiks veikta izmeklēšana un, iespējams, saistīto Google kontu darbības pārtraukšana.

Ja esat pārskatījis politiku un uzskatāt, ka, iespējams, esam kļūdījušies, lūdzu, sazinieties ar mūsu politikas atbalsta komanda. Viens no maniem kolēģiem ar jums sazināsies 2 darbadienu laikā.

Sveicieni,

Google Play pārskatīšanas komanda

Lasīt vairāk


Kāpēc Google no Play veikala noņem pieejamības pakalpojumus?

Kamēr pieejamības pakalpojumu izmantošana ir zināms, ka tas rada diezgan nelielu nobīdi, patiesais iemesls, kāpēc Google sāk vērsties pret šīm lietotnēm, visticamāk, ir saistīts ar pieaugošo problēmu, kas izmanto a11y priekšrocības. Lai gan iepriekš minētās lietotnes izmanto a11y izdevīgiem mērķiem, ļaunprātīgi izstrādātāji tās var viegli izmantot negodīgiem mērķiem. Piemēram, pieejamības pakalpojums var izmantot, lai ieviestu taustiņu bloķētāju, izspiedējvīrusu uzbrukumu vai pikšķerēšanas izmantošanu.

Google centieni aizsargāt lietotājus no ļaunprātīgiem pieejamības pakalpojumiem galvenokārt ir saistīti ar informācijas izpaušanu. Pašlaik tiek iespējots pieejamības pakalpojums, kas reģistrējas noteiktiem pasākumiem, piemēram, TYPE_VIEW_TEXT_CHANGED parādīsies brīdinājuma dialoglodziņš, ka lietotne var nozagt jūsu paroles. Varētu domāt, ka šāds ziņojums būtu efektīvs, lai neļautu lietotājiem bezatbildīgi piešķirt lietotnes a11y. Tomēr ir bijis daudz dokumentētu gadījumu, kad lietotnes maldina lietotājus piešķirt a11y. Daži uzbrukumi ir vēl tālāki, piemēram, Apmetņa un dunča ekspluatācija un Toast Message Overlay uzbrukumi kas sociāli mudina lietotāju piešķirt 11y, ekrānā nepareizi attēlojot to, ar ko viņi mijiedarbojas.

Šādi uzbrukumi ir efektīvi lielākajā daļā Android ierīču. Google ir guvusi lielus panākumus, lai novērstu pārklājuma vai tostu ziņojumu uzbrukumus (kā redzams AOSP, ja meklējat a11y), taču lietas ir nonākušas tiktāl, ka Google nolēma, ka labāk ir ierobežot pieejamības pakalpojumu izmantošanu pilnībā. Tam ir jēga, bet tā tiešām sūdīgi jo šis solis iznīcinās daudzu novatorisku lietotņu funkcionalitāti.


Ko izstrādātāji var darīt?

Diemžēl tur izstrādātāji nevar daudz darīt reaģējot uz šīm izmaiņām. Izstrādātāji var izpildīt Google prasības, noņemot savu pieejamības pakalpojumu, vai arī saskarties ar draudiem, ka viņu lietotne tiks noņemta un konta darbība, iespējams, tiks pārtraukta. Vienkārši pievienojot informāciju par to, kāpēc viņu lietotne izmanto a11y, darbotos tikai tad, ja viņu lietotnes mērķis ir likumīgi palīdzēt lietotājiem ar invaliditāti, kas neapraksta lielāko daļu lietotņu, kuras pašlaik izmanto a11y.

Dažām, bet ne visām, mūsu pieminētajām lietotnēm ir iespējams pārveidot programmas, lai tās vairs neizmantotu pieejamības pakalpojumu. Paroļu pārvaldnieki, piemēram, LastPass, var migrēt uz automātiskās aizpildes sistēmu, bet tikai tad, ja lietotājs izmanto operētājsistēmu Android 8.0 Oreo un jaunāku versiju. Ja lietotne izmanto a11y, lai pārraudzītu, kad citas lietotnes ir atvērtas, šo lietotni var rakstīt, izmantojot aptaujas pakalpojumu, izmantojot UsageStats API. Tādas lietotnes kā Tasker var izturēt šādas izmaiņas. Citām ierīcēm, piemēram, Button Mapper un AutoInput, nav paveicies — bez saknes nav labs veids, kā pārtvert KeyEvents.

Lai gan mēs apzināmies briesmas, kas rodas, atļaujot ļaunprātīgai lietotnei piekļūt pieejamības API, ir žēl, ka Google sterilizē dažas patiešām noderīgas lietotnes. Mēs ceram, ka Google izstrādātā politika ir pretēja, vai arī viņi vienkārši apgalvo, ka tā tika nepareizi interpretēta. Pašreizējā redakcija e-pastā ir diezgan skaidra — ievērojiet mūsu vadlīnijas vai izejiet no Play veikala. Tas ir drūms atgādinājums, ka Google rīcībā ir visas Play veikala lietotņu iespējas, un tās jebkurā laikā var izvilkt paklāju no jums.


1. atjauninājums: mulsinoša izstrādātāja dokumentācija

Google izstrādātāju dokumenti pieejamības pakalpojuma izveide šķiet, ir pretrunā šim jaunajam Google Play veikala komandas mērķim. Rakstīšanas laikā lapai ir šāds formulējums:

Pieejamības pakalpojums ir lietojumprogramma, kas nodrošina lietotāja saskarnes uzlabojumus, lai palīdzētu lietotājiem ar invaliditāti vai lietotājiem, kuri īslaicīgi nevar pilnībā mijiedarboties ar ierīci. Piemēram, lietotājiem, kuri brauc, rūpējas par mazu bērnu vai apmeklē ļoti skaļu ballīti, var būt nepieciešama papildu vai alternatīva saskarnes atsauksmes.

Turklāt, ja salīdzina lapas formulējumu ar an jūlija lapas arhivētā versija, jūs atklāsiet, ka piezīme par pieejamības pakalpojumu veidošanu tikai, lai palīdzētu lietotājiem ar invaliditāti, nepastāv.

Paldies João Dias, ka sazinājāties ar šo informāciju.