Connect with us

Разработка

Сервисы Google и Huawei в единой кодовой базе Android-приложения

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

Опубликовано

/

     
     

Отдельное управление библиотеками HMS и GMS в вашем  Android-приложении может со временем сделать его более сложным. Поэтому мы поговорим о том, как легко выйти из этой ситуации.

Вступление

Здравствуйте, дорогие Android-разработчики, сегодня я расскажу вам об использовании библиотек HMS и GMS в одной кодовой базе. Также в качестве примера мы рассмотрим использование Google Maps и Huawei Map Kit в одном проекте. Если вы готовы, давайте начнем!

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

Затем нам нужно создать связанные функции, которые проверяют, активны ли услуги GMS и HMS на нашем телефоне.

Проверки

Проверяем, доступны ли Google Services на нашем телефоне.

Проверяем, доступны ли Huawei Services на нашем телефоне.

По значениям true и false, возвращаемым из вышеуказанных функций, мы можем решить, какие сервисы будут работать на нашем телефоне, а какие нет. Теперь мы попробуем наши функции только на телефонах с сервисами Google или только с сервисами Huawei.

Сервисы Google и Huawei в единой кодовой базе Android-приложения

Как видите, когда мы попробовали это на телефоне с сервисами Google, функция Google вернула true, а функция сервисов Huawei — false (в качестве телефона использовался Pixel 3).

Сервисы Google и Huawei в единой кодовой базе Android-приложения

Когда же мы попробовали это на телефоне с сервисами Google, функция Google вернула true, а функция сервисов Huawei — false (в качестве телефона использовался Pixel 3).

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

Интеграция

Когда мы выполним соответствующие проверки, мы сможем добавить Google Maps и Huawei Map Kit в наш проект. Давайте сначала подготовим XML-сторону.

Затем мы добавим наш OnMapReadyCallback для Google Maps и Huawei Map в наш класс в соответствующей Activity. Кроме того, мы должны добавить наши функции onMapReady для двух картографических сервисов в наш класс.

Сервисы Google и Huawei в единой кодовой базе Android-приложения

Добавьте OnMapReadyCallback для Google Maps и Huawei Map в наш класс в соответствующей Activity.

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

Теперь давайте посмотрим на результаты. Сначала попробуем наше приложение на телефоне Pixel 3 с использованием только сервисов Google. Позже мы также попробуем его на телефоне P40 Lite, который работает только с сервисами Huawei.

Сервисы Google и Huawei в единой кодовой базе Android-приложения

Как видите, мы используем Google Maps, которые работают только в сервисах Google.

Сервисы Google и Huawei в единой кодовой базе Android-приложения

Или используем Huawei Map Kit в этом же приложении и на телефоне, включающем только сервисы Huawei.

Ключевые моменты

  • Не забудьте создать отдельную логику для телефонов, использующих сервисы Huawei и Google.
  • Не забудьте активировать консоль для Google Maps и Huawei Maps (Google Console для сервиса Google, App Gallery Connect для Huawei).
  • Не забудьте поместить API-ключ для Google Maps в AndroidManifest. Аналогично, не забудьте вызвать функцию MapsInitializer.setApiKey(«YOUR_API_KEY») в Huawei Map Kit.
  • Для Huawei Map Kit версии выше ‘com.huawei.hms:maps:5.0.5.301’ могут иметь ошибку map not loading. Убедитесь, что вы правильно выбрали версию или используйте эту версию.
  • При работе со значениями Google Map и Huawei Map не забывайте импортировать значения из соответствующего класса для соответствующего сервиса. Потому что большинство имен значений и функций в этих двух сервисах похожи.
  • Не забывайте добавлять значения SHA1 и SHA-256 вашего приложения в консоли сервисов Google и Huawei. Кроме того, создайте SHA1 и SHA-256 снова для релиза, чтобы сервисы правильно работали в релиз-пакетах (выполните gradle signinReport из терминала Android Studio для генерации SHA1 и SHA-256).
  • Убедитесь, что к проекту прикреплены самые актуальные версии JSON-файлов сервисов, которые вы загрузите из консоли.

Заключение

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

Источник

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.

Наши партнеры:

LEGALBET

Мобильные приложения для ставок на спорт
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: