Обзор Huawei Mobile Services (HMS) – все про мобильную платформу

appgalleryhms Каталог

Основные причины отказа в публикации

  1. Политика конфиденциальности не соответствует стандарту

  2. Указанный статус Гонконга и Макао не соответствует стандарту.Гонконг и Макао не могут быть указаны как страны на странице выбора региона. Китай очень трепетно относится к этому. Пример:

3.Приведены ссылки на сторонние магазины приложений

Функция для оценки и написания отзыва в приложении содержит ссылку на сторонние магазины приложений без ссылки на AppGallery

Что входит в hms

В первую очередь, это магазин приложений для Android-устройств под названием

. На сегодняшний день он представляет собой вполне состоявшегося конкурента

И хотя до паритета пока – как от Вашингтона до Пекина, сервис демонстрирует отличную динамику: на момент написания статьи количество разработчиков перевалило за полтора миллиона, причем за три минувших года оно более чем утроилось!

Здесь можно найти для своего смартфона приложения фактически на все случаи жизни.

Хотя скажем прямо: многие из них смотрятся, скорее, суррогатами по сравнению с теми, к которым лишены доступа владельцы смартфонов Huawei.

Кроме того, здесь есть кое-какие игры и даже музыка. Впрочем, здесь ассортимент и вовсе убог.

Облачное хранилище под названием Huawei Cloud – вполне приличная альтернатива Google Диску. Но опять-таки сравнение не в его пользу: 5 Гб бесплатного дискового пространства смотрятся скромно по сравнению с гугловскими 15 Гб. У Яндекса – и то больше.

Кроме собственно файлов, здесь можно хранить и синхронизировать заметки, контакты, информации о беспроводных сетях, к которым подключался пользователь, и прочие данные подобного рода.

Если места не хватает – его можно прикупить. Цены приблизительно соответствуют гугловским.

Как и другие подобные облачные хранилища, Huawei Cloud не привязан ни к Android, ни к конкретному устройству. Работать с ним можно и с ноутбука либо десктопа.

Голосовой помощник Celia, как легко догадаться, должен заменить Google Assistant. Ключевое слово здесь «должен»: на момент написания статьи прошел уже год с момента его запуска в нескольких странах – а воз и ныне там.

Всего три языка (английский, французский, испанский), скудный набор функций – пока что этот сервис на прорыв ну никак не тянет.

Стриминговый музыкальный сервис Huawei Music тоже пока выглядит не лучшим образом: в ассортименте – классика да какое-то количество «ноунеймов», никому не известных.

Пробиться на этот рынок очень и очень непросто, конкуренты чересчур сильны.

Huawei Браузер – один из доступных вариантов, устанавливаемый по умолчанию вместо Chrome. В AppGallery имеется несколько альтернатив.

На момент написания статьи доступен только для Android, однако компания уже объявила о планах создания десктопной версии.

Темы Huawei – большой выбор тем для изменения внешнего вида Android.

Huawei Pay – платежная система, позволяющая (в теории) использовать технологию NFC. Ограниченный выбор банков-эмитентов карт, которые можно привязать к устройству, приложение «Кошелек», не слишком удобное и продуманное. Словом, до Google Pay этой заготовке пока очень далеко.

Huawei Health – спортивный менеджер, предназначенный для контроля за активностью пользователя, состоянием здоровья, потреблением калорий и кучей других показателей, важных для хорошего самочувствия. Интегрирован с линейками фитнес браслетов от самого бренда и его бывшего суббренда Honor.

HMS Core – компонент, предназначенный для разработчиков, в который входят API, SDK и набор отладочных инструментов.

Магазин приложений appgallery — основа успеха мобильных сервисов huawei

В последнее время при упоминании Huawei много ажиотажа вызывает дискуссия о том, как выглядит ситуация с приложениями в их магазине программного обеспечения AppGallery.

Надо признать, что Huawei AppGallery есть чем гордиться, прогресс налицо. Если у вас смартфон Huawei или Honor, то вы точно заметите, что разработчики неустанно добавляют новые приложения в магазин.

