Центр приложений андроид что это
Социальная сеть Facebook является сегодня самой популярной в мире, поэтому неудивительно, что соответствующее мобильное приложение установлено у огромного количества пользователей. Мобильный клиент позволяет вам получать уведомления о новых лайках, постить фотки своей еды и всегда оставаться на связи с друзьями. Однако взамен это приложение потребляет огромное количество системных ресурсов и значительно уменьшает срок работы мобильного гаджета от батареи. Согласно ежегодному отчёту App Report 2015 AVG Android App Report, именно мобильный клиент Facebook занимает верхние строчки в хит-параде самых прожорливых программ на платформе Android.
Альтернатива. Используйте мобильную версию Facebook в любом современном браузере. Функциональность отличается ненамного, зато отсутствуют раздражающие уведомления и стремительно тающая батарея.
The Weather Channel и другие погодные приложения
The Weather Channel — отличный пример того, как на самой простой функции — отображении прогноза погоды — разработчики умудряются выстроить целый мегакомбайн. Здесь вы увидите и анимированные обои, и метеорологические карты, и букет интерактивных виджетов, и бог знает что ещё. Всё это хозяйство сидит в оперативной памяти устройства, каждые пять минут стучится в интернет и, разумеется, самым бессовестным образом съедает заряд вашей батареи.
Альтернатива. Выгляните в окошко — вы получите гораздо более надёжную информацию, чем то, что показывает виджет рабочего стола. Если необходим прогноз, то Google предоставит вам самое надёжное предсказание на неделю вперёд.
AntiVirus FREE и другие антивирусные программы
Дискуссия о том, нужны ли антивирусные программы на устройствах под управлением Android, иногда бывает довольно горячей. Я придерживаюсь мнения, что если вы не получаете root-права на устройстве и не устанавливаете взломанные программы из сторонних сомнительных источников, то антивирус вам не нужен. Компания Google бдительно следит за содержимым своего магазина и моментально удаляет из него все потенциально опасные элементы, поэтому всегда активный мониторинг антивируса будет только зря тормозить ваш смартфон или планшет.
Альтернатива. Если возникли всё-таки сомнения в здоровье гаджета, то установите антивирус, просканируйте, а затем удалите его.
Clean Master и другие оптимизаторы системы
Вера в чудеса является самой главной движущей силой для распространения разных «очистителей» и «оптимизаторов». Мол, сотни лучших программистов Google не смогли довести свою систему до ума, а вот этот изобретатель-одиночка взял и сделал! Спешим вас расстроить: большинство подобных приложений либо вообще ничего не делают, либо наносят только вред. Очистить кэш, удалить остатки старых программ можно и встроенными системными инструментами. Очистка же памяти на самом деле только замедляет запуск программ и работу Android вместо обещанного создателями утилит ускорения системы.
Альтернатива. Используйте имеющиеся в Android инструменты для очистки кэша приложений. Забудьте об оптимизации памяти.
Дефолтный браузер
Некоторые производители и разработчики сторонних прошивок снабжают свои творения специальными версиями браузера. Как правило, в них намертво вшиты ссылки на сайты рекламодателей и другой ненужный вам контент. Кроме этого, никто не может поручиться, что такой браузер не сливает вашу информацию налево. Лучше никогда не использовать подобную программу и вообще, если это возможно, удалить её из системы.
Альтернатива. Для Android существуют десятки хороших браузеров, но самым надёжным и быстрым является, несомненно, Google Chrome. Он функционален, обладает поддержкой самых современных веб-технологий, умеет экономить мобильный трафик и обладает простым и понятным интерфейсом.
Это статья написана ребятами из WaveAccess
Мы разрабатываем мобильные приложения более 10 лет, и никак не можем позволить себе выпускать продукт, который бажит в руках пользователей. Именно поэтому “качать” команду тестирования и инфраструктуру для нас не менее важно, чем другие области.
Сотни Android-девайсов, iPhone с различными версиями ОС, разная диагональ устройств ставят перед QA-инженерами задачу “отлавливать” дефекты и на реальных мобильных устройствах, и на различных версиях операционных систем. Но прогонять один и тот же ручной сценарий на 10, 20, 50-ти устройствах мало кому под силу. Именно благодаря таким задачам мы прокачали свой навык автоматического тестирования, особенно, на мобильных устройствах. Но будем честны: создать и поддержать инфраструктуру даже с 20-ю реальными девайсами для прогона автотестов — это головная боль.
В этой статье хотим рассказать, как попробовали новый для себя сервис Microsoft App Center для проверки качества разрабатываемого нами приложения на зоопарке реальных девайсов.
Почему встал вопрос использования сервиса
До сего времени мы запускали автотесты на ограниченном количестве устройств, которое было в нашем распоряжении (для этого проекта — порядка 30-ти Android-девайсов и “яблок”). Сейчас приложение выходит на новый уровень, аудитория выросла, и качество стало еще более критичным. Встал вопрос об использовании облачного сервиса для прогона автотестов на большем количестве разных устройств.
В процессе релизов хотелось пользоваться всеми современными и доказавшими свою полезность практиками разработки ПО: кросс ревью, непрерывная интеграция, автоматизированное функциональное и модульное тестирование на большом списке девайсов на iOS + Android, сбор аналитики и крешлитики (crashlytics).
Каждую из этих практик мы применяли ранее и по отдельности, и в комплексе. Но с учетом масштабов проекта и большого размера команды, хотелось получить универсальное решение. Пусть инструмент умеет все перечисленное и может в одном месте предоставить возможность управлять состоянием разработки и доставки мобильных приложений для разных платформ и мониторить его.
От каждого из ролей в команде были свои условия: разработчики не хотели менять уже налаженный процесс разработки (репозиторий, билд тул и т. д.), а также переходить на слишком новые, непроверенные инструменты в проде. Инженеры по тестированию мечтали о снижении нагрузки по проверке на зоопарке девайсов, менеджерам и заказчику хотелось удобный интерфейс для мониторинга всего состояния с прозрачным флоу.
Исследование аналогов — довольно важный этап при выборе инструмента. Мы смотрели разные сервисы, предоставляющие такие возможности (для Appium-тестов, например, BrowserStack). В случае с Microsoft App Center нам предоставили триальный период, поэтому у нас была возможность попробовать и понять, что будет с проектом, если уделять качеству чуть больше ресурсов и автоматизировать весь релиз-процесс мобильного приложения для любой платформы одним сервисом. Рассказываем, как это было.
Как настроить iOS app
Итак, воспользовавшись триальным периодом, который не накладывает ограничений в функционале, создаем свое iOS приложение в Microsoft App Center:
Добавляем App Center SDK в проект:
После установки подов открываем файл AppDelegate.swift и добавляем следующие строки под своей собственной командой импорта:
В том же файле добавляем в метод didFinishLaunchingWithOptions следующие строки:
Аналогичный процесс — для objective C, полная версия инструкции — здесь.
Билдим!
Переходим во вкладку Build, выбираем наш сервис svc.
Конфигурируем билд. Не забываем подписать, так как это генерирует нам файл приложения формата app, который можно запускать на реальных девайсах:
Готово! Нажимаем кнопку Build now и ждем сборки.
Аналогичная история для Android приложений, инструкция — здесь.
Запускаем первые тесты для iOS
Unit- и нативные тесты для каждой платформы можно включить в сборку (есть галочка). О функционале АТ на разных девайсах рассказываем далее.
Настройка сета девайсов iOS, Android, отправка тестов на сет
Переходим на вкладку Test, Device Sets. Создаем набор девайсов, на которых будем гонять наши тесты. На выбор есть более 250 Android девайсов и более 200 различных iOS девайсов (generation version + iOS version). Подробный список устройств — тут.
Здесь несколько огорчило, что официальный ответ на вопрос, как скоро после релиза появятся новые Apple девайсы, звучит как “1-2 месяца после поступления в продажу”.
Готовим тесты к запуску в App Center (пример для XCUITest) и отправим на запуск. В App Center есть возможность билда только приложения, так что билдить проект тестов все же придется локально у себя на машине или в своем CI.
Appium-тесты
Стоит убедиться, что используемые фреймворки тестов соответствуют поддерживаемым. Кроме того, необходимо использовать драйвер, предоставляемый App Center, а это накладывает свои ограничения по использованию фреймворков (например, Google Giuce использовать не получится).
Билд проекта для пользователей Maven
Шаг 1. Добавляем репозиторий и зависимости
Нужно будет добавить в файл pom.xml репозиторий JCenter.
Затем добавляем зависимость для расширений Appium-тестов
Таким образом, во время компиляции будут доступны расширенные драйверы Android и iOS (которые нужны, прежде всего, для реализации фичи “label”; о ней подробнее в Шаге 4).
Шаг 2. Добавляем загрузочный профиль
Копируем сниппет в свой pom.xml в <profiles>. Если в pom-файле отсутствует секция <profiles>, нужно ее создать. Профиль после активации пакует наши тестовые классы и все зависимости в папку target/upload, готовую для загрузки в TestCloud.
Билд для пользователей Gradle
Шаг 1. Репозиторий и зависимости
Убеждаемся, что в build.gradle в корневой папке проекта активирован репозиторий JCenter:
Добавляем следующий сниппет в build.gradle в папке приложения:
Начиная с версии Gradle 3.0, androidTestCompile является устаревшим. Вместо него нужен androidTestImplementation.
Шаг 2. Автоматизируем генерацию pom-файла
Чтобы аплоадер заработал, требуется файл pom.xml. Добавляем в build.gradle в папке приложения следующий сниппет, чтобы pom-файл собрался автоматически:
Изменения в тестах
Шаг 1. Добавляем импорты
Импортируйте пакеты в свои тест классы:
Шаг 2. Создаем экземпляр TestWatcher
Добавляем в каждый тест-класс JUnit Rule (или в базовый класс тестов):
Шаг 3. Меняем тип драйвера
Поменяйте тип драйвера при его объявлении или с AndroidDriver<MobileElement> на EnhancedAndroidDriver<MobileElement>, или с IOSDriver<MobileElement> на EnhancedIOSDriver<MobileElement>
Шаг 4. Обновляем экземпляры драйверов
Меняем инстансы драйвера таким образом, чтобы строки вида:
… поменялись на вид:
Использование этих драйверов по-прежнему позволит запускать тесты локально без дополнительных модификаций, но в дополнение позволит добавлять “label” на шаги в исполняемом тесте, используя driver.label(«ваш текст»). Текст и скриншот с девайса будут доступны в тест-репорте в Test Cloud. Весьма рекомендуется делать обращение к метке через метод After, поскольку это добавит скриншот последнего состояния приложения в тест-репорт.
Скриншот будет сделан, даже если тест провален. Как правило, в нем достаточно информации, чтобы понять, почему так случилось. Пример реализации в методе After:
Загрузка в App Center test
Процесс загрузки по шагам:
- Генерируем команду App Center Test upload. Документация (EN) — starting a test run.
- Пакуем тест-классы и все зависимости в папку target/upload
- mvn -DskipTests -P prepare-for-upload package
- Загрузка и запуск тестов начался
По завершении можем просмотреть результаты на каждом девайсе из списка:
Скрины с результатами, логи, отчет
На каждом из iOS или Android девайсов можно просмотреть подробный лог и скриншот для диагностики падения теста:
А также статистику всех запусков за интервал времени:
Правда, доступ к “девайсу” для дебага и инспекции не предоставляется. Если с тестами что-то идет не так и логов недостаточно — все решается только через поддержку. В одном из популярных сервисов по запуску АТ на девайсах — BrowserStack — такая возможность есть, и она встроена в Appium. Можно было бы отдать URL и порт для создания подключения к серверу девайсов.
Выводы
Удивительно, но весь релизный процесс от Continuous Integration до Continuous Delivery приложения обеспечивается в одном месте: Microsoft App Center предлагает CI build, test, deploy to store, analytics, crashlytics.
Попробовав меньше половины предложенного функционала, команда вынесла приятное впечатление. Из очевидных плюсов: не нужно писать поддержку для каждого девайса в виде кода. Ну и прочие плюшки радуют:
- Не нужно поднимать сервер для толпы девайсов.
- Не нужно подключать к этому серверу 100500 девайсов.
- Не нужно жить с глюками андроида когда он включен 24\7.
- Не нужно собирать контейнер под девайс, не нужно менеджить эти контейнеры.
- Не нужно мириться с ограниченностью эмуляторов.
Microsoft App Center нас устроил по изначальным параметрам: он очень не требователен в плане интеграции, но предоставляет все запрашиваемые функции, избавляя от трудной поддержки. Планируем использовать сервис на проекте, так как задачи инструментария при обеспечении качества он решает.
В AppGallery пополнение — наконец-то появился GameCenter, где можно скачивать и предзаказывать игры, получать бонусы и смотреть редакторские подборки. Поскольку сотрудники HUAWEI делали это приложение своими силами, мы решили проверить, чем сервис отличается от конкурентов и как он упрощает жизнь пользователям.
Как устроен HUAWEI GameCenter
Структура у приложения такая же, как у аналогов — освоитесь быстро. На главном экране отображаются разные подборки игр, которые можно сортировать по категориям. А в «Личном кабинете» — информация: сколько всего скачали, во что играли, есть ли у вас бонусы, и какие приложения нуждаются в обновлении.
Преимущества GameCenter
Тут вы спросите, почему нельзя просто запускать игры, тапая по их иконкам? Чтобы ответить, надо тщательнее рассмотреть особенности GameCenter:
Это удобно. Например, вы хотите узнать, какие игры появились в маркете за последний месяц. Вместо того, чтобы мониторить AppGallery, достаточно зайти в сервис и кликнуть на отдельный листинг. А лучшие проекты собраны в редакторских подборках — Asphalt 9, WoT: Blitz и прочие хиты.
Можно сделать предзаказ. Допустим, вы ждёте релиз Three Kingdoms — многообещающей тактической RPG. Если хотите одним из первых заполучить игру, то можно нажать на кнопку предзаказа. В таком случае GameCenter автоматически начнёт скачивать приложение, как только оно поступит в маркеты.
Есть бонусы и скидки. Нужны стартовые кристаллы в Lords Mobile? Или немного золота в Rise of the Kings? Или скидочный купон на платное приложение? В GameCenter всё это на месте — чтобы получить бонус, достаточно скачать игру.
Минусы, впрочем, тоже есть. Например, не хватает системы достижений, чтобы за подвиги в играх выдавали «ачивки». Хотелось бы видеть и больше социализации: списки друзей, возможность смотреть, во что они играют. А редакторским подборкам не помешало бы подробное описание каждого продукта.
Что в итоге?
У HUAWEI получилась достойная альтернатива «геймцентрам» других компаний. Конечно, детищу IT-корпорации не хватает системы достижений и возможности добавлять в друзья других пользователей. Но сервис только появился — надеемся, разработчики его не забросят и будут вовремя обновлять. Ведь начало вполне неплохое.
А вы пользуетесь сервисами вроде GameCenter? Рассказывайте в комментариях!
С тех пор, как Huawei запретили пользоваться сервисами Google, китайцы пытаются всячески минимизировать понесённые из-за этого потери. Сначала Huawei взялась перевыпускать уже существующие смартфоны под новыми названиями и с более продвинутым «железом». Это позволило ей продолжить устанавливать на них Google Play Services, потому что по документам это были не новые устройства, а старые, на которые санкции США не распространяются. Тем не менее, очень быстро стало понятно, что бесконечно долго на этом выезжать не получится и надо делать что-то на перспективу.
Huawei развивает свой магазин приложений, делая его похожим на Google Play
Первоочередной целью Huawei было создать конкурентоспособный магазин приложений. Несмотря на то что у неё уже был каталог AppGallery, его предстояло наполнить софтом, чтобы он стал интересен не только китайской аудитории, для которой изначально и создавался, но и всем остальным. Это было сложной задачей, но Huawei, надо отдать ей должное, довольно неплохо с ней справилась и расширила ассортимент AppGallery настолько, что им даже стало можно пользоваться в России. А чтобы стало совсем здорово, китайцы решили позволить владельцам фирменных смартфонов запускать приложения для Android без установки.
Как запускать приложения без установки
Quick Apps доступен только в AppGallery
Механизм, который обеспечивает запуск приложений без предварительной установки, называется Quick Apps и, по сути, является аналогом Instant Apps от Google. Поэтому ограничения, которыми они связаны, у них примерно одинаковы. Из-за того, что софт не может сохранить в памяти устройства все свои файлы, то и его функциональность будет неполной. В результате, если вы попробуете запустить игру без установки, скорее всего, вам будет доступна только пара первых уровней, а для продолжения придётся произвести полную установку.
Тем не менее, Huawei уверяет, что благодаря Quick Apps пользователи смогут экономить пространство при использовании тяжёлых приложений, требовательных к ресурсам. Получается, что большая часть функций ПО, установленного таким образом, всё-таки сохранится, хотя это только предстоит проверить. Но, если китайцы действительно позволят пользоваться большей частью возможностей приложений из AppGallery, не устанавливая их, это будет прорыв.
Как работает Quick Apps
Несмотря на то что утверждается, что Quick App не требует установки приложения в принципе, на самом деле это не совсем так. Чтобы игра или программа запустились, необходимо, чтобы небольшой пакет данных всё-таки был загружен на устройство. Однако его объём чаще всего не превышает 3% от суммарного веса приложения, которое пользователь хочет опробовать. Это, во-первых, отличный способ сэкономить доступное пространство, если его немного, а, во-вторых, очень удобно в качестве продвинутого демо-режима. Активация Quick Apps происходит по нажатию на отдельную кнопку, которая располагается в интерфейсе рядом с кнопкой загрузки.
Прямо сейчас механизм Quick Apps доступен только на Huawei Mate 30 и Mate 30 Pro, потому что им действительно нужнее. Дело в том, что это единственные смартфоны компании, которые изначально несовместимы с сервисами Google, а потому их владельцам приходится обходиться собственными службами Huawei, во многом не дотягивающими до решения поискового гиганта. Впрочем, есть надежда, что совсем скоро китайцы развернут Huawei Mobile Services среди всех пользователей и тогда все мы сможем без проблем испытать Quick Apps в реальных условиях.
Читайте также: