
Добрый вечер,
Если вас интересует, сколько пользователей используют ваше приложение, как часто, как именно и т.д., то вы можете использовать аналитику приложения от Firebase Google Analytics. Эта возможность была добавлена в 1.18.5.0.
Начиная с версии 1.18.9.0, мы добавили поддержку сбора аналитик так же и от сервиса Yandex AppMetrica. Ранее мы выкладывали инструкции, как это можно сделать самостоятельно, отдельно настраивать приложение, отдельно использовать разное API для отправки метрик. Однако, мы полностью интегрировали эту поддержку и теперь ей так же легко воспользоваться, как и Firebase Google Analytics. Но, обо всем по порядку.
Регистрация приложения в Yandex AppMetrica
1. Регистрируемся на сервисе, если не сделали этого ранее: https://appmetrica.yandex.ru/
1. Создаем новый проект в учетной записи AppMetrica и даем ему название:
Затем далее. По окончании добавления сервис отобразит ваш API ключ, который нужно запомнить. Именно он будет использоваться для взаимодействия вашего приложения и сервиса Yandex AppMetriсa.
Теперь переходим к настройкам вашего проекта, путем перехода в пункт меню Settings -> Main (Настройки -> Главные) в левой панели.
Если нам необходимо связать наш проект с iOS приложением. Среди большого числа настроек нас интересует вкладка "Основное" -> "Universal Link". Нам необходимо заполнить поля Bundle ID и App Prefix на основании данных вашего iOS приложения, зарегистрированного в портале Apple Developer.
-
AppPrefix - это уникальный префикс, выданный Apple при участии в программе iOS разработчиков. Он же добавляется к названию пакета iOS приложения, тем самым формируя уникальное название приложения. Его можно найти в личном кабинете Apple на вкладке Membership:
-
Bundle ID - это идентификатор пакета вашего FGX Native приложения. Если приложение уже зарегистрировано, то вы можете найти название пакета на сайте Apple в разделе Identifiers.
После того, как вы указали все данные, необходимо включить "Использовать Universal Link" - это специальная технология, которая призвана обезопасить передачу статистики с устройств пользователя на сервера Yandex.
Чтобы закончить настройку, необходимо включить поддержку Universal Link на стороне профиля разработчика Apple. Для этого необходимо открыть настройки приложения в консоли Apple и включить поддержку "Associated Domains".
Теперь ваш профиль приложения сконфигурирован для приема статистики с вашего приложения. Переходим к подключению Yandex AppMetrica к FGX Native приложению.
Подключение и настройка Yandex AppMetrica в FGX Native приложении
Чтобы подключить Yandex AppMetrica в приложении, достаточно настроить подключение в настройках проекта и бросить новый компонент TfgAppMetricaAnalytics на главную форму или дата модуль, который создается при старте приложения.
1. Переходим в настройки приложения Project -> FGX Options... -> Services (Сервисы) -> Yandex AppMetrica
Для всех требуемых конфигураций Android 32-bits / Android 64-bits / iOS Device 64-bit включаем поддержку сервиса (Enabled - 1) и указываем API ключ (2).
Опционально можно поменять значение длительности сессии. По умолчанию AppMetrica использует значение 10 секунд. Если в течении этого времени пользователь ничего не будет делать в приложении, то это будет означать, что при новом взаимодействии пользователя с приложением, это будет считаться как новая сессия взаимодействия пользователя.
2. Бросаем на главную форму или дата модуль, который создается при запуске приложения, новый компонент TfgAppMetricaAnalytics. Через него же можно будет отправлять пользовательские события.
После чего все готово и можно запускать приложение.
Как посмотреть статистику
Чтобы посмотреть аналитику, нужно перейти в личный кабинет Yandex AppMetrica: https://appmetrica.yandex.ru/overview и уже на главной странице можно будет увидеть информацию о количестве установок вашего приложения, аудитории, падениях приложения и т.д.
Важно: первые отчеты в AppMetrica появляются с небольшой задержкой, а не в режиме реального времени. Если приложение запустилось без видимых ошибок, то подождите пару минут появления метрик на портале https://appmetrica.yandex.ru/application
В разделе Technologies/Технологии будут доступны интересные технические отчеты о версиях SDK, приложениях, размерах экранов, типах устройств и многое другое.
Отслеживание экранов приложения и отправка пользовательских метрик
В интеграции сервиса у нас встроены две дополнительные возможности:
1. Это отслеживания открытых форм/экранов вашего приложения.
Если вы хотите узнать, с какими экранами чаще всего взаимодействуют ваши пользователи, вы можете воспользоваться методом компонента SetCurrentScreen. Данный метод отправляет на сервер информацию о названии формы/экрана и ее классе.
Типичный пример отслеживания открытия формы, может выглядеть так:
procedure TFormMain.fgFormShow(Sender: TObject);
begin
fgAppMetricaAnalytics1.SetCurrentScreen(Name, ClassName);
end;
После запуска приложения, в личном кабинете AppMetrica на вкладке Reports / Отчеты -> Events / События можно наблюдать названия открытых экранов:
2. Для отправки своего события на сервер, можно воспользоваться методом LogEvent. Доступно две версии этого метода: простой и с параметрами:
/// <summary> /// Отправляет на сервер AppMetrica событие с именем <c>AName</c>, параметрами c именами <c>AKeys</c> и значениями /// <c>AValues</c>. /// </summary> procedure LogEvent(const AName: string; const AKeys: TArray<string>; const AValues: array of const); overload; /// <summary>Отправляет на сервер AppMetrica событие с именем <c>AName</c>.</summary> procedure LogEvent(const AName: string); overload;
Например, если мы хотим зафиксировать, что пользователь в приложении покупок нажимал на кнопку "положить товар в корзину", то отправка этого события может выглядеть так:
LogEvent('Положили в корзину', ['product_id', 'product_name', price], [1423, 'Sony PlayStation 5', 60000]);
Решение возможных проблем
Приложение падает на старте
Если приложение при запуске падает, то скорее всего, вы:
- либо не указали API ключ
- или же указали некорректный ключ
- либо не включили сервис в настройках проекта
Еще раз проверьте, что все пункты выше выполнены. Так же, при таком падении, можно узнать причину падения в логе устройства, что на iOS, что и на Android.
Приложение падает на старте и вы используете компоненты FireDAC. (спасибо @Roman)
QuoteОтдельно хочу отметить, что при использовании в приложении компонента TFDConnection с драйвером SQLite (TFDConnection.DriverName=SQLite), по умолчанию устанавливается режим статической привязки движка SQLite. Что в свою очередь, после интеграции YandexAppMetrica, приводит к падению iOS-приложения при запуске.
Для исправления проблемы необходимо:
- вместе с TFDConnection разместить компонент TFDPhysSQLiteDriverLink;
- установить динамическую привязку SQLite: TFDPhysSQLiteDriverLink.EngineLinkage=slDynamic;
- в модуле, который использует TFDConnection, из uses удалить FireDAC.Phys.SQLiteWrapper.Stat.
Обратите внимание!
Все вышеописанное справедливо ТОЛЬКО для iOS!Для Android необходима статическая привязка движка SQLite!
Чтобы ваше приложение на Android смогло работать с БД, необходимо пойти по одному из вариантов:
- для Android использовать отдельный модуль данных со статической привязкой SQLite;
- перед сборкой Android-приложения вернуть значение TFDPhysSQLiteDriverLink.EngineLinkage=slStatic.
Надеюсь, эта информация позволит избежать аналогичных ошибок 😉
Заключение
Подключение данного сервиса выполняется довольно просто и быстро в FGX Native, но при этом открывает для вас большой набор полезной статистики, которую вы можете предложить, как вашим клиентам, так и использовать ее для совершенствования ваших личных приложений.
Recommended Comments