Тъмна тема, термичен API и балончета: Приготвяне на приложението ви за Android 10

Автор: Louise Ward
Дата На Създаване: 6 Февруари 2021
Дата На Актуализиране: 3 Юли 2024
Anonim
Тъмна тема, термичен API и балончета: Приготвяне на приложението ви за Android 10 - Приложения
Тъмна тема, термичен API и балончета: Приготвяне на приложението ви за Android 10 - Приложения

Съдържание


Най-новата, най-добрата, все още неназована версия на Android представя функции и API, които можете да използвате, за да проектирате нови изживявания за потребителите си - плюс няколко промени в поведението, за които трябва да внимавате.

Дори ако все още не актуализирате приложението си, за да насочвате към Android Q, някои от тези промени ще се отразят всеки приложение, което е инсталирано на Android Q, дори ако приложението ви не е насочено изрично към тази версия на Android.

Някои от тези промени ще засегнат всяко приложение, което е инсталирано на Android Q.

Независимо дали желаете да експериментирате с най-новите функции или просто искате да сте сигурни, че приложението ви няма да наруши момента, в който е инсталирано на Android Q, сега е идеалният момент да започнете подготовка за предстоящото издание на Android Q.

Прочетете също:Android Q: Всичко, което разработчиците трябва да знаят

В тази статия ще разгледам всички стъпки, които трябва да предприемете, за да подготвите приложението си за Android Q - от чисто нови функции до незначителни промени в сигурността, които имат потенциал да разбият цялото ви приложение.


Избягвайте затварянето на процесора и графичния процесор: следене на температурата на устройството

Прегряването може сериозно да повреди вашия смартфон или таблет. Като защитна мярка Android ще заглуши процесора и графичния процесор на устройството ви, когато установи, че температурите се приближават до опасни нива.

Въпреки че това поведение помага да се защити хардуерът на устройството, то може също да има забележимо влияние върху производителността на приложението, особено ако приложението ви използва графики с висока разделителна способност, тежки изчисления или извършва текуща мрежа дейност.

Докато това забавяне се налага от системата, типичният ви потребител на смартфон или таблет ще обвинява приложението ви за всяко понижаване на производителността. В най-лошия сценарий, потребителят може да реши, че приложението ви е грешно или счупено, потенциално дори да деинсталира приложението ви и да ви остави отрицателен преглед на Google Play в процеса.


В най-лошия сценарий, потребителят може да реши, че приложението ви е грешно или повредено.

Android Q представя нов Thermal API, който може да ви помогне да избегнете това процесори и графични процесори. Можете да използвате метода addThermalStatusListener () на този API, за да създадете слушател за промени в термичното състояние, след което да коригирате поведението на приложението си, когато температурата на устройството започне да се повишава. Това може да помогне да се намалят шансовете на системата да прибегне до процесора или процесора. Например, можете да намалите напрежението, което приложението ви поставя върху системата за прегряване, като намалите разделителната способност или честотата на кадъра или деактивирате функции, изискващи ресурси, като мрежова свързаност.

Обърнете внимание, че термичният API на Android Q изисква нов HAL слой на устройството, който по време на писането е бил наличен само на устройства с Pixel.

Намалете натоварването на очите и увеличете видимостта с тема Dark

В Android Q потребителите могат да активират тъмна тема за цялата система, която е предназначена да намали натоварването на очите, да подобри видимостта при условия на слаба осветеност и да намали потреблението на енергия на устройства с OLED екрани.

Тъмната тема е потребителски интерфейс със слаба светлина, който използва тъмни повърхности за фон и светли цветове на преден план за елементи като текст и иконография.

Потребителите могат да активират тази тъмна тематична тема по всяко време чрез нова плочка за бързи настройки или като стартират приложението за настройки на устройството си и отидат до Display> Theme. На устройства с Pixel превключването в режим на спестяване на батерия също ще активира автоматично тема Dark.

