HMS Core Huawei — что это за программа и нужна ли она?

Приветствую. Запрет Google на использование их сервисов заставили Huawei в срочном порядке искать выход, чтобы не терять пользователей. Выход был найден — собственная платформа. Однако чтобы укрепить позицию на рынке — необходимо дальнейшее развитие, в том числе и облегчить создание программ под новую платформу.
HMS Core Huawei — что это такое?
Альтернатива инструментов Google для разработки приложений. Содержит полный набор открытых программ Huawei Mobile Services (HMS).
Представляет из себя функции API, инструменты тестирования ПО, средства аутентификации пользователей, сканирование различных кодов, гео-службы, инструменты безопасности, машинного обучения и многие другие сервисы.
Использование функций HMS Core позволяет увеличить производительность приложений при меньшем расходе батареи.
Также в HMS Core доступны такие инструменты как систему оплат Wallet Kit, центр игр Game Service, систему уведомлений Push Kit, монетизацию Ads Kit, инструменты аналитики.
Данное приложение хоть и для программистов, но удалять нельзя, так как могут перестать работать некоторые игры, функции безопасности, онлайн-покупки, идентификацию, сканирование, биометрию.
Некоторые пишут что от HMS Core приходит реклама, при том уведомления отключить невозможно.
В магазине AppGallery уже интегрировано более 50 000 программ с ядром HMS.
Компания развивает собственную экосистему, как ответ на санкции Google. Создать собственные сервисы Huawei Mobile Services мало, также компания старается создать хорошие условия создания приложений программистами.
Судя по это картинке:

Как я понял: данное приложение, это в том числе некое ядро, которое выступает посредником между операционкой и облачными технологиями/интернетом.
Кстати, новость от 27.01.2020: компания Google просит правительство США разрешить сотрудничество с Huawei. Ведь из-за санкций Google не может ставить свои приложения на новые смартфоны Huawei, так что это в интересах обоих компаний. Были случаи, когда правительство разрешило сотрудничество — например Microsoft все таки получила лицензию на установку Windows в ноутбуки Huawei.
Заключение
- HMS Core — инструменты для разработчиков создания ПО.
- Также необходимы для работы некоторых приложений.
- Соответственно удалять — плохая идея. При огромном желании и заранее созданном бэкапе — можно заморозить, используя Titanium Backup.
Безопасно ли качать hms core на xiaomi?
Хочу скачать app gallery для того чтобы задонатить в игры плей маркета ибо в самом плей маркете невозможно донатить из-за санкций. Увидел в ютубе что через app gallery всё отлично проходит, но там нужно установить hms core чтобы добавить способы оплаты. Когда я устанавливаю hms core выдаёт окно что качать небезопасно. Качал с оффициального сайта http://huawei.ru/
Голосование за лучший ответ
Hms для хонора и хуйавей советую фигней не страдать как донатить, а просто ждать когда разблокируют нам гугл пей.
hms ты словишь вирус.
alexander korenkovУченик (96) 1 год назад
Словлю вирус от оффициального приложения хуавей? Меня волнует вопрос безопасно ли его качать на сяоми, все-таки hms core не под сяоми создавали.
timur ibatov Мастер (1365) alexander korenkov, не качай так как он не будет открываться и вылетать и можно еще так повредить данные. На мне проверенно
За двумя мобильными сервисами: HMS и GMS в одном приложении

