📡 Strumień eventów

Nasłuchiwanie eventów (Flow)
lifecycleScope.launch {
    repeatOnLifecycle(Lifecycle.State.STARTED) {
        ADict.ADS.AdEvents.stream.collect { event ->
            when (event) {
                is AdEvent.Impression -> log("impression", event)
                is AdEvent.Click -> log("click", event)
                is AdEvent.FillSuccess -> log("fill_success", event)
                is AdEvent.FillFail -> log("fill_fail", event)
                is AdEvent.RewardEarned -> log("reward", event)
                is AdEvent.RotationStarted -> log("rotation_start", event)
                is AdEvent.RotationStopped -> log("rotation_stop", event)
                else -> {}
            }
        }
    }
}
Java-friendly listener
ADict.ADS.AdEvents.addListener(object : AdEvents.Listener {
    override fun onEvent(event: AdEvent) {
        // Handle event
    }
})

📈 Snapshot metryk

Pobieranie metryk
val metrics = ADict.ADS.Telemetry.snapshot()
metrics.forEach { row ->
    Log.d("Metrics", """
        Zone: ${row.key.zone}
        Provider: ${row.key.provider}
        Format: ${row.key.format}
        ─────────────────────────
        Attempts: ${row.attempts}
        Success: ${row.success}
        Fails: ${row.fails}
        Fill Rate: ${(row.fillRate * 100).toInt()}%
        ─────────────────────────
        Impressions: ${row.impressions}
        Viewable: ${row.viewable}
        Viewable Rate: ${(row.viewableRate * 100).toInt()}%
        ─────────────────────────
        Clicks: ${row.clicks}
        CTR: ${(row.ctr * 100).toInt()}%
    """.trimIndent())
}

// Reset metryk
ADict.ADS.Telemetry.clear()

📋 Lista wszystkich eventów

EventOpisPola
ProviderAttemptPróba załadowaniazone, provider, format, adUnit
FillSuccessReklama załadowanazone, provider, format, adUnit
FillFailBłąd ładowaniazone, provider, format, adUnit, error
ImpressionWyświetleniezone, provider, format, adUnit
ViewableImpressionViewable (≥50%, ≥1s)zone, provider, format, thresholdPct, dwellMs
ClickKliknięciezone, provider, format, adUnit
RotationStartedStart rotacjizone, providers, format
RotationAdvancedZmiana providerazone, fromProvider, toProvider
RotationStoppedStop rotacjizone, reason, format
FullscreenShowAttemptPróba pokazania fullscreenzone, provider, format, adUnit
FullscreenShownFullscreen wyświetlonyzone, provider, format, adUnit
FullscreenShowFailBłąd fullscreenzone, provider, format, error
FullscreenDismissedFullscreen zamkniętyzone, provider, format, adUnit
RewardEarnedNagroda earnedzone, provider, adUnit, type, amount
VideoStartStart videozone, provider, format, adUnit
VideoQuartileKwartyl videozone, provider, format, quartile
VideoCompleteKoniec videozone, provider, format, adUnit
VideoMuteChangedZmiana mutezone, provider, format, muted
VideoPausedVideo pausedzone, provider, format, adUnit
VideoResumedVideo resumedzone, provider, format, adUnit