Raksts

Google brīdinājumi Play veikalā par aplikāciju bateriju

Google ievieš brīdinājumus Play veikalā par lietotnēm, kas pārmērīgi patērē bateriju fona režīmā. Raksts skaidro kritērijus, izstrādātāju vadlīnijas un lietotāju iespējas, kā arī tehniskās optimizācijas metodes.

Google brīdinājumi Play veikalā par aplikāciju bateriju
Lasīšanas laiks: 7 Minūtes
Sekot Google

Vai kādreiz atvērāt lietotni, ieliktu telefonu kabatā un vēlāk brīnījāties, kāpēc akumulators pēkšņi strauji izlādējās? Google uzskata, ka šo neapmierinātību var risināt visvienkāršāk — liekot brīdinājumu tieši tur, kur tas ietekmē lejupielādes lēmumu: lietotnes Play veikala lapā.

Sākot ar izvēršanu, kas sākās 1. marta, Google norāda, ka piemēro tā dēvētās "wake lock technical quality treatments" metodes lietotnēm, kas fona režīmā tur ierīces nomodā un patērē daudz enerģijas. Praktiskais rezultāts ir grūti nepamanāms. Lietotnes, kas atkārtoti pārsniedz Google noteiktos baterijas patēriņa sliekšņus, var redzēt savu Play veikala klātbūtni pazeminātu — tas var nozīmēt redzamus brīdinājumus ierakstos un pat iekļaušanas ieteikumos samazināšanu.

Brīdinājums, ko izstrādātāji nevēlas, lai lietotāji redz

Google pat publicēja piemēru, kā šis brīdinājums var izskatīties reālajā vidē: izteikts sarkans paziņojums zem lietotnes lejupielādēm, vērtējuma un atsauksmēm ar tekstu: "Šī lietotne var patērēt vairāk akumulatora, nekā gaidīts, augstas fona aktivitātes dēļ."

Kādam, kas tikai pārlūko jaunu utilītu vai spēli, tas ir sarkanais signāls, kas lejupielādi var apturēt dažu sekunžu laikā. Un tieši tāds ir mērķis. Google vairs ne tikai mudina izstrādātājus ar dokumentāciju — tas iekļauj baterijas veiktspēju iepirkšanās pieredzē.

Tomēr ne katra lietotne, kas izmanto fona enerģiju, automātiski ir "slikta". Google izpilde balstās uz konkrētu uzvedības modeli: lietotne, kas atkārtoti tur daļēju wake lock (mehānismu, kas var uzturēt CPU darbībā pat tad, ja ekrāns ir izdzēsts) ilgāk nekā Android uzskata par saprātīgu.

Pēc Google teiktā, lietotni var apzīmēt kā "pārmērīgi" rīkojošos, ja tā tur neizslēdzamu daļēju wake lock vidēji vismaz divas stundas, kamēr ekrāns ir izslēgts, vairāk nekā 5% lietotāja sesiju pēdējo 28 dienu laikā. Tas nav perifērijas incidents. Lielā mērogā tieši šāda lēna enerģijas noplūde liek cilvēkiem vainot Android telefonus par "sliktu bateriju", pat ja īstais vaininieks ir viena trokšņaina lietotne.

Google arī atstāj vietu pamatotai lietošanai. Daži wake lock režīmi ir atbrīvoti, jo tie sniedz acīmredzamu lietotāja vērtību un nav viegli optimizējami prom — piemēri ir audio atskaņošana, atrašanās vietas piekļuve un lietotāja iniciēti datu pārnesumi. Citiem vārdiem: Spotify netiek sodīts par mūzikas atskaņošanu, taču nejauša kabatas lukturīša lietotne nevajadzīgi nedrīkst tērēt enerģiju plkst. 2:00.

Kā izstrādātāji var palikt ārpus "sliktā" saraksta

Google uzsver, ka šis nav publiska izgāšanās kampaņa bez iespējas labot situāciju. Kopā ar politikas spiedienu tā publicēja vadlīnijas izstrādātājiem, lai ierobežotu baterijas patēriņu — aptverot praktiskus lēmumus, piemēram, kad izmantot priekšplāna (foreground) servisus pret daļējiem wake lock, kā trešo pušu bibliotēkas var slepeni iegūt wake lock un biežākās problēmas, kā Bluetooth komunikācija un atrašanās vietas izsekošana.

Izstrādātājiem tas nozīmē vēl vienu atbilstības ceļu, ko jāuzrauga — papildus mērķa SDK prasībām, konta pārbaudēm un pastāvīgajām Android platformas izmaiņām. Lietotājiem tas ir reti saprotams ieguvums: mazāk neatrisināmu izlādes gadījumu, mazāk "kāpēc mans telefons ir karsts?" brīžu un lielāka caurskatāmība pirms Install pogas nospiešanas.