Привет, Хабр! Меня зовут Андрей, я делаю приложение «Кошелёк» для Android. Уже больше полугода мы помогаем пользователям смартфонов Huawei оплачивать покупки банковскими картами бесконтактно — через NFC. Для этого нам потребовалось добавить поддержку HMS: Push Kit, Map Kit и Safety Detect. Под катом я расскажу, какие проблемы нам пришлось решать при разработке, почему именно так и что из этого вышло, а также поделюсь тестовым проектом для более быстрого погружения в тему.
Для того, чтобы предоставить всем пользователям новых смартфонов Huawei возможность бесконтактной оплаты из коробки и обеспечить лучший пользовательский опыт в остальных сценариях, в январе 2020 года мы начали работы по поддержке новых пушей, карт и проверок на безопасность. Результатом должно было стать появление в AppGallery версии Кошелька с родными для телефонов Huawei мобильными сервисами.
Вот что удалось выяснить на этапе первоначальной проработки
- Huawei распространяет AppGallery и HMS без ограничений — можно скачать и установить их на устройства других производителей;
- После того, как мы установили AppGallery на Xiaomi Mi A1, все обновления начали подтягиваться в первую очередь с новой площадки. Сложилось впечатление, что AppGallery успевает обновлять приложения быстрее конкурентов;
- Сейчас Huawei стремится как можно быстрее наполнить AppGallery приложениями. Чтобы ускорить миграцию на HMS, они решили предоставить разработчикам уже знакомый (похожий на GMS) API;
- На первых порах, пока экосистема Huawei для разработчиков не заработает на полную мощность, отсутствие Google-сервисов скорее всего будет являться главной проблемой для пользователей новых смартфонов Huawei, и они будут всеми способами пытаться их установить.
- Исключается риск попадания версии, предназначенной для Google Play, на девайсы Huawei и наоборот;
- Можно внедрить любой алгоритм выбора мобильных сервисов, в том числе с использованием feature toggle;
- Тестировать одно приложение проще, чем два;
- Каждый релиз можно выкладывать на все площадки распространения;
- Не приходится переключаться с написания кода на управление сборкой проекта при разработке/модификации.
- Спрятать все обращения за абстракцию, сохранив работу с GMS;
- Добавить реализацию для HMS;
- Разработать механизм выбора реализации сервисов в рантайме.
Поддержка Push Kit и Safety Detect
Как и положено в таких случаях, процесс интеграции начался с изучения документации. В разделе предостережений обнаружились вот такие пункты:
- If the EMUI version is 10.0 or later on a Huawei device, a token will be returned through the getToken method. If the getToken method fails to be called, HUAWEI Push Kit automatically caches the token request and calls the method again. A token will then be returned through the onNewToken method.
- If the EMUI version on a Huawei device is earlier than 10.0 and no token is returned using the getToken method, a token will be returned using the onNewToken method.
- For an app with the automatic initialization capability, the getToken method does not need to be called explicitly to apply for a token. The HMS Core Push SDK will automatically apply for a token and call the onNewToken method to return the token.
Главное, что нужно вынести из этих предостережений — существует разница в получении пуш-токена на разных версиях EMUI. После вызова метода getToken(), реальный токен может быть возвращен через вызов метода onNewToken() сервиса. Наши испытания на реальных устройствах показали, что телефоны с EMUI < 10.0 на вызов метода getToken возвращают null или пустую строку, после чего происходит вызов метода onNewToken() сервиса. Телефоны с EMUI >= 10.0 всегда возвращали пуш-токен из метода getToken().
Можно реализовать вот такой источник данных, чтобы привести логику работы к единому виду:
class HmsDataSource( private val hmsInstanceId: HmsInstanceId, private val agConnectServicesConfig: AGConnectServicesConfig ) < private val currentPushToken = BehaviorSubject.create() fun getHmsPushToken(): Single = Maybe .merge( getHmsPushTokenFromSingleton(), currentPushToken.firstElement() ) .firstOrError() fun onPushTokenUpdated(token: String): Completable = Completable .fromCallable < currentPushToken.onNext(token) >private fun getHmsPushTokenFromSingleton(): Maybe = Maybe .fromCallable < val appId = agConnectServicesConfig.getString("client/app_id") hmsInstanceId.getToken(appId, "HCM").takeIf < it.isNotEmpty() >> .onErrorComplete() >
class AppHmsMessagingService : HmsMessageService() < val onPushTokenUpdated: OnPushTokenUpdated = Di.onPushTokenUpdated override fun onMessageReceived(remoteMessage: RemoteMessage?) < super.onMessageReceived(remoteMessage) Log.d(LOG_TAG, "onMessageReceived remoteMessage=$remoteMessage") >override fun onNewToken(token: String?) < super.onNewToken(token) Log.d(LOG_TAG, "onNewToken: token=$token") if (token?.isNotEmpty() == true) < onPushTokenUpdated(token, MobileServiceType.Huawei) .subscribe(<>,< Log.e(LOG_TAG, "Error deliver updated token", it) >) > > >
Важные замечания:

