Справочник методов

AppMetrica является потокобезопасной библиотекой. Поэтому любой из данных методов может быть вызван на произвольном потоке. Однако инициализацию библиотеки рекомендуется производить при запуске приложения в методе onCreate.

Внимание. Не передавайте личную или конфиденциальную информацию о пользователях в пользовательском событии.

Также вы можете использовать справочник методов в виде Javadoc. JAR-файл справочника доступен в maven-репозитории.

Методы класса com.yandex.metrica.YandexMetricaМетоды позволяют настроить работу библиотеки.
Метод Тип Описание
static activate(Context context, YandexMetricaConfig config) void Позволяет инициализировать библиотеку в приложении с расширенной стартовой конфигурацией
static resumeSession(Activity activity) void

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

Примечание. Длительность сессии зависит от заданного тайм-аута. Если интервал между приостановкой и возобновлением сессии меньше заданного времени таймаута, то текущая сессия будет возобновлена, если больше — будет создана новая.
static pauseSession(Activity activity) void

Приостанавливает сессию. Вызывается в реализации метода onPause() Activity вашего приложения. Используйте после инициализации библиотеки в приложении

Примечание. Длительность сессии зависит от заданного тайм-аута. Если интервал между приостановкой и возобновлением сессии меньше заданного времени таймаута, то текущая сессия будет возобновлена, если больше — будет создана новая.
static enableActivityAutoTracking(final Application application) void Включает автоматическое отслеживание жизненного цикла приложения. Поддерживает версию Android 4.0 и выше. Является альтернативой методов resumeSession(Activity activity) и pauseSession(Activity activity). Данный метод необходимо вызвать сразу после инициализации библиотеки AppMetrica до открытия первого экрана приложения

static reportEvent(String eventName)

void Отправляет сообщение о событии

static reportEvent(String eventName, String jsonValue)

void Отправляет сообщение о событии в формате JSON в виде строки

static reportEvent(String eventName, Map<String, Object> attributes)

void Отправляет сообщение о событии в виде набора атрибутов (Map)

static reportError(String message, Throwable error)

void Позволяет отправлять ваше сообщение об ошибке
static reportUnhandledException(Throwable exception) void Позволяет вручную отправлять отчеты об аварийных остановках приложения
static reportNativeCrash(String nativeCrash) void

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

static reportAppOpen(String deeplink)

void Позволяет зарегистрировать открытие приложения с помощью deeplink в виде строки
static reportAppOpen(Activity activity) void Позволяет зарегистрировать открытие приложения с помощью deeplink

static reportReferralUrl(String referralUrl)

void Задает referral URL установки приложения. Метод может быть использован для отслеживания некоторых источников трафика.
static setLocation(Location location) void

Позволяет использовать собственные данные о местоположении устройства

static setLocationTracking(boolean enabled) void

Позволяет разрешить или запретить библиотеке отправлять данные о местоположении устройства в отчетах

static getReporter(Context context, String apiKey) IReporter Возвращает объект, позволяющий отправлять события, используя API key, отличный от основного API key приложения. Используйте методы интерфейса IReporter
static getLibraryVersion() String Позволяет определить версию библиотеки
static getLibraryApiLevel() int Позволяет определить уровень API библиотеки
static registerReferrerBroadcastReceivers (BroadcastReceiver... anotherReferrerReceivers) void Позволяет зарегистрировать в AppMetrica произвольное число BroadcastReceiver для трекинга INSTALL_REFERRER от GooglePlay при использовании других систем трекинга

static requestDeferredDeeplinkParameters(DeferredDeeplinkParametersListener listener)

void Позволяет запросить параметры отложенного deeplink
static activateReporter(Context context, YandexMetricaConfig config) void Активирует репортер с указанной конфигурацией. Репортер должен быть активирован с конфигурацией, которая содержит API key, отличный от API key приложения.
Примечание. Активация репортера должна происходить до вызова метода getReporter()
static setUserProfileID(String profileID) void Устанавливает ID для пользовательского профиля.
static reportUserProfile(UserProfile profile) void Передает информацию об обновлении пользовательского профиля на сервер AppMetrica.
static reportRevenue(Revenue revenue) void Передает информацию о покупке на сервер AppMetrica.
Методы класса com.yandex.metrica.YandexMetricaConfig

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

