Облачные сервисы поддержки мобильных приложений: актуальное состояние и возможности импортозамещения |
Автор: Матафонов Д.С. |
08.12.2024 20:59 |
ОБЛАЧНЫЕ СЕРВИСЫ
ПОДДЕРЖКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ: АКТУАЛЬНОЕ СОСТОЯНИЕ И ВОЗМОЖНОСТИ
ИМПОРТОЗАМЕЩЕНИЯ Матафонов Д.С.,
аспирант, Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина, г. Екатеринбург,
Россия Аннотация. В
статье рассматривается роль облачных сервисов в поддержке мобильных приложений
и актуальное состояние рынка таких решений. Проверяется гипотеза о
безальтернативности применения сервисов Firebase на наборе задач
поддержки путем анализа рисков и качеств альтернатив. Приводится опыт решения одной
из задач при помощи трех сервисов. Ключевые слова: поддержка
приложений, аналитика приложений, обеспечение качества, импортозамещение, Firebase. Под облачными сервисами поддержки мобильных приложений следует понимать набор решений и инструментов, использующихся для удаленного мониторинга поведения пользователей, отслеживания и регистрации ошибок, конфигурирования настроек приложения, отправки уведомлений и других действий, направленных на управление приложением после выпуска. Их необходимость обуславливается возможностью повышения качества решения: имея данные о том, как пользователи пользуются приложением и какие ошибки возникают при этом, разработчик может внести изменения в свой продукт, повышая ту или иную метрику.Это может быть достигнуто как публикацией новой версии приложения, так и с помощью облачных сервисов, управляющих составом функциональных возможностей или привлекающих внимание к одной из них. Природа этих решений как облачных сервисов обусловлена, с одной стороны, требованием доступа к этим системам всех устройств с приложением по сети, но, с другой стороны, этим решениям необязательно быть в одном контуре с основными сервисами разработчика, решающими его конкретные бизнес-задачи и с которыми взаимодействуют приложения как клиенты. Во-первых, рассматриваемые задачи поддержки не уникальны для каждого продукта и компании, а, следовательно, могут поставляться как готовое общее решение ограниченным количеством вендоров,без затрат на создание таких систем каждой отдельной группой разработки. При этом, эти решения требуют мощной виртуальной ИТ-инфраструктуры для возможности хранения и обработки собираемых данных. Эти факторы приводят к тому, что основными облачными сервисами поддержки мобильных приложений становятся решения от крупнейших технологических компаний. Так, решения для аналитики отGoogle используются в 73% процентов случаев на принадлежащей этой компании ОС Androidи в 78% — на iOS от Apple. Для мониторинга производительности эти доли составляют 67% и 72% случаев соответственно, для отправки уведомлений —61% и 84% соответственно [3]. Остальные доли разделяются между другими готовыми решениями или собственными разработками. Решения Google объединены под брендом Firebase. Это набор облачных
сервисов, которые предназначены для разработки и поддержки мобильных и
веб-приложений. Они включают в себя такие функции, как аутентификация
пользователей, хранение данных, аналитика и интеграция с другими сервисами
Google [2]. Концепция и конкурентное преимущество Firebase заключается в
предоставлении готовой инфраструктуры для задач поддержки, что освобождает
ресурсы разработки в пользу основных бизнес-функций. На основании
вышеизложенных фактов логично выдвинуть гипотезу:использование Firebase является очевидным
решением для задач поддержки мобильных приложений. Тем не менее, стоит рассмотреть факторы, актуальные на момент создания статьи.Их можно разделить по двум критериям – риски и качество альтернатив. 12 сентября 2024 года вступил
в силу пакет санкций США против России, согласно которым американским компаниям
запрещено оказывать российским клиентам ряд IT-услуг, в том числе поставлять ПО
для бизнес-аналитики (BI),корпоративного хранилища данных (EDW), проектами и
жизненным циклом продукта (PLM) и т. д. Хотя большинство сервисов Firebase являются бесплатными и
продолжают работу, доступ к значительной части их функций закрыт из российского сегмента
сети. Соответственно, использование исключительно сервисов Firebase несет определенные
риски для разработчика. Существует ещё одна причина, по которой использование альтернатив Firebase является важным аспектом разработки приложений. Разработчики должны быть способны поддерживать свои продукты на версиях Android, не использующих сервисы Google, например на операционных системах, основанных на AOSP—основной части Androidс открытым исходным кодом. Такими ОС отличаются, например, устройства Huawei, занимающие порядка 4% российского рынка смартфонов. Для минимизации рисков следует обратиться к альтернативам Firebase и оценить их возможности. Далее будут рассмотрены наиболее обсуждаемые на профильных конференциях заменители, разделенные по назначению. Google Analytics предоставляет общую информацию о работе приложения, но не подходит для глубокого анализа. В этом случае рекомендуется использовать специализированные инструменты. Один из примеров такого инструмента — сервис MyTracker от VK. Он ориентирован на российский рынок и менее загружен, чем Performance Monitoring от Firebase, что позволяет точнее анализировать ключевые метрики мобильных приложений, эффективность источников трафика и монетизацию. С его помощью можно сегментировать аудиторию и прогнозировать LTV и отток пользователей. Сервис интегрирован с RuStore и другими альтернативными магазинами приложений. На данных и сегментах MyTracker работают Remote Config и push-уведомления RuStore. В рамках проекта по сопровождению ВИЧ-положительных пациентов, где аналитика играет важную рольв оценке вовлеченности пользователей, были оценены возможности таких библиотек. Изначально используемая GoogleAnalyticsбыла проста в интеграции, однако не позволяла получить все необходимые данные. Так, не было возможности отследить навигацию конкретного пользователя внутри приложения, а события хранились лишь в течение 30 минут. Было принято решение использовать альтернативный сервис —MixPanel. Он позволил получать события в разрезе пользователей и экранов, гибко использовать эти данные в готовых и собственных отчетах об использовании. По оценке участников команды, этот инструмент больше подходит для оценки эффективности продукта, но при этом требует большего понимания. Однако коммерческая версия MixPanel недоступна. В рамках исследования было применено третье решение — отечественный MyTracker[1]. Он так же может хранить историю и предоставляет множество готовых метрик. Относительно MixPanel, MyTracker является более понятным в отдельных задачах, при этом уступая в гибкости. Стоит отметить, что с точки зрения интеграции в приложение три решения не имеют принципиальных различий, а возможность их замены или добавления определяется сформированной архитектурой. Анализ ошибок — ключевой фактор при разработке и улучшении приложений. Игнорирование ошибокприводит к ухудшению пользовательского опыта, потере лояльности пользователей и оттоку аудитории.Существует сервис для поиска ошибок Firebase Crashlytics [4], но его возможности ограничены: неудобный поиск, неточное разделение событий по типам, отсутствие инструментов для работы с не фатальными ошибками, что приводит к накоплению ошибок и так далее. Альтернативой Crashlytics является сервис Sentry, имеющий открытый исходный код и возможность развёртывания внутри собственной инфраструктуры. Это минимизирует риск утечки конфиденциальных данных, однако в России невозможно легально приобрести и развернуть самостоятельное решение от Sentry. Также Crashlytics имеет отечественную альтернативу в виде сервиса Tracer от OK. Сравнивая эти два инструмента, Tracer не только предоставляет схожие функции анализа, но и расширяет возможности Crashlytics. Среди особенностей Tracer можно выделить полнотекстовый поиск по логам, поиск по идентификатору пользователя, возможность самостоятельно определять группировку ошибок на стороне клиента, возможность профилирования и анализа утечек памяти в рабочей среде с загрузкой дампов памяти. В
разработке на основе гипотез большое значение имеет возможность динамической
конфигурации приложения, поэтому один из наиболее используемых инструментов Firebase
— Remote Config. Он позволяет добавлять в приложение параметры, которые можно
изменять удалённо с сервера.Remote Config предоставляет широкие аналитические
возможности. С помощью этого инструмента можно проводить A/B-тесты и изучать
аудиторию.Альтернативой Firebase Remote Config служит RuStore Remote Config,
который также предназначен для настройки приложений и проведения A/B-тестов.
Это решение доступно для приложений на устройствах с Android и iOS и
связано с MyTracker.
Push-уведомления важны для развития мобильного приложения, так как они поддерживают связь с пользователями и уведомляют их о новых возможностях, акциях и обновлениях.Уведомления через Firebase (FCM)используют сервисы Google и являются стандартным решением для рассылок. Однако на устройствах без этих сервисов или блокировке разработчика требуются альтернативные решения. Есть решения отдельных вендоров, в экосистеме RuStore развивается многоканальное решение — Universal Push. Оно позволяет отправлять уведомления через HMS от Huawei, FCM и RuStore с использованием единого SDK. Применение универсального API обеспечивает возможность создания отказоустойчивого механизма и повышает долю доставленных уведомлений. Тем не менее, не все сервисы Firebase имеют аналоги, доступные в открытом доступе. Например, в экосистеме RuStore нет альтернативы Firebase App Distribution. Это сервис используется для управления процессом бета-тестирования приложений на платформах iOS и Android, позволяя распространять новые версии приложений среди доверенных пользователей.Появляются решения от отдельных вендоров, встраиваемые в системы заказчика. Действительно,
облачные сервисы имеют широкое применение в поддержке мобильных приложений,
однако гипотеза об очевидности выбора Firebaseкак основного способа поддержки
мобильных приложений не может быть подтверждена. Сообщество разработчиков
отмечает ряд недостатков решений от Google, отмечая, главным образом, недостаточную глубину пользовательских
исследований, которые можно провести с помощью этих инструментов.
Разрабатываемые решения обладают рядом преимуществ, выделенных при анализе
опыта использования Firebase,
и формируют свои экосистемы, как в случае RuStore. Приведенный обзор
выявил альтернативные решения задач аналитики, отслеживания ошибок, управления
конфигурациями, отправки уведомлений. Дальнейшие исследования могут быть
направлены на исследование опыта использования этих альтернатив и их влияния на
проект, однако даже отдельный опыт применения альтернативных библиотек
показывает, что возможность их интеграции зависит не от них самих, а от сформированной
архитектуры. Это показывает возможность комбинирования методов Firebaseи других разработчиков,
ведь многим сервисам Firebaseкачественно
равных альтернатив нет. Литература 1.
Альтернативы сервисам Firebase: решения
от VK – MyTracker.
– URL:
https://tracker.my.com/blog/alternativi-servisam-firebase (дата обращения:
01.12.2024) – Текст: электронный. 2.
Скиндер, П. П. Современные облачные
технологии в обработке данных: Firebase / П. П. Скиндер, Ю. Е. Харитонов //
Бизнес-инжиниринг сложных систем: модели, технологии, инновации : Сборник
материалов VIII МНПК, Донецк - Екатеринбург, 23–24 ноября 2023 года. – Донецк:
Донецкий национальный технический университет, 2023. – С. 176-181. – EDN
JXLATO. 3.
Most
Popular Analytics SDKs in Apps and Games –Appfigures. – URL:
https://appfigures.com/top-sdks/analytics/all (дата обращения: 30.11.2024) –Текст:
электронный. 4.
Osina,
M. A. A functionality analysis of Firebase Crashlytics real-time crash
reporting tool / M. A. Osina // Информационно-вычислительные технологии и их приложения: Сборник статей XXVII МНПК, Пенза, 24–25 августа 2023 года / Под научной редакцией В.В. Кузиной. – Пенза: Пензенский государственный аграрный университет, 2023. – P. 267-271. – EDN LQANWP. |