- Предложенное решение работает не во всех случаях. При тестировании на физических устройствах проблем выявлено не было, но на пуле устройств, предоставляемых AppGallery для онлайн-дебаггинга, подход не срабатывает. Причём не срабатывает из за того, что вызова метода HmsMessageService.onNewToken() не происходит, что, кажется, не соответствует документации. Причина такого поведения по сей день остаётся для нас невыясненной;
- Оказалось, что на некоторых устройствах метод HmsMessageService.onMessageReceived() может вызываться на main потоке, поэтому будьте аккуратнее с походами в БД и сеть из него;
- Как только вы добавите зависимость от библиотеки com.huawei.hms:push, в манифесте проекта после сборки будет объявлен сервис com.huawei.hms.support.api.push.service.HmsMsgService, сконфигурированный для работы в отдельном процессе :pushservice. С этого момента, при порождении каждого процесса, в нём будет создаваться свой экземпляр класса Application. Это принципиально важно осознавать, если вы обращаетесь к файлам или БД или, например, собираете данные о скорости инициализации приложения через Firebase Performance. Мы встретились с порождением второго процесса только на не-Huawei устройствах, куда были установлены AppGallery и HMS.
Для случаев поддержки работы приложения с пуш-токеном и проверки устройства на безопасность общий алгоритм будет одинаковым
- Создаём по отдельному источнику данных для каждого типа сервисов;
- Добавляем по репозиторию для пушей и безопасности, принимающих на вход тип мобильных сервисов и выбирающих конкретный источник данных;
- Некая сущность бизнес-логики определяет, какой тип мобильных сервисов (из доступных) уместно использовать в конкретном случае.
Разработка механизма выбора реализации сервисов в рантайме
Как действовать, если на устройстве установлен всего один тип сервисов или их нет вовсе, — понятно, а вот что делать, если одновременно установлены и Google-, и Huawei-сервисы?
Вот что мы обнаружили и из чего исходили:
- При внедрении любой новой технологии её нужно использовать в приоритете, если устройство пользователя полностью соответствует всем требованиям;
- На устройствах с EMUI >= 10.0 алгоритм получения пуш-токена отличается от предыдущих версий;
- Подавляющее большинство устройств Huawei без Google-сервисов будут иметь версию EMUI 10.0 и выше;
- На новые устройства Huawei пользователи будут пытаться установить Google-сервисы, чтобы пользоваться всеми привычными приложениями. Надёжного способа сделать это нет, поэтому мы не должны рассчитывать на стабильную и корректную работу Google-сервисов на таких устройствах;
- Технически пользователи смартфонов других вендоров могут установить себе AppGallery и Huawei-сервисы, но мы предполагаем, что на текущий момент таких пользователей очень мало.
В случае, если на устройстве установлены оба типа сервисов и удалось определить, что версия EMUI < 10 — используем Google, иначе — используем Huawei.
Для реализации итогового алгоритма требуется найти способ определить версию EMUI на устройстве пользователя.
Один из способов сделать это — прочитать системные свойства:
class EmuiDataSource < @SuppressLint("PrivateApi") fun getEmuiApiLevel(): Maybe= Maybe .fromCallable < val clazz = Class.forName("android.os.SystemProperties") val get = clazz.getMethod("getInt", String::class.java, Int::class.java) val currentApiLevel = get.invoke( clazz, "ro.build.hw_emui_api_level", UNKNOWN_API_LEVEL ) as Int currentApiLevel.takeIf < it != UNKNOWN_API_LEVEL >> .onErrorComplete() private companion object < const val UNKNOWN_API_LEVEL = -1 >>
Для правильного выполнения проверок на безопасность дополнительно нужно учесть, что состояние сервисов не должно требовать обновления.
Итоговая реализация алгоритма, учитывающая тип операции, для которой выбирается сервис, и определение версии EMUI устройства, может выглядеть так:
sealed class MobileServiceEnvironment( val mobileServiceType: MobileServiceType )
class SelectMobileServiceType( private val mobileServicesRepository: MobileServicesRepository ) < operator fun invoke( case: Case ): Maybe= mobileServicesRepository .getAvailableServices() .map < excludeEnvironmentsByCase(case, it) >.flatMapMaybe < selectEnvironment(it) >.map < it.mobileServiceType >private fun excludeEnvironmentsByCase( case: Case, envs: Set ): Iterable = when (case) < Case.Push, Case.Map ->envs Case.Security -> envs.filter < !it.isUpdateRequired >> private fun selectEnvironment( envs: Iterable ): Maybe = Maybe .fromCallable < envs.firstOrNull < it is HuaweiMobileServices && (it.emuiApiLevel == null || it.emuiApiLevel >= 21) > ?: envs.firstOrNull < it is GoogleMobileServices >?: envs.firstOrNull < it is HuaweiMobileServices >> enum class Case < Push, Map, Security >>
Поддержка Map Kit
После реализации алгоритма выбора сервисов в рантайме, алгоритм добавления поддержки базового функционала карт выглядит тривиально:
- Определить тип сервисов для отображения карт;
- Заинфлейтить соответствующий layout и работать с конкретной реализацией карт.
class MapFragment : Fragment(), OnGeoMapReadyCallback < override fun onActivityCreated(savedInstanceState: Bundle?) < super.onActivityCreated(savedInstanceState) ViewModelProvider(this)[MapViewModel::class.java].apply < mobileServiceType.observe(viewLifecycleOwner, Observer < result ->val fragment = when (result.getOrNull()) < Google ->GoogleMapFragment.newInstance() Huawei -> HuaweiMapFragment.newInstance() else -> NoServicesMapFragment.newInstance() > replaceFragment(fragment) >) > > override fun onMapReady(geoMap: GeoMap) < geoMap.uiSettings.isZoomControlsEnabled = true >>
class GoogleMapFragment : Fragment(), OnMapReadyCallback < private var callback: OnGeoMapReadyCallback? = null override fun onAttach(context: Context) < super.onAttach(context) callback = parentFragment as? OnGeoMapReadyCallback >override fun onDetach() < super.onDetach() callback = null >override fun onMapReady(googleMap: GoogleMap?) < if (googleMap != null) < val geoMap = geoMapFactory.create(googleMap) callback?.onMapReady(geoMap) >> >
class HuaweiMapFragment : Fragment(), OnMapReadyCallback < private var callback: OnGeoMapReadyCallback? = null override fun onAttach(context: Context) < super.onAttach(context) callback = parentFragment as? OnGeoMapReadyCallback >override fun onDetach() < super.onDetach() callback = null >override fun onMapReady(huaweiMap: HuaweiMap?) < if (huaweiMap != null) < val geoMap = geoMapFactory.create(huaweiMap) callback?.onMapReady(geoMap) >> >
Теперь можно написать отдельную реализацию для работы с картой для каждого отдельного фрагмента. Если потребуется реализовать одинаковую логику, то можно поступить по знакомому алгоритму — подогнать работу с каждым типом карт под один интерфейс и передать одну из реализаций этого интерфейса в родительский фрагмент, как это сделано в MapFragment.onMapReady()
Что из этого вышло
В первые дни после релиза обновленной версии приложения число установок достигло 1 млн. Мы связываем это отчасти с фичерингом со стороны AppGallery, а отчасти с тем, что наш релиз подсветило несколько СМИ и блогеров. А ещё со скоростью обновления приложений — ведь в AppGallery на протяжении двух недель лежала версия с самым высоким versionCode.
Мы получаем полезные отзывы о работе приложения в общем и о токенизации банковских карт в частности от пользователей в нашей ветке на 4pda. После релиза Pay-функциональности для Huawei посетителей на форуме прибавилось, и проблем, с которыми они сталкиваются, — тоже. Мы продолжаем работать над всеми обращениями, но массовых проблем при этом не наблюдаем.
В целом, релиз приложения в AppGallery прошёл успешно и можно сделать вывод, что наш подход к решению задачи оказался рабочим. Благодаря выбранному методу реализации у нас сохранилась возможность выкладывать все релизы приложения как в Google Play, так и в AppGallery.
Пользуясь этим методом, мы уже добавили в приложение Analytics Kit, APM, работаем над поддержкой Account Kit и не планируем на этом останавливаться, тем более, что с каждой новой версией HMS становится доступно всё больше возможностей.
Послесловие
Регистрация аккаунта разработчика в AppGallery представляет собой гораздо более сложную процедуру, чем в случае с Google. У меня, например, этап проверки подтверждения личности занял 9 дней. Не думаю что так происходит со всеми, но любая задержка способна поубавить оптимизма. Поэтому вместе с полным кодом всего демо-решения, описанного в статье, я закоммитил в репозиторий и все ключи приложения, чтобы у вас была возможность не только оценить решение целиком, но и прямо сейчас испытать и усовершенствовать предложенный подход.
Пользуясь выходом в публичное пространство, хочу поблагодарить всю команду Кошелька и особенно umpteenthdev, Артёма Кулакова и Егора Аганина за неоценимый вклад в интеграцию HMS в Кошелёк!
Полезные ссылки
- Полный код демонстрационного проекта на GitHub;
- Скачать AppGallery на телефон любого производителя. Актуальную версию приложения HMS-Core можно загрузить из AppGallery;
- Push Kit codelab;
- Map Kit codelab;
- Safety Detect codelab;
- Инструкция к сервису онлайн-дебаггинга своих приложений на устройствах Huawei. Возможность использования появляется после регистрации в AppGallery Connect;
- Ветка приложения «Кошелёк» на 4PDA.
- android development
- mobile services
- hms
- gms
- архитектура android-приложений
Что такое HMS: здесь всё, что нужно знать об альтернативе сервисам Google от Huawei