Huawei старается всячески поощрять разработчиков, например, специальные возможности для партнеров в 2020 году:

  • Бесплатная регистрация и пользование сервисами (Kits).
  • Промо в AppGallery и маркетинговая поддержка.
  • Уникальные возможности кросс-промо в других сервисах экосистемы — браузер, Huawei Assistant.
  • Специальные условия заработка: 85% дохода для игр, 100% дохода для других приложений в 2020
  • Персональный менеджер и технический консультант в Украине.

В AppGallery уже есть почти все приложения «первой необходимости», хотя разнообразием предложений маркет пока не блещет. Но с другой стороны — здесь нет мусора в виде тысяч клонов одного и того же приложения или поддельных вариаций известной игры. На мой взгляд, это существенное преимущество AppGallery перед конкурентными решениями.

Hicare — инструмент поддержки, который также интегрируется с huawei id

Хотя экосистема HMS по-прежнему находится на стадии активной первоначальной разработки, и даже если вы не добрались, например, до фирменного браузера Huawei, возможно вы уже давно завели Huawei ID для использования довольно старого инструмента HiCare.

Он используется не только для диагностики смартфона (с использованием контекстных функций тестирования компонентов), но и для экстренной связи с технической поддержкой и сервисной службой. Соответствующие ссылки можно найти на вкладке «Услуги».

Вкладка «Рекомендуемые» в HiCare представляет собой сборник интересных советов, например, объясняющих, как работает интеллектуальный пульт, или ответов на вопрос «почему зарядка нагревает смартфон?». А также тут можно найти товарные предложения из ассортимента компании или ее партнеров.

С помощью сервиса HiCare мы также можем перейти на форум, где сможем аутентифицироваться через Huawei ID и получить помощь и советы по решению проблем от других пользователей техники Huawei.

Huawei ID еще не является основой для входа на большинство веб-сайтов или приложений, как в случае с аккаунтом Google. Но мне кажется — такие возможности не за горами.

Использование Huawei ID уже сейчас позволяет получить персонализированную информацию и помощь на мобильных устройствах компании, примером чего является тестовая версия Huawei Asistant. Это пока что не полноценный голосовой помощник, а скорее умная утилита, которая объединяет на одном рабочем экране ссылки на самые важные и часто используемые приложения, сводку ежедневных советов от ИИ, а также ленту новостей из Интернета.

Huawei id — главный идентификатор в системе мобильных услуг huawei

При разработке собственной системы услуг необходимо как-то связать все устройства в единое целое. Для этого на устройствах Huawei используется Huawei ID — учетная запись пользователя, которая выделяется среди других идентифицирующих учетных записей на уровне платформы.

Этот тип учетки наиболее близок к аккаунту Google или Apple ID, чем аналогичные решения, используемые производителями-конкурентами. Создание идентификатора Huawei ID позволяет эффективно использовать возможности смартфона Huawei и удобно перемещаться между другими устройствами.

Учетная запись Huawei ID — это набор информации о пользователе, которая может быть полезна сейчас или в будущем при использовании экосистемных услуг компании. Пользователь имеет доступ к своим данным с помощью Центра конфиденциальности, где определяет, какую информацию сторонние веб-сайты и приложения могут узнать о нем.

Huawei share onehop — простое взаимодействие между устройствами!

В компании Huawei стараются максимально облегчить взаимодействие между устройствами всех типов в рамках единой экосистемы. По случаю появления новых компьютеров серии MateBook компания Huawei решила внедрить в эти устройства функцию общего доступа Huawei Share OneHop. Этот инструмент обеспечивает неприлично удобную передачу данных между смартфоном и ноутбуком.

Вы найдете квадратную наклейку Huawei Share на каждом ноутбуке Huawei. Ее не следует путать с логотипами производителей процессоров или видеокарт — она немного больше, и в нее вшита метка NFC. Как вы, наверное, хорошо знаете, NFC — это стандарт, который позволяет устанавливать беспроводную связь между устройствами, он используется не для передачи данных, а для создания безопасного соединения. Транспортом для данных служит сеть Wi-Fi, к которой должны быть подключены все ваши устройства.

Чтобы использовать функцию Huawei Share, приложите смартфон к этой эмблеме и… ждите волшебства! Да, на данный момент таких функций нет ни у одного другого производителя ноутбуков. Их полезность огромна, а удобство и простота обработки данных достойны похвалы.

