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

Types

// Содержит расширенную конфигурацию запуска библиотеки.
export type AppMetricaConfig = {
  apiKey: string,
  appVersion?: string,
  crashReporting?: boolean,
  firstActivationAsUpdate?: boolean,
  location: Location,
  locationTracking?: boolean,
  logs?: boolean,
  sessionTimeout?: number,
  statisticsSending?: boolean,
  preloadInfo?: PreloadInfo,
  appOpenTrackingEnabled?: boolean,
  maxReportsInDatabaseCount?: number,
  // Android only.
  nativeCrashReporting?: boolean,
  // iOS only.
  activationAsSessionStart?: boolean,
  sessionsAutoTracking?: boolean,
  userProfileID?: string,
}

// Тип содержит информацию для трекинга предустановленных приложений.
export type PreloadInfo = {
  trackingId: string,
  additionalInfo?: Record<string, string>,
}

// Тип содержит информацию о местоположении устройства.
export type Location = {
  latitude: number,
  longitude: number,
  altitude?: number,
  accuracy?: number,
  course?: number,
  speed?: number,
  timestamp?: number,
}

// Содержит возможные ошибки метода requestStartupParams().
export type StartupParamsReason = 'UNKNOWN' | 'NETWORK' | 'INVALID_RESPONSE';

// Содержит идентификаторы, получаемые методом requestStartupParams().
export type StartupParams = {
  deviceIdHash?: string,
  deviceId?: string,
  uuid?: string,
}

// Callback, который передается в метод requestStartupParams().
type StartupParamsCallback = (
  params?: StartupParams,
  reason?: StartupParamsReason
) => void

// Тип содержит информацию об экране, на котором происходит ecommerce событие.
export type ECommerceScreen = {
  name: string,
  searchQuery?: string,
  payload?: Map<string, string>,
  categoriesPath?: Array<string>,
}

// Содержит информацию о валюте и стоимости.
export type ECommerceAmount = {
  amount: number | string,
  unit: string,
}

// Содержит информацию о цене.
export type ECommercePrice = {
  amount: ECommerceAmount,
  internalComponents?: Array<ECommerceAmount>,
}

// Содержит информацию об отдельном товаре.
export type ECommerceProduct = {
  sku: string,
  name?: string,
  actualPrice?: ECommercePrice,
  originalPrice?: ECommercePrice,
  promocodes?: Array<string>,
  categoriesPath?: Array<string>,
  payload?: Map<string, string>,
}

// Содержит информацию об источнике, который привел к товару.
export type ECommerceReferrer = {
  type?: string,
  identifier?: string,
  screen?: ECommerceScreen,
}

// Содержит информацию о позиции в корзине, о количестве товара и его стоимости.
export type ECommerceCartItem = {
  product: ECommerceProduct,
  price: ECommercePrice,
  quantity: number | string,
  referrer?: ECommerceReferrer,
}

// Содержит информацию о заказе.
export type ECommerceOrder = {
  orderId: string,
  products: Array<ECommerceCartItem>,
  payload?: Map<string, string>,
}

// Тип для отправки in-app покупок из приложения. Содержит информацию о доходе.
export type Revenue = {
  price: number,
  currency: string,
  productID?: string,
  quantity?: number,
  payload?: string,
  receipt?: Receipt,
}

// Используется для валидации in-app покупок.
export type Receipt = {
  transactionID?: string,
  receiptData?: string,
  signature?: string,
}

// Содержит информацию о доходе с рекламы.
export type AdRevenue = {
  price: number | string,
  currency: string,
  payload?: Map<string, string>,
  adNetwork?: string,
  adPlacementID?: string,
  adPlacementName?: string,
  adType?: AdType,
  adUnitID?: string,
  adUnitName?: string,
  precision?: string,
}

// Содержит возможные значения для GenderAttribute
export type UserProfileGender = 'male' | 'female' | 'other';

Enums

// Содержит возможные типы рекламы для отправки AdRevenue.
export enum AdType {
  NATIVE,
  BANNER,
  MREC,
  INTERSTITIAL,
  REWARDED,
  OTHER,
}

Classes

AppMetrica

Основной класс для использования библиотеки.

// Инициализирует библиотеку с расширенной конфигурацией.
activate(config: AppMetricaConfig)

// Возвращает текущую версию библиотеки.
async getLibraryVersion(): string

// Сообщает о паузе текущей сессии.
pauseSession()

// Отправляет информацию о том, что приложение открыто диплинком.
reportAppOpen(deeplink?: string = null)

// Отправляет кастомное событие.
reportEvent(eventName: string, attributes?: Record<string, any>)

// Метод для передачи ошибок.
reportError(identifier: string, message: string)

// Запрашивает различные идентификаторы AppMetrica SDK.
requestStartupParams(listener: StartupParamsCallback, identifiers: Array<string>)

// Сообщает о продолжении сессии или о старте новой, если таймаут сессии прошел.
resumeSession()

// Отправляет события, накопленные в буфере.
sendEventsBuffer()

// Передает местоположение устройства.
setLocation(location?: Location)

// Включает/выключает сбор данных о местоположении устройств.
setLocationTracking(enabled: boolean)