Из-за запрета властей США Huawei не может сотрудничать с большинством американских компаний, включая Google, за исключением случаев, когда действует временная ограниченная лицензия, которая уже продливалась несколько раз. Учитывая эти обстоятельства китайская корпорация не может запускать новые устройства с Google Mobile Services (GMS), начиная с прошлого года.
GMS — это основной компонент большинства Android-смартфонов. Он включает в себя десятки приложений Google, API-интерфейсов и облачных сервисов, таких как Google Maps, Google Drive, YouTube, Google Photos, Google Play Store, Google Chrome и других. Без этой технологии устройства Huawei не только остались без основных продуктов от Google, но и не могут работать с рядом других популярных приложений, таких как Facebook, WhatsApp, Instagram и т.д. Кроме того, много других программ зависят от инфраструктуры Google Mobile Services.
Единственным решением Huawei для борьбы с отсутствием GMS было создание конкурирующей платформы — Huawei Mobile Services или HMS. С глобальным запуском Honor 9X Pro, Huawei Mate XS и Honor View 30 Pro компания официально представила свою замену сервисам Google. Итак, что именно содержит HMS и что это означает для будущих владельцев устройств Huawei / Honor.
- Что такое Huawei Mobile Services или HMS?
- Что содержит HMS?
- Huawei ID
- Huawei Mobile Cloud
- Ассистент Huawei
- Темы Huawei
- Huawei Music
- Huawei Video
- Браузер Huawei
Что такое Huawei Mobile Services или HMS?