Метод Тип Описание
static newConfigBuilder(String apiKey) Builder Создает объект com.yandex.metrica.YandexMetricaConfig.Builder — конструктор расширенной конфигурации библиотеки AppMetrica
Поля класса com.yandex.metrica.YandexMetricaConfig
Поле Тип Описание
apiKey String API-ключ приложения.
appVersion String Версия приложения.
sessionTimeout Integer Тайм-аут сессии.
crashReporting Boolean Отслеживание аварийных остановок приложений.
nativeCrashReporting Boolean Отслеживание нативных аварийных остановок приложений.
location Location Задаваемые пользователем данные о местоположении устройства.
locationTracking Boolean Отправка данных о локации.
installedAppCollecting Boolean Отправка сведений об установленных приложениях.
logs Boolean Вывод логов библиотекой.
preloadInfo PreloadInfo Сведения для отслеживания предустановленных приложений.
firstActivationAsUpdate Boolean Первый запуск приложения с AppMetrica SDK следует трактовать как первый запуск обновленной версии приложения, а не как установку.
Методы конструктора com.yandex.metrica.YandexMetricaConfig.Builder
Конструктор создает объект класса com.yandex.metrica.YandexMetricaConfig.
Метод Тип Описание
withAppVersion(String appVersion) Builder Позволяет задать в расширенной конфигурации библиотеки версию приложения
withSessionTimeout(int sessionTimeout) Builder Позволяет задать в расширенной конфигурации библиотеки тайм-аут сессии приложения
withCrashReporting(boolean enabled) Builder Позволяет включить/отключить в расширенной конфигурации библиотеки отправку сведений об аварийных остановках приложения
withNativeCrashReporting(boolean enabled) Builder Позволяет включить/отключить в расширенной конфигурации библиотеки отправку сведений о нативных аварийных остановках приложения
withLogs() Builder Позволяет включить в расширенной конфигурации библиотеки логирование работы библиотеки
withLocation(Location location) Builder Позволяет использовать в расширенной конфигурации библиотеки сведения о местоположении пользователя
withLocationTracking(boolean enabled) Builder Позволяет разрешить/запретить в расширенной конфигурации библиотеки отправку с отчетами сведений о местоположении пользователя
withInstalledAppCollecting(boolean enabled) Builder Позволяет разрешить/запретить в расширенной конфигурации библиотеки отправку сведений об установленных на устройстве пользователя приложениях
withPreloadInfo(PreloadInfo preloadInfo) Builder Позволяет задать в расширенной конфигурации библиотеки сведения для отслеживания предустановленных приложений
handleFirstActivationAsUpdate(boolean value) Builder Позволяет сообщить о том, что первый запуск приложения с AppMetrica SDK следует трактовать как первый запуск обновленной версии приложения, а не как его установку.
Внимание. После активации параметра все последующие установки приложения будут определены AppMetrica как обновления приложения. Данные установки не будут отображены в отчетах как установки а также не будут атрибутированы партнерам.
build() YandexMetricaConfig Создает объект расширенной конфигурации com.yandex.metrica.YandexMetricaConfig
Методы класса com.yandex.metrica.PreloadInfo

Класс содержит информацию для отслеживания предустановленных приложений.

Метод Тип Описание
static newBuilder(String trackingId) Builder Создает объект com.yandex.metrica.PreloadInfo.Builder — конструктор информации для отслеживания предустановленных приложений
getTrackingId() String Возвращает tracking ID, который используется для отслеживания предустановленных приложений
getAdditionalParams() Map<String, String> Возвращает таблицу «ключ-значение» дополнительных параметров, которые используются для отслеживания предустановленных приложений
Методы конструктора com.yandex.metrica.PreloadInfo.Builder

Конструктор создает объект класса com.yandex.metrica.PreloadInfo.

Метод Тип Описание
setAdditionalParams(String key, String value) Builder Задает дополнительные значения в виде пар «ключ-значения» для отслеживания предустановленных приложений. Метод может быть вызван многократно для задания нескольких пар дополнительных сведений
build() PreloadInfo Создает объект com.yandex.metrica.PreloadInfo
Методы интерфейса IReporterИнтерфейс используется для отправки статистики с использованием API key, отличного от API key приложения.
Метод Тип Описание
reportUnhandledException(Throwable exception) void Позволяет вручную отправлять отчеты об аварийных остановках приложения

reportEvent(String eventName)

void Позволяет отправить сообщение о событии

reportEvent(String eventName, String jsonValue)

void

Позволяет отправить сообщение о событии в формате JSON в виде строки. Для отправки сообщения передайте в данный метод краткое имя и описание события.

Доступно 5 уровней вложенности JSON-объекта

reportEvent(String eventName, Map<String, Object> attributes)

void Отправляет сообщение о событии в виде набора атрибутов (Map). Для отправки сообщения передайте в данный метод краткое имя и описание события

reportError(String message, Throwable error)

void Позволяет отправлять ваше сообщение об ошибке. Для отправки передайте в метод ваше описание ошибки (message) и класс ошибки (error)
setSessionTimeout(int sessionTimeoutSeconds) void

