2 О ЧЕМ ПОГОВОРИМ • Что такое HMS и зачем он нужен в вашем приложении • Способы поддержки HMS и GMS в одном приложении • Интеграция PushKit, MapKit, LocationKit и SafetyDetect • Результаты подхода в продакшн среде
Мировая статистика продаж 3 квартал 2020 vivo 9 % Xiaomi 9 % Apple 13 % Huawei 19 % Samsung 22 % Другие 28 % Источник IDC 2020 Российская статистика продаж 3 квартал 2020 Xiaomi 22 % Apple 10 % Huawei 20 % Samsung 33 % Другие 15 % Источник Mobile Research Group 2020 5
10 ПОЧЕМУ ПОДДЕРЖКА HMS АКТУАЛЬНА СЕГОДНЯ? • Отказываясь от поддержки HMS мы теряем до 30% новых пользователей • Помощь в интеграции со стороны Huawei • Отсутствие или малое количество конкурентов в AppGalery
11 ПОЧЕМУ ПОДДЕРЖКА HMS АКТУАЛЬНА СЕГОДНЯ? • Отказываясь от поддержки HMS мы теряем до 30% новых пользователей • Помощь в интеграции со стороны Huawei • Отсутствие или малое количество конкурентов в AppGalery • Выгодные условия от внутрених продаж приложений в AppGalery AppGalery 10-15%, Google Play / App Store 15-30%
19 • Быстрее и проще в реализации • Риск попадания версии, предназначенной для другой платформы Плюсы ОТДЕЛЬНЫЕ СБОРКИ ПОД МАРКЕТ Минусы • Тестировать 2 приложения
21 ОДНА ВЕРСИЯ ДЛЯ ВСЕХ ПЛАТФОРМ Плюсы • Одна версия подходит для любых устройств • Реализация любого алгоритма выбора мобильных сервисов • Тестируем только одно приложение • Выкладываемся одновременно на все площадки
22 ОДНА ВЕРСИЯ ДЛЯ ВСЕХ ПЛАТФОРМ • Медленнее и сложнее в реализации • Потенциально больше багов Плюсы Минусы • Одна версия подходит для любых устройств • Реализация любого алгоритма выбора мобильных сервисов • Тестируем только одно приложение • Выкладываемся одновременно на все площадки
27 ПРИОРИТЕТ GMS ПО УМОЛЧАНИЮ Плюсы • Знакомый инструмент • Большая база знаний • Надежность и стабильность Минусы • Ограничения работы GMS на устройствах Huawei
49 SafetyNet vs SafetyDetect Состояние устройства SafetyNet SafetyDetect ctsProfileMatch basicIntegrity basicIntegrity Устройство, успешно прошедшее сертификацию совместимости Google true true true Сертифицированные устройство с разблокированным загрузчиком false true false Устройство без сертификации false true true Кастомная прошивка без рута false true true Эмулятор(система Android) false false false Скрипт эмулирующий устройство(не система Android) false false false Устройство рутовано false false false Атаки во время выполнения проверки false false false
66 РЕЗУЛЬТАТЫ • 1.5 миллиона установок в AppGallery • Сохранение возможности выкладывать все релизы приложения для двух сервисов • В первые дни запуска были на 2 месте в общем топе AppGallery после TikTok • Реализация нашего решения заняла 4 месяца
67 ПОЛЕЗНЫЕ ССЫЛКИ • https://github.com/and291/HmsTest - код демонстрационного проекта • https://habr.com/ru/company/cardsmobile/blog/522008/ - статья на Habr об интеграции HMS, написанная моим коллегой Андреем Бусик • https://habr.com/ru/company/huawei/blog/520710/ - устройство Huawei PushKit • https://developer.huawei.com/consumer/en/codelabsPortal/index - codelabs по интеграции всех сервисов Huawei