Jump to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Firebase Google Analytics с 1.15.3.0

Добрый вечер,

Начиная с FGX Native 1.15.3.0, появится новый компонент для сборка аналитики использования вашего приложения TfgFirebaseAnalytics.

image.png

Данный компонент позволяет собрать информацию об использовании вашего приложения пользователями. Например, вы можете определить:

  1. Какую форму пользователи открывают чаще всего.
  2. Какие версии вашего приложения успешно запускаются.
  3. Сколько пользователей первый раз запустили приложение.
  4. Какие покупки чаще всего делают в вашем приложении.
  5. С какими компонентами чаще всего взаимодействуют. 
  6. И многое другое.

Подробности о Firebase Analyticshttps://firebase.google.com/docs/analytics?authuser=0

Настройка использования

Чтобы использовать новый компонент, необходимо выполнить общую регистрацию FGX Native приложения в Firebase консоли (Шаги такие же, как регистрация приложения для использования Push-уведомлений): 

Дополнительно для Android нужно вручную добавить зависимость на библиотеку "com.google.firebase:firebase-analytics:21.2.0"

https://forum.fgx-native.com/blogs/entry/56-интеграция-android-библиотек-просто-и-быстро-с-11520/

image.png

Если вы не выполните корректную настройку приложения, то на iOS запуск приложения закончится ошибкой старта, а в Android ни одна метрика не будет отправлена в облако Firebase. 

Отправка событий

Чтобы начать отправку событий необходимо разместить новый компонент TfgFirebaseAnalytics. Рекомендуем разместить его на общем дата модуле, чтобы вы могли пользоваться одним экземпляром компонента в любом месте. Однако, вы можете использовать и несколько экземпляров данного компонента.

Как только вы размещаете его в приложении, так сразу компонент начинает автоматический сбор базовых событий в вашем iOS/Android приложении, такие как:

  • Определение первого запуска приложения
  • Статистику использования разных версий вашего приложения.
  • Сбор сессий использования. 
  • И тд.

Такие события доступны в консоли Firebase в разделе Analytics -> Realtime.

image.png

Помимо автоматического сбора событий, вы можете выполнять отправку своих событий.

Каждое событие, происходящее в вашем приложении, характеризуется:

  • Name - имя. Строковый код события. Firebase предлагает готовые коды событий. С ними можно познакомиться на этой странице. Вы можете использовать, как готовые коды, так и свои собственные.
    Например: событие select_content предназначено для информирования о том, что пользователь выбрал важный для вас контент (нажал на кнопку, открыл форму и тд).
  • Parameters - параметры в формате - название параметра - значение. Каждое событие может сопровождаться соответствующими параметрами. Firebase описывает связанные с событиями параметрами, которые вы можете отправить.
    Например, событие select_content сопровождается двумя параметрами: content_type и item_id (документация)

Для отправки события в компоненте есть два метода, позволяющие это сделать:

/// <summary>
///   Отправляет на сервер Firebase событие с именем <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>Отправляет на сервер Firebase событие с именем <c>AName</c>.</summary>
procedure LogEvent(const AName: string); overload;

    Чтобы узнать, что пользователь нажал на кнопку покупки в вашем приложении, необходимо добавить в обработчик вызов метода LogEvent:

    procedure TFormMain.fgButtonBuyTap(Sender: TObject);
    begin
      fbAnalytics.LogEvent('select_content', ['content_type', 'item_id'], ['Button', 'Buy subscription']);
    end;

    Определение открытых экранов/форм

    Помимо отправки любых событий, компонент TfgFirebaseAnalytics позволяет отправлять информацию о том, какие формы/экраны открывает пользователь. Чтобы воспользоваться данной возможностью, необходимо в момент отображения формы передавать на сервер Firebase информацию о текущей форме.

    /// <summary>
    ///   Задает текущее название экрана, которое определяет текущий визуальный контекст в вашем приложении.
    ///   Это помогает определить области в вашем приложении, где пользователи проводят свое время и как они
    ///   взаимодействуют с вашим приложением.
    /// </summary>
    procedure SetCurrentScreen(const AScreenName: string; const AScreenClassName: string);

    Для удобства отслеживания, когда форма появляется на переднем плане, в FGX Native 1.15.3.0 для формы TfgForm добавлены два новых события:

    /// <summary>Вызывается, когда форма выходит на передний план на экране.</summary>
    /// <remarks>Не вызывается для встроенных форм-фреймов.</remarks>
    property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
    
    /// <summary>Вызывается, когда форма уходит с переднего плана на экране.</summary>
    /// <remarks>Не вызывается для встроенных форм-фреймов.</remarks>
    property OnDeactivate: TNotifyEvent read FOnDeactivate write FOnDeactivate;

    Именно их мы рекомендуем использовать для указания текущего экрана в Firebase Analytics.

    Например, код по отображению главной формы может выглядеть так:

    procedure TFormMain.fgFormActivate(Sender: TObject);
    begin
      Shared.fbAnalytics.SetCurrentScreen('Main form', ClassName);
    end;

    Первым параметром указывание название экрана, вторым - класс. 

    Общие настройки

    Помимо главной задачи отправления статистики в Firebase Analyitcs, вы можете выполнять базовые настройки компонента:

    /// <summary>
    ///   Удаляет все аналитические данные для этого приложения с устройства и сбрасывает идентификатор экземпляра приложения.
    /// </summary>
    procedure ResetAnalyticsData;
    
    /// <summary>
    ///   Включен ли сбор аналитики для этого приложения на данном устройстве. Этот параметр сохраняется во всех сеансах
    ///   приложения. По умолчанию он включен.
    /// </summary>
    property Enabled: Boolean read FEnabled write SetEnabled default DefaultEnabled;
    
    /// <summary>Уникальный идентификатор текущего пользователя.</summary>
    property UserId: string read FUserId write SetUserId;
    
    /// <summary>Задает продолжительность бездействия, которая завершает текущий сеанс.</summary>
    property SessionTimeoutDuration: Integer read FSessionTimeoutDuration write SetSessionTimeoutDuration default DefaultSessionTimeoutDuration;

    С остальными подробности использования вы можете ознакомиться в официальной документации Firebase:  https://firebase.google.com/docs/analytics?authuser=0

    Спасибо

    2 Comments

    Recommended Comments

    r3h0soft

    Members

    (edited)

    Здравствуйте, сделал все как в описании, но вот проблема, нет такой библиотеки в репозитории

    com.google.firebase:firebase-analytics:21.2.0

    На скриншоте те что из доступных

    Screenshot_12.png

    Edited by r3h0soft

    • Administrators

    Добрый вечер,

    7 минут назад, r3h0soft сказал:

    Здравствуйте, сделал все как в описании, но вот проблема, нет такой библиотеки в репозитории

    Просто введите название библиотеки вручную в первое поле "com.google.firebase:firebase-analytics:21.2.0". Поиск сделан только для одного репозитория из двух (maven). Для Google репозитория апи поиска не доступно.

    Recently Browsing 0

    • No registered users viewing this page.

    Account

    Navigation

    Search

    Configure browser push notifications

    Chrome (Android)
    1. Tap the lock icon next to the address bar.
    2. Tap Permissions → Notifications.
    3. Adjust your preference.
    Chrome (Desktop)
    1. Click the padlock icon in the address bar.
    2. Select Site settings.
    3. Find Notifications and adjust your preference.