HMS — это платформа от Huawei, которая заменяет на смартфонах Huawei и Honor популярные приложения и службы Google такие, как Gmail, Карты, Облачное хранилище и т.д. Huawei Mobile Services также предоставляет сторонним разработчикам инструменты и сервисы для создания собственных приложений. С помощью HMS компания стремится сделать для собственной экосистемы всё то, что Google делает для пользователей и разработчиков в основной сборке Android.
Сервисы от Huawei содержат компонент, ориентированный на пользователя (магазин AppGalery и другие первичные приложения и сервисы), и компонент под названием HMS Core, который ориентирован на разработчиков. Это ядро состоит из различных API, SDK и сервисов, которые могут быть использованы для создания и улучшения приложений.
Huawei Mobile Services существует уже много лет, но компания перезапустила и расширила платформу после запрета США, который лишил её Google Mobile Services.
Набор HMS доступен для глобальных версий Honor 9X Pro, View 30 Pro и Huawei Mate XS в комплекте с предустановленным AppGallery. Помимо этого сервисы компании доступны вместе GMS на многих других моделях, которые были выпущены до запрета США.
По словам Huawei, у HMS уже более 570 миллионов ежемесячных активных пользователей по всему миру, а их магазин приложений AppGallery доступен в более чем 170 странах. Ожидается, что все будущие устройства компании, включая грядущий P40, будут работать с HMS. Даже если в будущем Huawei снова получит доступ к GMS, весьма вероятно, что компания продолжит разработку и продвижение HMS на своих устройствах.
Что содержит HMS?