Un, ja Google to izdarīs pareizi, tas var grauzt vienu no iPhone ilggadīgajām priekšrocībām sabiedriskajā uztverē — baterijas uzticamību. Android aparatūra ir ievērojami uzlabojusies, bet viena slikti izstrādāta lietotne joprojām var sabojāt pieredzi. Tagad tai var nākties atbildēt par to spilgti sarkanā tekstā.

Kāpēc šī pieeja ir būtiska lietotājiem

Izšķiroši ir tas, ka šis brīdinājumu mehānisms ienes tiešumu un ātrumu lietotāju izvēlē: patērētāja lēmums tiek ietekmēts acumirklī. Ja Play veikals sāk rādīt sarkanu paziņojumu par lietotni, šāda vizuāla norāde samazina laiku, ko lietotājs pavada, meklējot tehniskas detaļas vai atsauksmes. Tas arī veicina labāku konkurenci: izstrādātāji, kuri optimizē enerģijas patēriņu, gūs labumu no labākas redzamības un mazāk negatīvu atgriezenisko saišu.

Ko lietotāji var darīt tūlīt

  • Pārbaudīt lietotņu sarakstu sadaļā Iestatījumi → Akumulators, lai atrastu šaurās vietas;
  • Iespējot Akumulatora optimizāciju konkrētām lietotnēm vai izmantot "Robežas fona aktivitātēm";
  • Skatīt Play veikali brīdinājumus pirms lejupielādes un meklēt alternatīvas, ja redzama sarkanā paziņojuma zīme;
  • Atspējot fona datus vai ierobežot atrašanās vietas piekļuvi, ja tas nav nepieciešams lietotnes pamata funkcionalitātei;
  • Izmantot sistēmas rīkus, piemēram, Enerģijas profili (Energy profiler) Android Studio vai iebūvētos akumulatora statistikas rīkus, lai diagnosticētu problēmas.

Tehniskas detaļas: kas tiek skaitīts kā "pārmērīgs" wake lock

Google definīcija ir precīza un mērojama: non-exempt (neatbrīvots) daļējs wake lock, turēts vidēji vismaz divas stundas ar ekrānu izslēgtu, vairāk nekā 5% sesiju pēdējo 28 dienu laikā. Šī kombinācija — ilgums + sesiju īpatsvars — nodrošina, ka brīdinājumi tiek vērsti pret sistemātiskām problēmām, nevis pret īslaicīgām vai retām aktivitātēm.

Daļējs wake lock ļauj CPU joprojām darboties, kamēr displejs ir izslēgts. Tas ir nepieciešams, piemēram, audio straumēšanai, sinhronizācijai pēc lietotāja pieprasījuma vai GPS izsekošanai. Tomēr neoptimāla lietotne vai trešās puses bibliotēka, kas neregulāri iegūst un neatbrīvo šos resursus, var radīt stundu stundu noplūdi.

Kā Google atpazīst un klasificē uzvedību

Google, izmantojot telemetrijas datus no Android ierīcēm (piecēries privātuma un datu aizsardzības noteikumiem), var agregēt informāciju par lietotņu fona aktivitātēm. Analītiskie kritēriji — vidējais wake lock ilgums, to izplatība starp lietotājiem un konsekvence pēdējo 28 dienu logā — nodrošina, ka tikai atkārtotas un nosakāmas problēmas tiek apzīmētas.

Tas nozīmē: ja lietotne uzvedas labi lielākoties, bet dažiem lietotājiem retāk rodas problēmas (piemēram, ierīces ar novecojušiem draiveriem), tā, visticamāk, netiks apzīmēta. Tomēr, ja problēma ir reproducējama un ietekmē nozīmīgu lietotāju daļu, brīdinājums būs pamatots.

Vadlīnijas izstrādātājiem: labākā prakse enerģijas optimizācijai

Google vadlīnijas ir praktiskas un vērstas uz risinājumu sniegšanu. Šeit ir detalizētāks pārskats par ieteicamajām pieejām un tehniskajiem rīkiem, kurus izstrādātāji var izmantot, lai samazinātu riska iespēju tikt apzīmētam.

Architektūras lēmumi

  • Izmantojiet WorkManager vai JobScheduler, kur iespējams, lai plānotu fona uzdevumus ar agrēģēšanu un izmantošanas laika ierobežojumiem;
  • Prioritizējiet priekšplāna servisus (foreground services) tikai, ja lietotājs tiešām gaida tiešas darbības, un pārliecinieties, ka tie tiek korekti atbrīvoti;
  • Batkojiet tīkla pieprasījumus un nodrošiniet, lai periodiski notiekošie pārraides būtu saplūdinātas (batching), samazinot biežas mazās sesijas, kas uztur CPU nomodā;
  • Izvairieties no nepārtraukta sensora vaicājuma (piem., GPS pozīcijas pieprasīšanas ar augstu biežumu), ja precizitāte nav kritiska;
  • Implementējiet lietotāja vadāmas datu pārsūtīšanas funkcijas, kur lietotājs aktivizē sinhronizāciju, nevis atstāj to pastāvīgi fonā.