Позволяет задать длительность тайм-аута сессии (в секундах).

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

Минимально допустимое значение параметра sessionTimeoutSeconds составляет 10 секунд. При задании значения меньше 10, значение автоматически будет соответствовать 10 секундам

resumeSession() void Сообщает о начале сессии вашего приложения или библиотеки. Подробно
pauseSession() void Сообщает о возможном завершении сессии вашего приложения или библиотеки. Подробно
setUserProfileID(String profileID) void Устанавливает ID для пользовательского профиля.
reportUserProfile(UserProfile profile) void Передает информацию об обновлении пользовательского профиля на сервер AppMetrica.
reportRevenue(Revenue revenue) void Передает информацию о покупке на сервер AppMetrica.
Методы интерфейса DeferredDeeplinkParametersListener

public interface DeferredDeeplinkParametersListener

Интерфейс определяет callback-методы при запросе параметров отложенного deeplink requestDeferredDeeplinkParameters(DeferredDeeplinkParametersListener listener).

Метод Тип Описание
Перечисление Error

enum DeferredDeeplinkParametersListener.Error

Содержит возможные значения ошибок для метода DeferredDeeplinkParametersListener.onError(Error error, String referrer).

Поле / Метод Тип Описание
NOT_A_FIRST_LAUNCH - Параметры отложенного deeplink не могут быть получены, так как запрос параметров отложенных deeplink возможен только при первом запуске.
PARSE_ERROR - Отложенный deeplink не содержит валидных параметров.
getDescription() String Возвращает описание ошибки.

Пользовательские профили

Методы класса com.yandex.metrica.profile.UserProfileКласс для хранения профиля пользователя. Профиль пользователя — это набор пользовательских атрибутов. Сведения о профиле пользователя отображаются в отчете о профилях пользователей AppMetrica. Объект UserProfile должен быть передан на сервер AppMetrica с помощью метода reportUserProfile класса YandexMetrica. Используйте методы класса Attribute для создания атрибутов. Профили пользователей хранятся на сервере AppMetrica.
Метод Тип Описание
static newBuilder() Builder Создает объект com.yandex.metrica.profile.UserProfile.Builder.
Методы класса com.yandex.metrica.profile.UserProfile.Builder
Метод Тип Описание
apply(UserProfileUpdate<? extends UserProfileUpdatePatcher> userProfileUpdate) Builder Применяет обновление пользовательского профиля.
Примечание. Экземпляр класса UserProfileUpdate содержит обновление профиля.
build() UserProfile Создает объект com.yandex.metrica.profile.UserProfile.
Методы класса com.yandex.metrica.profile.AttributeАтрибут — это свойство пользовательского профиля. Вы можете использовать предопределенные (имя, пол, и т. д.) или создать свои пользовательские атрибуты. AppMetrica позволяет создать до 100 пользовательских атрибутов.
Метод Тип Описание
static birthDate() BirthDateAttribute Создает предопределенный атрибут для даты рождения/возраста.
static gender() GenderAttribute Создает предопределенный атрибут для пола.
static name() NameAttribute Создает предопределенный атрибут для имени.
static notificationsEnabled() NotificationsEnabledAttribute Создает предопределенный атрибут для статуса уведомлений.
static customBoolean(String key) BooleanAttribute Создает пользовательский атрибут с типом bool. Имя атрибута может содержать до 200 символов.
static customCounter(java.lang.String key) CounterAttribute Создает пользовательский атрибут для создания счетчика. Имя атрибута может содержать до 200 символов.
static customNumber(String key) NumberAttribute Создает пользовательский атрибут с типом double. Имя атрибута может содержать до 200 символов.
static customString(String key) StringAttribute Создает пользовательский атрибут с типом string. Имя атрибута может содержать до 200 символов.

Предопределенные атрибуты