Основная функциональность Huawei Share OneHop — обмен файлами между смартфоном и ноутбуком. Достаточно вывести фото или видео на экран смартфона и приложить его к метке на рабочей панели ноутбука, чтобы увидеть то же самое мультимедиа на экране компьютера.

Product flavors

Создадим два product flavor – “hms” и “gms”:

android {
	
    …
    flavorDimensions 'services'
    productFlavors {
        hms {
            dimension 'services'
            applicationIdSuffix '.huawei'
        }
        gms {
            dimension 'services'
        }
    }
}

По умолчанию, Android Studio заводит sourceSet main, в котором содержатся общие файлы с кодом. Создаем папки для каждого flavor’a:

 New -> Folder -> Выбираем нужный тип папки:

Затем в build.gradle того модуля, где мы создали папку, должен автоматически вставиться следующий код (например, если мы выбрали hms): 

android {
	
    …
    productFlavors {
        ...
    }
    sourceSets {
        hms {
            java {
                srcDirs 'src/hms/java'
            }
            ...
        }
    }
}

Теперь Gradle будет включать в сборку файлы, соответствующие выбранному flavor’у. Важно, чтобы файлы в этих директориях имели одинаковое название и лежали в пакетах с одним и тем же названием.

Пример. Мы используем Auth API. У нас будет абстракция — интерфейс AuthRepository, хранящийся в main/, а его имплементации для разных сервисов лежат в gms/ и hms/ директориях — тогда в сборку, например, для HMS, попадет именно имплементация с huawei сервисами.

Если проект многомодульный, то в каждом модуле необходимо прописать flavor’ы и при необходимости source sets. Код с flavor’ами можно вынести в отдельный файл. 

Создадем .gradle файл в корневой папке проекта, назовем его flavors.gradle:

ext.flavorConfig = {

    flavorDimensions 'services'
    productFlavors {
        hms {
            dimension 'services'
            ext.mApplicationIdSuffix = '.huawei'
        }
        gms {
            dimension 'services'
        }
    }
    productFlavors.all { flavor ->
        if (flavor.hasProperty('mApplicationIdSuffix') && isApplicationProject()) {
            flavor.applicationIdSuffix = flavor.mApplicationIdSuffix
        }
    }
}

def isApplicationProject() {
    return 
    project.android.class.simpleName.startsWith('BaseAppModuleExtension')
}

Помимо самих flavor’ов, в экстеншене flavorConfig лежит код с циклом по flavor’ам — там будет определяться app модуль, которому присваивается applicationIdSuffix.

Затем в каждом модуле прописываем следующее:

apply from: "../flavors.gradle"

android {
    buildTypes {
        ...
    }
    ...
    with flavorConfig
}

Для использования подходящих плагинов во время процесса компиляции можем добавлять такие if-else конструкции:

apply plugin: 'kotlin-kapt'
...
if(getGradle().getStartParameter().getTaskNames().toString().toLowerCase().contains("hms")) {
    apply plugin: 'com.huawei.agconnect'
} else {
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.crashlytics'
}
...

Для каждого flavor’а  мы можем включать dependencies, необходимые только ему. Перед implementation прописываем его название:

// Firebase
gmsImplementation platform('com.google.firebase:firebase-bom:26.1.0')
gmsImplementation 'com.google.firebase:firebase-crashlytics-ktx'
gmsImplementation 'com.google.firebase:firebase-analytics-ktx'

// Huawei services
hmsImplementation 'com.huawei.agconnect:agconnect-core:1.4.2.300'
hmsImplementation 'com.huawei.hms:push:5.0.4.302'
hmsImplementation 'com.huawei.hms:hwid:5.0.3.301'

Внедряем hms сервисы в проект

Почти на каждый сервис Google у Huawei есть альтернатива:

Этот список можно продолжать долго — у Huawei довольно обширный перечень сервисов. Как же подключить их в наш проект?

Прежде всего, нам нужно определиться, как мы будем внедрять сервисы. Есть несколько вариантов:

