О проекте
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. Это и аналитика, и карты, и геопозиционирование, диплинки, push-уведомления. Для решения проблемы нашим разработчикам для начала надо было проанализировать степень проникновения сервисов Google в код приложения, а затем выбрать подходящие киты, библиотеки от Huawei и осуществить полную замену.Этапы реализации проекта:1. Реализация Яндекс.Аналитики2. Реализация push-уведомлений3. Замена картографии и геолокационных сервисов и кластеризации на картах4. Динамические ссылки5. Замена сканера QR-кодов6. Тестирование и стабилизация приложения Были проведены следующие замены:1. Firebase Push Notifications на HMS Push Kit2. Google Maps на HMS Map Kit3. Firebase Deep Linking на HMS Deep Linking4. Google ML Kit на ZxingС какими трудностями мы столкнулисьНа первом этапе разработчики начали реализовывать приложение на Flutter 1. Однако это помешало использовать самые новые библиотеки от Huawei, которые оказались несовместимыми с данной платформой, а были рассчитаны на Flutter 2. Из-за этого возникли проблемы совместимости.Мы быстро перестроились и уведомили об этом партнеров из Huawei. И Huawei приступил к устранению данной проблемы.Кроме того, сложности вносила необходимость тестирования на «чистых» телефонах Huawei без установленных на них сервисах Google — а найти такие в России оказалось непросто. Дело в том, что на «чистых» телефонах проявлялись баги, которые на устройствах с установленными сервисами Google не были видны. Но эту проблему удалось решить благодаря поддержке компании Huawei, которая оперативно прислала нашей команде «чистые» телефоны.
Результат
В итоге приложение опубликовано в AppGallery. На решение задачи ушло не более 2 месяцев.
Технологии
- Kotlin
- Flutter (среда)
- HMS services
- Zxing (Zebra Crossing)
- Dart
Цитаты
Виолетта Бакаеваменеджер проектов Globus IT
Решение таких задач становится все более и более востребованным на рынке, потому что владельцы приложений все чаще стремятся адаптировать их для работы на устройствах и сервисах Huawei. В ходе реализации проекта мы поняли, что наши коллеги из Huawei — надежные партнеры, совместно с которыми можно оперативно решить задачи любой сложности.