Trešo pušu bibliotēku un SDK uzraudzība

Viena no biežākajām problēmām ir trešo pušu SDK, kas slepeni iegūst wake lock vai veic biežas fonā aktivitātes (piem., analītikas, reklāmas vai push notifikāciju bibliotēkas). Izstrādātājiem ieteicams:

  • Audīt izmantotās bibliotēkas un pārbaudīt to uzvedību ar enerģijas profila rīkiem;
  • Sazināties ar SDK piegādātājiem par to fona pieejām un pieprasīt konfigurācijas, kas samazina enerģijas izmaksas;
  • Izmantot atsevišķas konfigurācijas mobilajām ierīcēm, kur nepieciešams, lai izslēgtu nevajadzīgas fona funkcijas.

Rīki un diagnostika

Darba diagnostikā un optimizācijā noder šādi rīki:

  • Android Studio Energy Profiler — vizualizē fona aktivitātes, CPU izmantošanu un tīkla pieprasījumus;
  • Battery Historian (vai līdzīgi rīki) — analizē baterijas žurnālus un palīdz identificēt wake lock izcelsmi;
  • ADB komandas, lai iegūtu sistēmas datus par wake locks un procesiem; šo informāciju var nokonvertēt analīzei;
  • Play Console lietotņu performance atskaites — ja lietotne tiek marķēta, Google var sniegt papildu metrikas un piemērus, lai izprastu problēmu.

Vadības piemēri un labas prakses

Konkrētas darbības, ko izstrādātāji var veikt, ietver:

  • Atbrīvot wake locks uzreiz pēc to nepieciešamības beigām un uzraudzīt, lai nav "aizķertu" lock instance;
  • Izmantot eksponenciālas atkārtotas pieprasīšanas stratēģijas un adaptīvus paužu ilgumus, nevis fiksētu ātru atkārtošanos;
  • Izslēgt intensīvas sensoru vai radio piekļuves režīmus, kad lietotājs to nav iniciējis;
  • Informēt lietotāju par notiekošo — ja lietotne veikusi ilgstošu darbību fonā, parādīt paziņojumu vai iespēju to apturēt.

Ietekme uz atklātību, atklāšanu un reputāciju

Play veikala brīdinājumi var palielināt lietotāju izpratni, bet tie arī rada pievilcīgu spiedienu izstrādātājiem. Reputācija un atklātība kļūst par spēcīgu motivatoru uzlabojumiem. Tas var novest pie šādām sekām:

  • Lietotnes ar labu baterijas veiktspēju iegūs labāku redzamību un ieteikumus;
  • Izstrādātāji, kas ignorē optimizāciju, riskē zaudēt lietotāju skaitu un negatīvu atsauksmju skaitu;
  • Trešo pušu SDK piegādātāji pārskatīs savas prakses, lai neietekmētu savus klientus (lietotņu izstrādātājus).

Kopsavilkums un nākotnes perspektīvas

Google jaunā pieeja — tieši brīdināt lietotāju Play veikalā par pārmērīgu fona patēriņu — mēģina tieši risināt vienu no ilgi pastāvošajām mobilās pieredzes sūdzībām: negaidītu akumulatora izlādēšanos. Šī pieeja apvieno tehnisku mērījumu, izstrādātāju vadlīnijas un patērētāja informēšanu, veidojot mehānismu, kas veicina enerģijas efektīvāku ekosistēmu.

Izstrādātājiem tas nozīmē nepieciešamību pastiprināti pievērsties fona veiklībai, uzlabot arhitektūru un pārbaudīt trešo pušu komponentes. Lietotājiem — lielāku caurskatāmību un rīkus, lai izvēlētos lietotnes ar zemāku baterijas ietekmi. Savukārt platformai tas ir solis pretī labākam līdzsvaram starp funkcionalitāti un akumulatora efektivitāti.

Aizsardzība pret pārmērīgu enerģijas patēriņu kļūst par kvalitātes rādītāju. Ja Google spējas šo politiku precīzi īstenot, tas var mainīt tirgus uzvedību: mobilās lietotnes konkurēs ne tikai ar funkcijām un dizainu, bet arī ar enerģijas efektivitāti, ko lietotāji jūt ikdienā.

Artūrs Ozoliņš

"IT speciālists un žurnālists. Es rakstu par kiberdrošību, blokķēdēm un digitālo transformāciju."

Atstāt komentāru

Komentāri (2)

Zinātnieks

Vai tie telemetrijas dati ir patiešām precīzi? Ja kādam SDK vainīgs, kā Google to uzrādīs lietotājiem... Un privātums? Hmm

Ritvars

Beidzot! Ja tas patiešām strādā - varētu glābt daudz nervu. Man reiz kabatā apps iztukšoja akumulatoru, telefons karst un es nesapratu no kurienes. Ceru, ka izstrādātāji to ņems vērā.