На стороне пользователя HMS предлагает множество услуг, которые направлены на замену GMS. Наиболее значимым из них является AppGallery, альтернатива магазину Google Play. Ниже приведен список всех основных сервисов, которые предлагает HMS.
Huawei ID
Первое и главное требование использования HMS — это идентификатор Huawei. Как в случае с Apple ID или учетной записью Google, Huawei ID позволяет настраивать и сохранять параметры устройств. Некоторые ваши личные данные, включая контакты, сообщения, пароли Wi-Fi, синхронизируются с вашим идентификатором.
Huawei Mobile Cloud
Huawei Mobile Cloud работает синхронно с Huawei ID, чтобы предоставить вам доступ ко всем данным вашего устройства в одном месте. По сути, здесь хранятся такие вещи, как фотографии, видео, контакты, календари, заметки и многое другое. Каждый пользователь бесплатно получает 5 ГБ облачного хранилища, после чего его можно платно расширить до 2 ТБ. Чтобы посмотреть все свои данные с ПК нужно зайти на cloud.huawei.com.
Ассистент Huawei
Глобальные версии Honor 9X Pro, Huawei Mate XS и Honor View 30 Pro оснащаются виртуальным помощником, который заменяет основные функции Google Ассистента. Это значительно облегчает поиск информации и доступность приложений. Помимо этого имеется инструмент SmartCare, который обеспечивает доступ к контекстным картам для акций и спортивных состязаний, охватывающих 150 спортивных событий и более 150 фондовых рынков. Все будущие устройства с EMUI 10 или выше будут оснащены цифровым помощником.
Темы Huawei
Huawei Themes — тематическое приложение HMS, которое позволяет персонализировать ваш телефон с помощью различных тем, шрифтов, значков, экранов блокировки и обоев.
Huawei Music
Это собственный сервис потоковой передачи музыки. Компания до сих пор не особо много говорила о нём, поскольку сейчас он доступен еще не во всех странах пребывания Huawei на рынках. На официальной странице сервиса говорится, что в нем будет размещаться музыка популярных исполнителей. Помимо этого обещаются рекомендации в соответствии с различными жанрами, настроениями, регионами и многим другим. Функция вечеринки позволит воспроизводить пользователям одновременно одну и ту же музыкальную композицию на разных устройствах для совместного прослушивания.
Huawei Video
Служба потокового воспроизведения для видео, которая доступна на устройствах с EMUI 5 или выше. На данный момент сервис работает только в Италии и Испании. В Huawei Video представлены европейские и испанские сериалы, короткие видеоролики, спортивные видеоролики, художественные и документальные фильмы.
Браузер Huawei
Название этого инструмента говорит само за себя. Это приложение предназначено для серфинга в интернете. Браузер предустанавливается с интегрированной новостной лентой и поддерживает темный режим.
Huawei AppGallery

