
Подготовка приложения «ДИКСИ» к публикации в AppGallery
О проекте: AppGallery — это фирменный магазин приложений Huawei для устройств на базе Android и HarmonyOS. По сути своей это не что иное, как альтернатива Google Play, а еще — третья в мире по популярности платформа распространения приложений после него и AppStore.
В 2019 году Google запретила устанавливать Google Mobile Services в смартфоны Huawei. Сейчас операционная система от Huawei — это AOSP (Android Open Source Project) с установленными вместо сервисов Google сервисами HMS (Huawei Mobile Services).
Для того чтобы загрузить приложение в AppGallery, его необходимо адаптировать под данную платформу. Именно с такой задачей к нам обратилась компания Huawei.
Задача: Перед нами стояла задача адаптировать приложение крупной продовольственной розничной сети «ДИКСИ» под AppGallery, а именно — переработать код приложения таким образом, чтобы в нем не осталось ни одного сервиса Google и они были заменены на аналогичные сервисы Huawei.
Реализация: Приложение «ДИКСИ» было тесно завязано на сервисах Google. Это и аналитика, и карты, и геопозиционирование, и диплинки (deep links), и всплывающие уведомления (push-уведомления). Для решения проблемы нашим разработчикам для начала надо было проанализировать степень проникновения сервисов Google в код приложения, а затем выбрать подходящие киты, библиотеки от Huawei и осуществить полную замену.
Этапы реализации проекта:
1. Реализация Яндекс.Аналитики
2. Реализация push-уведомлений
3. Замена картографии и геолокационных сервисов и кластеризации на картах
4. Динамические ссылки
5. Замена сканера QR-кодов
6. Тестирование и стабилизация приложения
Были проведены следующие замены:
1. Firebase Push Notifications на HMS Push Kit
2. Google Maps на HMS Map Kit
3. Firebase Deep Linking на HMS Deep Linking
4. Google ML Kit на Zxing
С какими трудностями мы столкнулись
На первом этапе разработчики начали реализовывать приложение на Flutter 1. Однако это помешало использовать самые новые библиотеки от Huawei, которые оказались несовместимыми с данной платформой, а были рассчитаны на Flutter 2. Из-за этого возникли проблемы совместимости.
Мы быстро перестроились и уведомили об этом партнеров из Huawei. И Huawei приступил к устранению данной проблемы.
Кроме того, сложности вносила необходимость тестирования на «чистых» телефонах Huawei без установленных на них сервисах Google — а найти такие в России оказалось непросто. Дело в том, что на «чистых» телефонах проявлялись баги, которые на устройствах с установленными сервисами Google не были видны. Но эту проблему удалось решить благодаря поддержке компании Huawei, которая оперативно прислала нашей команде «чистые» телефоны.
Результат: В итоге приложение опубликовано в AppGallery. На решение задачи ушло не более 2 месяцев.
Источник: https://globus-ltd.ru/projects/diksi-appgallery-huawei