Методы класса com.yandex.metrica.profile.NameAttributeМетоды позволяют задать имя для пользовательского профиля. Максимальная длина имени — 100 символов.
Метод Тип Описание
withValue(String value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withValueIfUndefined(String value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.
Методы класс com.yandex.metrica.profile.GenderAttributeМетоды позволяют задать пол для пользовательского профиля.
Метод Тип Описание
withValue(GenderAttribute.Gender value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута, используя указанное значение из перечисления GenderAttribute.Gender.
withValueIfUndefined(GenderAttribute.Gender value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.

GenderAttribute.Gender содержит три элемента:

  • MALE("M") — мужской пол.
  • FEMALE("F") — женский пол.
  • OTHER("O") — другое (например, недостаточно информации для определении пола).
    Примечание. Вы можете установить OTHER в качестве значения атрибута и передать дополнительную информацию с помощью пользовательских атрибутов.
Методы класса com.yandex.metrica.profile.BirthDateAttributeМетоды позволяют задать дату рождения или возраст для пользовательского профиля.
Метод Тип Описание
withAge(int age) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withAgeIfUndefined(int age) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withBirthDate(Calendar date) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withBirthDate(int year) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withBirthDate(int year, int month) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withBirthDate(int year, int month, int dayOfMonth) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withBirthDateIfUndefined(Calendar date) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withBirthDateIfUndefined(int year) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withBirthDateIfUndefined(int year, int month) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withBirthDateIfUndefined(int year, int month, int dayOfMonth) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.
Методы класса com.yandex.metrica.profile.NotificationsEnabledAttributeМетоды позволяют задать статус уведомлений для пользовательского профиля. Статус указывает, разрешил ли пользователь приложению получать уведомления.
Метод Тип Описание
withValue(boolean value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withValueIfUndefined(boolean value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.

Пользовательские атрибуты

Методы класса com.yandex.metrica.profile.StringAttributeМетоды позволяют задать пользовательские атрибуты с типом string для пользовательского профиля. Максимальная длина значения — 200 символов.
Метод Тип Описание
withValue(String value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута
withValueIfUndefined(String value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.
Методы класса com.yandex.metrica.profile.NumberAttributeМетоды позволяют задать пользовательские атрибуты с типом double для пользовательского профиля.
Метод Тип Описание
withValue(double value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withValueIfUndefined(double value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.
Методы класса com.yandex.metrica.profile.CounterAttributeМетоды позволяют задать пользовательские атрибуты для создания счетчика.
Метод Тип Описание
withDelta(double value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута, изменяя его на указанную дельту.
Методы класса com.yandex.metrica.profile.BooleanAttributeМетоды позволяют задать пользовательские атрибуты с типом boolean для пользовательского профиля.
Метод Тип Описание
withValue(boolean value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута.
withValueIfUndefined(boolean value) UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Обновляет значение атрибута если оно не было установлено ранее.
Примечание. Метод не влияет на значение, если оно было установлено ранее.
withValueReset() UserProfileUpdate<? extends com.yandex.metrica.impl.profile.UserProfileUpdatePatcher> Сбрасывает значение атрибута.

Информация о покупках

Методы класса com.yandex.metrica.Revenue
Метод Тип Описание
static newBuilder(double price, Currency currency) Revenue.Builder Создает объект класса Revenue.Builder для передачи информации о покупках.
Поля класса Revenue
Поле Тип Описание
price double Стоимость. Может быть отрицательной (например, для возврата).

Пример: 0.99

quantity Integer Количество покупок (купленных товаров).

Используется в формуле расчета выручки:

Выручка = количество * стоимость
Примечание. Значение должно быть больше 0. Если значение меньше 0 — покупка игнорируется.
currency Currency Код валюты покупки.
productID String Идентификатор покупки. Может содержать до 200 символов.
receipt Revenue.Receipt Информация о покупке внутри приложения из Google Play.
payload String Дополнительная информация о покупке. Например, можно использовать для категоризации ваших продуктов.

Строка должна содержать валидный JSON. Максимальный размер значения — 30 КБ.

Методы класса com.yandex.metrica.Revenue.Builder
Метод Тип Описание
build() Revenue Создает экземпляр класса Revenue.
withPayload(String payload) Revenue.Builder Устанавливает дополнительную информацию о покупке.
withProductID(String productID) Revenue.Builder Устанавливает идентификатор покупки.
withQuantity(Integer quantity) Revenue.Builder Устанавливает количество покупок.
withReceipt(Revenue.Receipt receipt) Revenue.Builder Устанавливает информацию о покупке из Google Play.
Методы класса com.yandex.metrica.Revenue.Receipt
Метод Тип Описание
static newBuilder() Revenue.Receipt.Builder Создает экземпляр класса Revenue.Receipt.Builder.
Поля класса com.yandex.metrica.Revenue.Receipt
Поле Тип Описание
data String Информация о покупке из Google Play. Поле заполняется данными, полученными из INAPP_PURCHASE_DATA.
signature String Подпись, подтверждающая покупку в Google Play. Поле заполняется данными, полученными из INAPP_DATA_SIGNATURE.
Методы класса com.yandex.metrica.Revenue.Receipt.Builder
Метод Тип Описание
build() Revenue.Receipt Создает экземпляр класса Revenue.Receipt.
withData(String data) Revenue.Receipt.Builder Устанавливает информацию о покупке внутри приложения, полученную из Google Play.
withSignature(String signature) Revenue.Receipt.Builder Устанавливает подпись, подтверждающую покупку в Google Play.