ILRD

ILRD (Impression Level revenue data) — функционал для отслеживания и сбора данных из рекламы.

Родительский класс

Метод

InterstitialAdEventListener

onAdImpression

NativeAdEventListener

onImpression

RewardedAdEventListener

onAdImpression

BannerAdEventListener

onImpression

У каждого из этих методов есть параметр ImpressionData, который имеет единственный метод getRawData, возвращающий JSON string с ILRD (см. таблицу ниже).

Примечание

onImpression / onAdImpression срабатывает только после того, как рекламный показ был засчитан.

data class ImpressionDataModel(
    val ad_unit_id: String,
    val adType: String,
    val currency: String,
    val revenue: String,
    val revenueUSD: String,
    val precision: String,
    val network: NetworkData
)

data class NetworkData(
    val name: String,
    val ad_unit_id: String
)


class ExampleNativeAdEventListener : NativeAdEventListener {
    // ...
    override fun onImpression(data: ImpressionData?) {
        val impressionData = data?.rawData?.let {
            try {
                Gson().fromJson(it, ImpressionDataModel::class.java)
            } catch (_: Throwable) {
                null
            }
        } ?: return

        // Теперь можно получить доступ к полям распарсенного объекта
        val adUnitId = impressionData.ad_unit_id
        val adType = impressionData.adType
        val currency = impressionData.currency
        val revenue = impressionData.revenue
        val revenueUSD = impressionData.revenueUSD
        val precision = impressionData.precision
        val networkName = impressionData.network.name
        val networkAdUnitId = impressionData.network.ad_unit_id

        // Вы можете использовать эти данные по своему усмотрению, например, вывести их в лог
        println("Ad Unit ID: $adUnitId")
        println("Ad Type: $adType")
        println("Currency: $currency")
        println("Revenue: $revenue")
        println("Revenue USD: $revenueUSD")
        println("Precision: $precision")
        println("Network Name: $networkName")
        println("Network Ad Unit ID: $networkAdUnitId")
    }
}

Доступные данные

Парсинг rawData позволит получить следующие данные:

Ключ

Тип

Описание

ad_unit_id

string

Уникальный идентификатор ad unit ID.

adType

string

Тип рекламного объявления:

  • баннер (inline/sticky);

  • межстраничная реклама;

  • нативная реклама;

  • реклама с вознаграждением;

  • реклама при открытии приложения.

currency

string

Валюта рекламной сети.

revenue

string

Доход за показ в валюте рекламной сети. Используется значение валюты из поля currency.

revenueUSD

string

Доход за показ, конвертированный в USD.

precision

string

Точность значения revenue. Допустимые значения:

  • publisher_defined — значение с учетом порога CPM из интерфейса медиации;

  • estimated — значение с учетом автостратегий.

network.name

string

Название рекламной сети, совершившей показ рекламы.

network.ad_unit_id

string

Уникальный идентификатор ad unit ID в рекламной сети, которая совершила показ.