Site icon AppTractor

Сервисы 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, функция Google вернула true, а функция сервисов Huawei — false (в качестве телефона использовался Pixel 3).

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

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

Интеграция

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

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

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

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

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

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

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

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

Заключение

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

Источник

Exit mobile version