В этом деле нам пригодится плагин HMS Toolkit. Он поможет интегрировать HMS Core с минимальными затратами и высокой эффективностью. К сожалению, HMS Toolkit поддерживает конвертацию не всех сервисов, и лучше заранее уточнить, сможет ли он перенести работу ваших.

Нам нужен инструмент Convertor. Он проанализирует проект на наличие GMS сервисов и покажет места, где требуется заменить код с GMS на HMS.

  1. В меню выбираем HMS > Convertor > New Conversion:

2.В появившемся окошке указываем директорию, где создастся бэкап проекта до конвертации.

3.Здесь плагин представляет результаты анализа проекта: какие GMS сервисы у нас содержатся и какие из них конвертируемые. Также нам предлагается проверить sdk version для соответствия требованиям HMS.

На этом шаге мы должны выбрать стратегию конвертации:

4.После анализа проекта, мы видим список мест в коде, где необходима конвертация.

По клику на каждый пункт произойдет навигация в файл, где будет предложена конвертация:

Зачем huawei собственные мобильные сервисы

Несмотря на все обрушившиеся на компанию неприятности и вопреки огромному давлению, связанному с введением санкций со стороны правительства США, Huawei по-прежнему остается одним из крупнейших производителей персональной электроники и даже может похвастаться ростом продаж устройств, что само по себе выглядит невероятным на фоне мирового экономического кризиса.

Буквально пару недель назад китайская компания и вовсе вышла на первое место в мире по продажам смартфонов по итогам первого полугодия. Не последнюю роль в этом успехе играет спектр мобильных сервисов, которыми и является платформа Huawei Mobile Services.

Смартфон — одно из величайших изобретений последних десятилетий. Это комбинация наиболее интересных технологических решений, но в то же время удовлетворенность от использования устройства очень сильно зависит от услуг, которые могут быть построены на его основе.

В компании Huawei тоже прекрасно это понимают. А после того, как новые смартфоны производителя лишились сервисов Google, все больше времени уделяют развитию HMS. Именно поэтому мне пришла в голову мысль сделать полный обзор текущего состояния экосистемы, чтобы показать все актуальные на данный момент функциональные возможности платформы и оценить перспективы ее развития.

Кому доступны hms

Если Google привязывает свои сервисы к адресу электронной почты, то у ее конкурента имеется Huawei ID. Для его регистрации можно использовать или е-мейл, или телефонный номер.

Предусмотрено возрастное ограничение: лица до 16 лет не имеют такой возможности.

Установить HMS можно на любое Android-устройство. Сделать это можно через браузер из магазина AppGallery. В Google Play вроде бы тоже пока не удалили соответствующую страницу, но версия там безнадежно устарела.

Конкуренция на рынке мобильных сервисов

Мы наблюдаем действительно серьезную борьбу на рынке приложений и сопутствующих мобильных сервисов. По сути, каждый крупный игрок пытается предложить пользователю интегрированные решения для объединения устройств различных типов (смартфон, планшет, часы, наушники, колонки, ноутбук) в единую экосистему.

Построение подобной экосистемы требует много времени, средств и главное — желания, а также ориентированной на будущее концепции и тщательно продуманной архитектуры платформы. И вот как раз у Huawei есть все необходимое за исключением времени и от этого мотивация компании достигает просто невообразимых высот.

Потому что успех HMS — это вопрос выживания бизнеса. За последние годы (и особенно за период действия санкций) Huawei  сумела добиться невероятного прогресса, продемонстрировав конкурентам, пользователям и экспертам, что значит постоянно внедрять новые продукты и совершенствовать старые с учетом быстрых изменений ситуации.

Но зачем пользователям комплексная система сервисов на мобильных устройствах? Во-первых, это означает согласованный интерфейс в едином стиле и с единой логикой в различных приложениях, что обеспечивает более быстрое обслуживание и лучший пользовательский опыт.

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

Облако huawei — не только виртуальный диск

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

Облако Huawei является одной из главных отличительных особенностей наличия собственной экосистемы. Оно обеспечивает доступ к сетевому диску (по умолчанию это 5 ГБ бесплатно, за дополнительный объем нужно платить), который мы будем использовать в качестве обычного облачного диска или места для резервного копирования наиболее важных данных.

К ним относятся содержимое Галереи (все снятые фото, видео, а также скриншоты и скринкасты, картинки из приложений), Заметки, Контакты, записи звука с встроенного рекордера, настройки календаря. По сути, Huawei Cloud предлагает те же возможности, что вы могли использовать раньше в составе сервисов Google, но в более адаптированном к продуктам Huawei виде, ориентированном на мобильные устройства компании.

Подводные камни

В политике Google Play есть замечание:

“Any existing app that is currently using an alternative billing system will need to remove it to comply with this update. For those apps, we are offering an extended grace period until September 30, 2021 to make any required changes. New apps submitted after January 20, 2021 will need to be in compliance.”

Что это значит для нас? Теперь, если приложение одновременно поддерживает HMS и GMS сервисы, и в нем есть In-App Purchases, то Google Play не допустит его публикации, а существующим приложениям придется удалить этот функционал.В итоге, если был выбран первый способ конвертации (Add HMS API), мы имеем:

Решение: Более привлекательным вариантом кажется второй способ конвертации — простая замена GMS APIs на HMS APIs. Но вместе с этим используем product flavors, чтобы получать сборки приложения отдельно для Google Play и AppGallery.

Преимущества регистрации huawei id

Если говорить о преимуществах, которые Huawei ID в настоящее время предоставляет пользователям смартфонов, то следует отметить следующие пункты:

  • персонализация смартфона;
  • синхронизация системных настроек между вашими устройствами;
  • доступ к облаку Huawei (функция сетевого диска);
  • выполнение резервного копирования системы смартфона с точным разделением на отдельные категории данных, которые мы хотим скопировать;
  • идентификация в приложениях Блокнот, Галерея, Здоровье, Браузер Huawei и синхронизация собранных в них данных между устройствами;
  • доступ к службам поддержки, акциям и вознаграждениям;
  • доступ к AppGallery — магазину и репозиторию приложений Huawei, предназначенному для полной замены Google Play;
  • доступ к Huawei Music, Huawei Video и Huawei Reader — мультимедийным и текстовым источникам, которые стремятся стать альтернативой сторонним решениям (это услуги, которые все еще ожидают полноценного внедрения в Украине и других странах);
  • Huawei Assistant, умный помощник и органайзер в смартфоне.

Некоторые преимущества пока не так заметны, но если Huawei сможет реализовать все свои планы (или, по крайней мере, те, о которых мы знаем), пользователь, купивший смартфон этого бренда, получит доступ к богатой контентной среде, которая позволит раскрыть потенциал устройства или устройств.

Публикуем приложение в appgallery

После внедрения сервисов и успешного тестирования приложения, мы готовы публиковаться в AppGallery.

1.Переходим в AppGallery Connect и заполняем данные:

2.Грузим иконку приложения и скриншоты. Есть возможность прикрепить видео.

3.Указываем страны/регионы для публикации и грузим APK приложения. Кроме того, нужно загрузить подпись приложения.

4.Отмечаем способ покупок в приложении и рейтинг.

5.Грузим политику конфиденциальности (обязательно) и предоставляем данные тестового аккаунта, если это необходимо. Указываем дату публикации.

6.Нажимаем кнопочку “Отправить на проверку” и ждем! Проверка по регламенту занимает около 3-5 дней.

С чего начать?

Чтобы взаимодействовать с Huawei-системой, нужно завести Huawei ID. Это аналог google-аккаунта, с помощью которого предоставляется доступ к сервисам системы. Далее нужно зарегистрировать аккаунт разработчика: индивидуальный или корпоративный.

Ждем одобрения аккаунта. За 1-2 дня Huawei обещают проверить наши данные. После этого можно подключать приложение к HMS. Для этого заходим в консоль AppGallery Connect.

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

Обращаем внимание, что для приложения, в котором используются HMS, название пакета должно оканчиваться на “.huawei”.

2.Помещаем конфигурационный файл agconnect-services.json в корневую папку приложения. Также сохраняем хэш SHA-256. Он потребуется для аутентификации приложения, когда оно попытается получить доступ к службам HMS Core.

Примечание. Для того, чтобы получить SHA-256, можно выполнить команду в терминале, подставив необходимые данные из вашего keystore:

