Справочник методов
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
метод.
См. также
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.