Dark Theme се прилага на цялото устройство, така че за да осигурите последователно потребителско изживяване, ще трябва да гарантирате, че приложението ви напълно поддържа тема Dark.

За да добавите поддръжка на Dark Theme, уверете се, че използвате най-новата версия на библиотеката Material Android, след това актуализирайте приложението си, за да наследите от Theme.MaterialComponents.DayNight, например:

След това ще трябва да създадете файл res / values-night / themes.xml и да наследите от Theme.MaterialComponents:

За да осигурите добро потребителско изживяване, може да се наложи да промените поведението на приложението си, когато тема Dark е активирана, например замяна или премахване на графики, които излъчват значително количество светлина.

Можете да проверите дали Dark тема е активирана, като използвате следния фрагмент:

int currentNightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK; превключвател (currentNightMode) {// Тъмната тема в момента не е активна // Конфигурация на случая.UI_MODE_NIGHT_NO: прекъсване; // Тъмната тема е активна // Конфигурация на случая.UI_MODE_NIGHT_YES: break; }

След това приложението ви може да променя поведението си, в зависимост от това коя тема е активна в момента.

API на панела за настройки: Показване на настройките на устройството във вашето приложение

Ако приложението ви е насочено към Android Q, вече няма да можете да променяте директно настройките на Wi-Fi на устройството. Вместо това ще трябва да подканите потребителя да направи желаните промени с помощта на API на панела за настройки.

Можете да използвате този нов API за показване на съдържание от приложението Настройки на устройството като вграден панел, който се плъзга върху съдържанието на приложението ви. От гледна точка на потребителя, тези контроли в приложението им позволяват бързо и лесно да променят настройките на устройството си, без да се налага да стартират отделно приложение. За разработчика на приложението API на панела за настройки ви позволява да промените състоянието на Wi-Fi и други важни настройки на устройството, без да насърчавате потребителя да се движи далеч от приложението ви.

В Android Q Google прави известията в стил чат официална част от платформата Android с въвеждането на API на Bubble.

Създадени като алтернатива на SYSTEM_ALERT_WINDOW, известията с балони изглежда „плават“ над друго съдържание на приложение в стил, напомнящ плаващите известия, използвани от Facebook Messenger за Android.

Известията за балони могат да бъдат разширени, за да разкрият допълнителна информация или персонализирани действия, които дават възможност на потребителите да взаимодействат с вашето приложение, извън контекста на приложението.

Когато приложението ви се опита да създаде първия си балон, Android ще попита потребителя дали иска да разреши всички балони от приложението ви или да блокира всички балони. Ако потребителят реши да блокира всички балони на приложението ви, вместо това ще се покаже като стандартни известия. Вашите мехурчета също ще се показват като стандартни известия, когато устройството е заключено или винаги на дисплея е активно. За да осигурите добро потребителско изживяване, трябва да сте сигурни, че всичките ви мехурчета се показват и функционират правилно като редовни известия.

За да създадете балон, ще ви е необходима активност, която определя поведението на разширения балон и оформление, което определя неговия потребителски интерфейс. За стъпка по стъпка ръководство за това как да създадете първото си известие за балон, вижте Проучване на Android Q: Добавяне на известия за балони към приложението ви.

Увеличаване на достъпността с помощта на цялата система за жестова навигация

Потребителите с проблеми със сръчността може да намерят по-лесно да общуват с устройството си с помощта на жестове. В Android Q потребителите имат възможност да активират жестова навигация през цялото си устройство, което ще повлияе всеки приложение, инсталирано на това устройство.

Дори ако не актуализирате приложението си, за да насочвате към Android Q, приложението ви ще се влияят от навигационните настройки на устройството, така че трябва да се уверите, че приложението ви е съвместимо с жестовата навигация на Android Q.

В режим на навигация с жест приложението ви трябва да използва целия екран, така че първата стъпка е да кажете на системата Android, че приложението ви поддържа изглед от край до край. За да подредите цял екран на приложението си, можете да използвате флаговете SYSTEM_UI_FLAG_LAYOUT_STABLE и SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, например:

view.setSystemUiVisibility (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

Също така ще трябва да внедрите поддръжка за прозрачна системна лента, като добавите следното към вашата тема:

Когато е време да тествате приложението си, ще трябва да проверите дали системните жестове на Android Q не задействат нито един от контролите на приложението ви, като бутони или менюта. По-конкретно, Android Q използва прекарване на пръст навътре за действие „Назад“ и прекарване на пръст нагоре за дома и бързо превключване, което може да попречи на всички UI елементи, разположени в тези области.

Ако по време на тестване откриете, че прокарването от долната част на екрана или плъзгането навътре задейства контролите на приложението ви, тогава можете да посочите кои региони са настроени да получават сензорно въвеждане. За да блокирате определени области, прекарайте Списък към API на Q Q на View.setSystemGestureExclusionRects (), например:

списък exclusionRects; public void onLayout (boolean changeCanvas, int наляво, int отгоре, int дясно, int долу) {setSystemGestureExclusionRects (изключванеRects); } публична невалидност onDraw (Canvas canvas) {setSystemGestureExclusionRects (ExcludRects); }

Ако приложението ви използва някакви персонализирани жестове, трябва също да проверите дали те не влизат в противоречие с навигационните жестове на системата.

Заснемане на аудио от приложения на трети страни

Android Q представя API за AudioPlaybackCapture, което прави възможно приложението ви да улавя аудио от други приложения - перфектно, ако създавате приложение за запис на екрана!

За да заснемете възпроизвеждане на звук, трябва да поискате разрешение RECORD_AUDIO и след това:

  • Създайте екземпляр на AudioPlaybackCaptureConfiguration, като използвате AudioPlaybackCaptureConfiguration.Builder.build ().
  • Конфигурирайте и създайте екземпляра AudioRecord, като се обадите на setAudioPlaybackCaptureConfig и след това предадете конфигурацията на обекта AudioRecord.

Например:

MediaProjection mediaProjection; AudioPlaybackCaptureConfiguration config = нов AudioPlaybackCaptureConfiguration.Builder (mediaProjection) .addMatchingUsage (AudioAttributes.USAGE_MEDIA) .build (); Запис на AudioRecord = нов AudioRecord.Builder () .setAudioPlaybackCaptureConfig (config) .build ();

Този нов API означава, че по подразбиране приложенията на трети страни ще могат да записват всичко на звука на приложението ви За някои приложения това може да представлява проблем с поверителността или дори да изложи приложението ви на риск от нарушаване на авторски права. Ако е необходимо, можете да попречите на трети страни да заснемат аудиото на приложението ви, като добавите android: enableAudioPlaybackCapture = "false" към вашия Manifest.

Дори когато е поставен този флаг, системните приложения все още ще могат да заснемат възпроизвеждането на аудио на приложението ви, тъй като функциите за достъпност като надпис зависят от заснемането на аудио.

За да осигурите достъпно изживяване, се препоръчва винаги да разрешавате на системните компоненти да заснемат аудиото на приложението ви, но можете да блокирате системни приложения, като използвате константа ALLOW_CAPTURE_BY_NONE, ако е необходимо.

Подобрено биометрично удостоверяване

Android Q прави редица промени в автентификацията BiometricPrompt на Android.

1. Проверете дали има биометрична способност

Преди да извикате BiometricPrompt, сега можете да проверите дали устройството поддържа биометрично удостоверяване, използвайки новия метод canAuthenticate ().

2. Рационализирани диалози за биометрично удостоверяване

Android Q прави фина промяна в диалоговите прозореци за удостоверяване на BiometricPrompt.

Android позволява на потребителите да удостоверяват идентификацията си, като използват редица имплицитни биометрични модалности, като свободни ръце, като например автентификация на лице или ирис. Въпреки това, дори ако потребителят успешно потвърди идентифицирането си, използвайки имплицитна модалност, те ще го направят все още трябва да докоснете бутона за потвърждение на диалога, за да завършите процеса на удостоверяване.

За много имплицитни биометрични модалности това действие за потвърждение е ненужно, така че в Android Q можете да поискате системата да премахне бутона за потвърждение от вашия диалогов прозорец за идентификация.

Тази малка промяна може да има положително въздействие върху потребителското изживяване, тъй като проверката на самоличността ви, като гледате устройството си, е по-лесно, отколкото да гледате устройството си, да чакате да разпознае лицето ви и след това да докоснете бутона за потвърждение.

В Android Q можете да поискате системата да премахне бутона Confirm, като предаде false на метода setConfirmationRequired (). Обърнете внимание, че системата може да избере да игнорира вашата заявка при определени сценарии, например ако потребителят е деактивирал неявното удостоверяване в настройките на устройството си.

3. Алтернативни методи за удостоверяване

Понякога потребителят може да не е в състояние да удостовери автентичността с помощта на биометричен вход. В тези сценарии можете да им позволите да удостоверят идентификацията си, използвайки ПИН код, модел или парола на устройството си, използвайки новия метод setDeviceCredentialAllowed ().

След като тази резервна възможност е активирана, първоначално потребителят ще бъде подканен да удостовери автентичността с помощта на биометрични данни, но след това ще има възможност за удостоверяване чрез ПИН, модел или парола.

Пуснете вграден DEX код директно от вашия APK

В Android Q е възможно да стартирате вграден DEX код директно от вашия APK файл, което може да помогне на нападателите да не подправят локално компилирания код на приложението ви.

Можете да активирате тази нова функция за защита, като добавите следното към елемента на Manifest:

андроид: useEmbeddedDex = "истинска"

След това можете да създадете APK, който съдържа некомпресиран DEX код, като добавите следното към файла за изграждане на Gradle:

aaptOptions {noCompress dex}

Нови разрешения за разпознаване на активност

Android Q въвежда ново com.google.android.gms.permission.ACTIVITY_RECOGNITION разрешение за изпълнение за приложения, които трябва да записват броя на стъпките на потребителя или да категоризират физическата си активност, като бягане или колоездене.

API за разпознаване на активност на Android вече няма да предоставя резултати, освен ако приложението ви няма това ново разрешение ACTIVITY_RECOGNITION. Обърнете внимание, че ако приложението ви използва данни от вградени сензори, като жироскоп или акселерометър, не е необходимо да изисквате разрешението ACTIVITY_RECOGNITION.

Започват ограниченията за активност

За да сведе до минимум прекъсванията, Android Q поставя нови ограничения за това, когато приложението ви може да започне активност. На официалните документи за Android ще намерите пълен списък на всички условия, които позволяват стартирането на активността.

Премахването на системните предупреждения е премахнато от Android Go

Ако приложението ви се завърти на устройство с Android Q и Android Go, няма да има достъп до разрешението SYSTEM_ALERT_WINDOW. Тази промяна е приложена, за да се избегнат забележимите спадове на производителността, които могат да възникнат, когато устройствата с Android Go се опитват да нарисуват прозореца на наслагване SYSTEM_ALERT_WINDOW.

Кажете сбогом на Android Beam

Android Q бележи края на Android Beam, тъй като тази функция за споделяне на данни вече е официално оттеглена.

Поддържане на потребителите защитени: Ключови промени в поверителността

Android Q въвежда редица промени в поверителността, които дават на потребителите по-голям контрол върху техните данни и чувствителните функции на устройството си.

За съжаление, тези промени могат да повлияят на поведението на приложението ви и дори могат напълно да го счупят. Когато тествате приложението си срещу Android Q, трябва да обърнете особено внимание на следните промени в поверителността:

1. Обхват на съхранение: Новият модел за външно съхранение на Android

Android Q поставя нови ограничения за това как приложенията имат достъп до външно хранилище.

По подразбиране, ако приложението ви е насочено към Android Q, то ще има „филтриран изглед“ във външното хранилище на устройството (по-рано наричано „пясъчен изглед“), което осигурява достъп само до специфична за приложение директория.

Чрез обхват на съхранение приложението ви може да осъществява достъп до тази специфична за приложението директория и цялото й съдържание, без като трябва да декларирате всички разрешения за съхранение.Приложението ви обаче може да осъществява достъп до файлове, създадени от други приложения само ако е получило разрешението READ_EXTERNAL_STORAGE и файлът (ите) са разположени или в снимки (MediaStore.Images), във видеоклипове (MediaStore.Video) или в музика (MediaStore.Audio). Ако вашето приложение изисква достъп до файл, който не отговаря на тези критерии, ще трябва да използвате рамката за достъп до съхранение.

По време на писането беше възможно да се откажете от обхвата на съхранение чрез добавяне на android: requestLegacyExternalStorage = "вярно" към Manifest на вашия проект, но според официалното съхранение в обхвата на документи от Android в крайна сметка ще се изисква от всички приложения, така че се препоръчва актуализирате приложението си възможно най-скоро.

2. Решете кога приложението може да получи достъп до вашето местоположение

Android Q предоставя на потребителите повече контрол върху това кога дадено приложение може да получи достъп до тяхното местоположение.

Когато приложението ви изисква информация за местоположението, Android Q ще покаже диалогов прозорец с въпрос дали потребителят иска да сподели тази информация:

  • Когато приложението ви работи на преден план само.
  • През цялото време (т.е. когато приложението ви е на преден план и задният фон).

Ако потребителят предостави на приложението ви непрекъснат достъп, Android Q ще създаде редовни известия, които да напомнят на потребителя, че приложението ви може да има достъп до местоположението им по всяко време.

За да приложи тези промени, Android Q въвежда ново разрешение ACCESS_BACKGROUND_LOCATION.

Ако вашето приложение изисква достъп до информация за местоположението, докато е на заден план, ще трябва да поискате това ново разрешение, заедно със съществуващото разрешение ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION. Например:

3. Нови ограничения върху системните идентификатори, които не могат да се рестартират

Ако се нуждаете от достъп до системни идентификатори, които не могат да бъдат възстановени, като IMEI и сериен номер, сега ще трябва да поискате разрешението READ_PRIVILEGED_PHONE_STATE.

Когато е възможно, се препоръчва да използвате алтернативни методи за проследяване на потребителя. Например, ако искате да записвате анализи на потребители, можете да създадете идентификационен номер за рекламиране на Android, вместо да поискате достъп до идентификатори на устройства, които не могат да се задават отново.

Уверете се, че сте готови за Android Q: Тествайте приложението си

Най-добрият начин да гарантирате, че приложението ви осигурява добро потребителско изживяване на Android Q, е да го изпробвате на устройство, работещо с Android Q.

Докато чакаме официалната версия, има три начина да тествате приложението си спрямо визуализациите за разработчици на Android Q: регистрирайте устройството си в програмата Android Beta, ръчно флашнете изображението на Android Q на вашето устройство или използвайте Android Virtual Устройство (AVD).

1. Инсталирайте бета версията на Android Q на физическо устройство

Ако притежавате съвместимо устройство (пълен списък можете да намерите тук), можете да получите актуализации на Android Q в ефир чрез записване в програмата Android Beta. По време на писането всички телефони на Google Pixel се поддържат от програмата Android Beta. Това включва Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a и Pixel 3a XL.

Ако не притежавате Pixel, бета-версия на Android Q се предлага и на избрани устройства от шепа производители, включително Asus, Huawei, LG, Xiaomi и др. За пълния списък на поддържаните устройства, вижте списъка тук.

След като се регистрирате, Google преценява, че ще получите между три и шест актуализации в хода на програмата.

Преди да се запишете в програмата Beta, има няколко недостатъка, които трябва да знаете. Предварителните версии на Android може да съдържат грешки и грешки, които биха могли да попречат на вашето устройство да функционира нормално и няма официална поддръжка, ако срещнете затруднения. Потребителите, които използват предварителни версии на Android, също няма да получават отделни месечни актуализации за сигурност, което може да остави вашето устройство уязвимо за атаки и експлоатации.

И накрая, въпреки че можете да се откажете от програмата и да се върнете към стабилна версия на Android по всяко време, всички локално запазени данни на вашето устройство ще бъдат изтрити, когато се върнете към стабилната версия. Обърнете внимание, че ако останете записани до края на бета програмата, ще завършите и ще получите окончателната публична версия на Android Q без загуба на която и да е от вашите данни.

Ако искате да започнете да получавате актуализации на Android Q в ефир, отидете на уебсайта на Android Beta за повече информация.

2. Флашнете ръчно изображение на Android Q на Android

Ако не ви харесва идеята да получавате актуализации на Android Q в ефир, можете да изтеглите и ръчно да изтеглите системно изображение на Android Q на вашето Pixel устройство.

Google публикува системните изображения за всички съвместими устройства Pixel, заедно с инструкции как да флаш системно изображение. Този ръчен подход може да бъде полезен, ако трябва да тествате срещу конкретно издание на Android Q или ако искате да започнете тестване веднага, вместо да се регистрирате в програмата Beta и потенциално да изчакате до 24 часа, за да получите първата си актуализация.

3. Използвайте емулатора на Android

Ако не искате рисковете, свързани с инсталирането на бета софтуер на физически смартфон или таблет, или ако не притежавате съвместимо устройство, можете да използвате AVD вместо това.

За да изтеглите най-новото изображение за преглед на Android Q, изпълнете следните стъпки:

  • Стартирайте Android Studio.
  • Изберете Инструменти> SDK Manager от лентата с инструменти на Android Studio.
  • Уверете се, че е избран разделът SDK Platforms.
  • Изберете Покажи подробности за пакета.
  • Изберете Google Play Intel x86 Atom System Image.

  • Щракнете върху OK.
  • Създайте AVD с помощта на това системно изображение.

Как да тествам приложението си срещу Android Q?

След като разполагате с физическо устройство или AVD с Android Q, трябва да поставите приложението си през същите тестови процеси и процедури, които използвате при подготовката който и да е освободи. По време на тестването трябва също да обърнете особено внимание на промените в поверителността на Android Q, тъй като те имат потенциал да пробият приложението ви.

След като потвърдите, че приложението ви предоставя добро потребителско изживяване на Android Q, трябва да публикувате възможно най-скоро приложението си, съвместимо с Android Q, в Google Play. Като пуснете приложението си рано, можете да събирате отзиви преди по-голямата част от потребителската база да премине към Android Q.

Освен това можете да използвате тестовите песни на Google Play, за да избутате APK към избрана група тестери, след което да извършите поетапно представяне на продукцията, когато сте доволни от отзивите им.

Надяваме се тази статия да ви помогне да подготвите приложението си за Android Q! Коя функция на Android Q ви вълнува най-много?

Над вБлог на Xperia, открихме няколко нови снимки на това, което изглежда е пропуснато през 2019 г. водещо устройство на ony. Въпреки че не сме сигурни, много е възможно очакваното ony Xperia 2, после...

Xperia 5 на ony бе представена наскоро на IFA 2019. Разбира се, ony пропусна няколко цифри след Xperia 1 и отиде направо до 5, но телефонът не е толкова различен от предшественика си....

Очарователно