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

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

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

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

  1. Установка длительности тайм-аута сессии
  2. Отслеживание жизненного цикла приложения
  3. Работа с дополнительным API key

Установка длительности тайм-аута сессии

По умолчанию длительность тайм-аута сессии равна 10 секундам. Это минимально допустимое значение параметра sessionTimeout.

Чтобы изменить длительность тайм-аута, передайте значение в секундах в метод withSessionTimeout(int sessionTimeout) при создании расширенной конфигурации библиотеки.

// Creating an extended library configuration.
YandexMetricaConfig config = YandexMetricaConfig.newConfigBuilder(API_key)
        // Setting the length of the session timeout.
        .withSessionTimeout(15)
        .build();
// Initializing the AppMetrica SDK.
YandexMetrica.activate(getApplicationContext(), config);
Скопировано

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

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

public void YourApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        // Initializing the AppMetrica SDK.
        ...
        // Automatic tracking user activity.
        YandexMetrica.enableActivityAutoTracking(this);
        ...
    }
}
Скопировано
Примечание. Автоматическое отслеживание активности работает только для главного API key. При отправке статистики на дополнительный API key используйте методы интерфейса IReporter.

Если заданная в приложении минимальная версия Android ниже 4.0, используйте следующие методы: YandexMetrica.resumeSession(activity) и YandexMetrica.pauseSession(activity) в соответствующих методах ваших Activity: onResume() и onPause(). При использовании этих методов необходимо отслеживать, чтобы активная сессия всегда завершалась вызовом метода YandexMetrica.pauseSession(activity). Если метод не вызван, библиотека считает сессию активной и совершает регулярный обмен данными с серверной частью AppMetrica. Это может привести к некорректному отслеживанию длительности сессии и повышению энергопотребления.

Пример:

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

      @Override
      protected void onPause() {
          YandexMetrica.pauseSession(this);
          super.onPause();
      }
      ...
}
Скопировано

Работа с дополнительным API key

С помощью отправки данных на дополнительный API key можно управлять доступом к статистике. Для передачи событий используйте репортеры. Подробнее см. в разделе Примеры использования методов.

Для корректного отслеживания сессий взаимодействия пользователя с приложением настройте отправку событий о начале и приостановке сессии для каждого репортера. Для этого используйте методы resumeSession() и pauseSession() интерфейса IReporter в реализации onResume() и onPause() ваших Activity:
public class YourActivity extends Activity {
    ...
    @Override
    protected void onResume() {
        super.onResume();
        YandexMetrica.getReporter(getApplicationContext(), API_key).resumeSession();
    }

    @Override
    protected void onPause() {
        YandexMetrica.getReporter(getApplicationContext(), API_key).pauseSession();
        super.onPause();
    }
    ...
}
Скопировано

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

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

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