Strumień eventów, metryki i snapshot
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 -> {}
}
}
}
}
ADict.ADS.AdEvents.addListener(object : AdEvents.Listener {
override fun onEvent(event: AdEvent) {
// Handle event
}
})
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()
| Event | Opis | Pola |
|---|---|---|
ProviderAttempt | Próba załadowania | zone, provider, format, adUnit |
FillSuccess | Reklama załadowana | zone, provider, format, adUnit |
FillFail | Błąd ładowania | zone, provider, format, adUnit, error |
Impression | Wyświetlenie | zone, provider, format, adUnit |
ViewableImpression | Viewable (≥50%, ≥1s) | zone, provider, format, thresholdPct, dwellMs |
Click | Kliknięcie | zone, provider, format, adUnit |
RotationStarted | Start rotacji | zone, providers, format |
RotationAdvanced | Zmiana providera | zone, fromProvider, toProvider |
RotationStopped | Stop rotacji | zone, reason, format |
FullscreenShowAttempt | Próba pokazania fullscreen | zone, provider, format, adUnit |
FullscreenShown | Fullscreen wyświetlony | zone, provider, format, adUnit |
FullscreenShowFail | Błąd fullscreen | zone, provider, format, error |
FullscreenDismissed | Fullscreen zamknięty | zone, provider, format, adUnit |
RewardEarned | Nagroda earned | zone, provider, adUnit, type, amount |
VideoStart | Start video | zone, provider, format, adUnit |
VideoQuartile | Kwartyl video | zone, provider, format, quartile |
VideoComplete | Koniec video | zone, provider, format, adUnit |
VideoMuteChanged | Zmiana mute | zone, provider, format, muted |
VideoPaused | Video paused | zone, provider, format, adUnit |
VideoResumed | Video resumed | zone, provider, format, adUnit |