keytool -list -v -keystore <keystore path> -alias <key alias> -storepass <store password> -keypass <key password>

Для работы некоторых сервисов нужно указать место хранения данных:

3.Добавляем зависимости в проект Android Studio.В build.gradle на уровне проекта:

Тестируем и отлаживаем приложение

После того, как мы внедрили Huawei сервисы в приложение, нам нужно протестировать его работоспособность.

У Huawei есть облачная платформа DigiX Lab, в которой представлены 2 сервиса.

С помощью сервиса облачного тестирования проверяем совместимость, стабильность, производительность и энергопотребление приложения на удаленных устройствах Huawei. Краткое описание тестов можно увидеть на картинке.

По окончании каждого теста доступен подробный отчет. Можно узнать о сбоях, ANR, утечках ресурсов, также увидеть загрузку процессора, использование памяти и многое другое. Плюсом будут доступны скриншоты, которые снимаются во время тестирования и журналы Logcat.

Тесты можно запускать либо с помощью плагина в Android Studio:

Либо в консоли AppGallery, выгрузив туда свой APK:

Служба облачной отладки решает проблему отсутствия реальных устройств Huawei. Предоставляется список удаленных устройств, а разовый сеанс работы до 2 часов. Сервис дает 24 часа работы бесплатно после подтверждения личности. Можно подавать заявки на продление срока действия неограниченное количество раз. Отладка также доступна из Android Studio и консоли.

У huawei mobile services отличные перспективы

Уже сейчас понятно, что в первую очередь мобильные сервисы HMS, а не только крутые устройства, будут отличать бренд Huawei в будущем. И это будущее не так уж и далеко, его выход ускорили санкции, введенные правительством США. Точно так же, как инвестиции, которые активизировали работу разработчиков по внедрению как можно большего количества приложений в AppGallery.

Huawei сделала ставку на проект экосистемы, от глобального успеха которой будет зависеть судьба ее мобильного бизнеса. И прилагает неимоверные усилия для реализации данных инициатив. Все производители стремятся обеспечить удобство использования устройств и сервисов для конечного пользователя, но не у всех выходит. А вот у Huawei это получается очень хорошо.

С уверенностью можно сказать, что компания выпустила на рынок ряд практических решений, которые отлично подходят для повседневного применения и позволяют в полной мере использовать потенциал современных мобильных устройств. Конечно, многие владельцы устройств Huawei будут удивлены, потому что до сих пор они использовали сервисы неосознанно, но вдруг оказалось, что их вклад в успех платформы имеет значение и аудитория HMS действительно очень широка.

Я думаю, что такой комплексный подход к услугам, которым мы видим в Huawei Mobile Services, дает повод говорить о правильном выборе компанией стратегии и тактики выхода из кризисной ситуации. И что-то мне подсказывает, что производитель будет постоянно укреплять свои позиции на рынке благодаря такому подходу.

В заключение

На текущий момент Huawei Mobile Services представляют собой весьма сомнительную альтернативу GMS. Да, они позволяют обходиться без того, сего, этого – но совершенно не имеют никаких плюсов, ради которых стоило бы покупать смартфон с HMS на борту.

Фактически, за те же деньги покупатель получает худшее качество и минимум возможностей.

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

Беда только в том, что этих нескольких лет у Huawei нет – уже идут разговоры о «временном» прекращении выпуска смартфонов. В конце концов, продали же Honor, хотя многие были свято уверены, что «не повлияет, не подействует».

Как бы там ни было, пока что лучше пользоваться смартфонами с GMS, например, теми же Xiaomi. Стоп – эта компания уже тоже попала под прицел госдепа, хотя пока еще не с такими серьезными последствиями.

Может быть, китайским вендорам в итоге надоест, что их давят по одному, и они на базе HMS сумеют совместно дать ответ обнаглевшим янки? Кто знает.

Итоги

Huawei выстроили удобный процесс адаптации приложения под свои сервисы. Максимально безболезненный переход к HMS, тестирование и отладка на удаленных устройствах, а также знакомый процесс публикации приложения значительно облегчат жизнь разработчику.

Оцените статью
Huawei Devices
Добавить комментарий