// Включает/выключает отправку данных в AppMetrica.
setDataSendingEnabled(enabled: boolean)

// Присваивает идентификатор профиля.
setUserProfileID(userProfileID?: string)

// Метод только для Android. Возвращает уровень API библиотеки.
async getLibraryApiLevel(): number

// Метод для отправки ecommerce событий.
reportECommerce(event: ECommerceEvent)

// Метод для отправки in-app покупок.
reportRevenue(revenue: Revenue)

// Метод для отправки AdRevenue.
reportAdRevenue(adRevenue: AdRevenue)

// Метод для отправки профиля пользователя.
reportUserProfile(userProfile: UserProfile)

E-commerce

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

Подробнее про отправку E-commerce-событий в разделе E-commerce.

// Возвращает ECommerceEvent для отправки события "просмотр карточки товара".
showProductCardEvent(product: ECommerceProduct, screen: ECommerceScreen): ECommerceEvent

// Возвращает ECommerceEvent для отправки события "просмотр страницы товара".
showProductDetailsEvent(product: ECommerceProduct, referrer?: ECommerceReferrer): ECommerceEvent

// Возвращает ECommerceEvent для отправки события "добавление товара в корзину".
addCartItemEvent(item: ECommerceCartItem): ECommerceEvent

// Возвращает ECommerceEvent для отправки события "удаление товара из корзины".
removeCartItemEvent(item: ECommerceCartItem): ECommerceEvent

// Возвращает ECommerceEvent для отправки события "начало оформления покупки".
beginCheckoutEvent(order: ECommerceOrder): ECommerceEvent

// Возвращает ECommerceEvent для отправки события "завершение покупки".
purchaseEvent(order: ECommerceOrder): ECommerceEvent

Подробнее о методах и интеграции AppMetrica в приложение смотрите в разделах документации для Android и iOS.

UserProfile

Класс для хранения профиля пользователя. Подробнее.

// Применяет к UserProfile атрибут пользователя
apply(attribute: UserProfileUpdate): UserProfile

Attributes

Класс для созданиz атрибутов профиля. Подробнее.

// Создает предопределенный атрибут для даты рождения/возраста.
birthDate(): BirthDateAttribute

// Создает предопределенный атрибут для пола.
gender(): GenderAttribute

// Создает предопределенный атрибут для имени.
userName(): NameAttribute

// Создает предопределенный атрибут для статуса уведомлений.
notificationsEnabled(): NotificationsEnabledAttribute

// Создает собственный атрибут типа bool.
customBoolean(key: string): BooleanAttribute

// Создает собственный атрибут типа счетчик.
customCounter(key: string): CounterAttribute

// Создает собственный атрибут типа number.
customNumber(key: string): NumberAttribute

// Создает собственный атрибут типа string.
customString(key: string): StringAttribute

BirthDateAttribute

Класс для обновления возраста или даты рождения пользовательского профиля.

// Обновляет значение атрибута.
withAge(age: number): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withAgeIfUndefined(age: number): UserProfileUpdate

// Обновляет значение атрибута.
withYear(year: number): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withYearIfUndefined(year: number): UserProfileUpdate

// Обновляет значение атрибута.
withMonth(year: number, month: number): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withMonthIfUndefined(year: number, month: number): UserProfileUpdate

// Обновляет значение атрибута.
withDay(year: number, month: number, day: number): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withDayIfUndefined(year: number, month: number, day: number): UserProfileUpdate

// Обновляет значение атрибута.
withDate(date: Date): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withDateIfUndefined(date: Date): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

BooleanAttribute

Класс для обновления значения логического атрибута.

// Обновляет значение атрибута.
withValue(value: boolean): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withValueIfUndefined(value: boolean): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

CounterAttribute

Класс для обновления значения атрибута типа счетчик.

// Обновляет значение атрибута.
withDelta(delta: number): UserProfileUpdate

GenderAttribute

Класс для обновления пола пользовательского профиля.

// Обновляет значение атрибута.
withValue(gender: UserProfileGender): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withValueIfUndefined(gender: UserProfileGender): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

NameAttribute

Класс для обновления имени пользовательского профиля.

// Обновляет значение атрибута.
withValue(value: string): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withValueIfUndefined(value: string): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

NotificationsEnabledAttribute

Класс для обновления статуса уведомлений пользовательского профиля.

// Обновляет значение атрибута.
withValue(value: boolean): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withValueIfUndefined(value: boolean): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

NumberAttribute

Класс для обновления значения числового атрибута.

// Обновляет значение атрибута.
withValue(value: number): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withValueIfUndefined(value: number): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

StringAttribute

Класс для обновления значения строкового атрибута.

// Обновляет значение атрибута.
withValue(value: string): UserProfileUpdate

// Обновляет значение атрибута, если оно не было установлено ранее.
withValueIfUndefined(value: string): UserProfileUpdate

// Сбрасывает значение атрибута.
withValueReset(): UserProfileUpdate

Interfaces

UserProfileUpdate

Содержит информацию об изменении атрибута пользователя.

Создаётся с помощью методов класса Attributes и передаётся в UserProfile.apply метод.

См. также

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

Написать в службу поддержки