Документация
Интеграция SDK

Отслеживание активности пользователей

Понятие сессии

Одна сессия для AppMetrica это некоторый период взаимодействия пользователя с вашим приложением.

В стандартном сценарии, если пользователь вернулся в ваше приложение через продолжительный промежуток времени после того, как приложение переключилось в фоновый режим (пользователь свернул приложение, открыл системные настройки), начнется новая сессия.

Отслеживание жизненного цикла приложения

Если для приложения минимальная версия Android задана 4.0 или выше, то библиотека AppMetrica может отслеживать жизненный цикл приложения в автоматическом режиме — после инициализации библиотеки вызовите метод enableActivityAutoTracking(final Application application):

public void YourApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        ...
        YandexMetrica.activate(...);
        YandexMetrica.enableActivityAutoTracking(this);
        ...
        }

}

Если заданная в приложении минимальная версия Android ниже 4.0, используйте следующие методы: YandexMetrica.onResumeActivity(activity) и YandexMetrica.onPauseActivity(activity) в соответствующих методах ваших Activity: onResume() и onPause().

Пример:

public class YourActivity extends Activity {
      ...
      @Override
      protected void onResume() {
          super.onResume();
          YandexMetrica.onResumeActivity(this);
      }

      @Override
      protected void onPause() {
          YandexMetrica.onPauseActivity(this);
          super.onPause();
      }
      ...
  }

Для работы с объектом интерфейса IReporter используйте методы onResumeSession() и onPauseSession():

public class YoutLibraryActivity extends Activity {
      ...
      @Override
      protected void onResume() {
          super.onResume();
          YandexMetrica.getReporter(API_key).onResumeSession();
      }

      @Override
      protected void onPause() {
          YandexMetrica.getReporter(API_key).onPauseSession();
          super.onPause();
      }
      ...
  }

Это поможет библиотеке правильно отслеживать:

  • количество активных пользователей,
  • продолжительность сессий,
  • частоту использования приложения.

Контроль продолжительности сессии

Чтобы задать промежуток времени, через который начнется новая сессия, после возвращения пользователя в приложение, используйте метод YandexMetrica.setSessionTimeout(seconds).

Для работы с объектом интерфейса IReporter используйте метод Yandex.Metrica.getReporter(this, API_key).setSessionTimeout(seconds).

Учет новых пользователей

Если вы подключаете AppMetrica SDK к приложению, у которого уже есть активные пользователи, вы можете настроить учет новых пользователей. Для настройки необходимо инициализировать AppMetrica SDK, используя расширенную конфигурацию YandexMetricaConfig:

public class MyApp extends Application {
      @Override
      public void onCreate() {
          super.onCreate();
          //Создание конструктора расширенной инициализации
          YandexMetricaConfig.Builder configBuilder = YandexMetricaConfig.newConfigBuilder(API_key);
          //Реализуйте логику определения того, является ли запуск приложения первым. В качестве критерия вы можете использовать проверку наличия каких-то файлов (настроек, баз данных и др.), которые приложение создает в свой первый запуск.
          boolean isFirstApplicationLaunch = false;
          if (!isFirstApplicationLaunch) {
          //Передайте значение true, если не хотите, чтобы данный пользователь засчитывался как новый
          configBuilder.handleFirstActivationAsUpdate
[no-highlight[

Тип

Builder

Описание

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

Внимание! После активации параметра все последующие установки приложения будут определены AppMetrica как обновления приложения. Данные установки не будут отображены в отчетах как установки а также не будут атрибутированы партнерам.

]no-highlight]
(true); } //Создание объекта расширенной конфигурации YandexMetricaConfig extendedConfig = configBuilder.build(); // Инициализация AppMetrica SDK YandexMetrica.activate(getApplicationContext(), extendedConfig); // Отслеживание активности пользователей YandexMetrica.enableActivityAutoTracking(this); } }

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