Это альтернатива магазину Google Play для смартфонов Huawei и Honor. Китайская компания инвестировала более миллиарда долларов в создание приложений для AppGallery. По последним данным, у магазина более 400 миллионов ежемесячных пользователей. Это информация была озвучена самой Huawei и до сих пор ни одна сторонняя исследовательская организация не подтвердила и не опровергла эти данные, поэтому лучше к ним отнестись с недоверием.
Сейчас приложения в магазине разбиты на 18 категорий, включая новости, социальные сети, развлечения и многое другое. Пользователи уже сейчас там могут найти Snapchat, TikTok, Deezer, Amazon, Amazon Prime Videos, Booking.com, The Financial Times, BBC News и другие. Помимо этого там имеется несколько популярных игр.
К сожалению, такие приложения, как Telegram Facebook, WhatsApp, Instagram, Netflix и другие, по-прежнему отсутствуют в магазине приложений Huawei. Тем не менее, по крайней мере некоторые из них скоро появятся в AppGallery.

Очевидно, что там не стоит ожидать YouTube, Gmail, Google Photos, Google Maps, Drive и т.д. Все эти приложения будут недоступны на смартфонах Huawei и Honor до тех пор, пока не будет отменен запрет США, при условии, что Google захочет опубликовать их в конкурирующем магазине.
Huawei сообщает, что если пользователи не могут найти приложение в AppGallery, то они могут отправить ненайденное в список желаний. Затем они смогут получить уведомление, как только оно появится в магазине Huawei. Одна из отличительных особенностей AppGallery — поддержка Quick Apps, аналога мгновенных приложений Google, которые не требуют установки.

Помимо разработки AppGallery, сообщается, что Huawei работает с Xiaomi, Vivo и Oppo над созданием унифицированной службы загрузки приложений, которая облегчит разработчикам распространение своих приложений для пользователей устройств этих четырех производителей. Сейчас довольно мало информации об этой инициативе.
HMS Core: закулисное действие
HMS включает в себя набор сервисов для разработчиков под названием HMS Core. К ним относятся инструменты для отслеживания местоположения, входа, покупок в приложении, рекламы, распознавания лиц, распознавания текста и многое другое. Разработчики могут использовать эти сервисы, а также другие API и SDK, предоставляемые Huawei, для создания приложений.
Компания создала собственную версию важных инструментов, без которых некоторые приложения не могут функционировать на Android-устройствах. Еще в декабре Huawei пообещала разработчикам, что если их приложение размещено в Google Play, то его можно адаптировать под работу с HMS всего за 10 минут.
Помимо предоставления разработчикам необходимых инструментов, компания также стимулирует их различными способами. Сообщается, что Huawei работает с разработчиками на всех рынках, чтобы обеспечить доступность самых лучших приложений на устройствах собственного производства.
Очевидно, что Huawei предстоит пройти долгий путь, прежде чем её сервисы смогут конкурировать с сервисами Google. Пользователям, которые годами приучались к продуктам поискового гиганта, придется привыкать к новой инфраструктуре. К сожалению, китайская компания ничего не может сделать в сложившейся ситуации, кроме разработки и развития собственной экосистемы. Надеемся, что она станет сильнее в течение следующих месяцев и лет, а в идеальном мире проблемы между властями США и Huawei будут исчерпаны, и для компании снова станут доступны сервисы Google.