package com.xuqm.sdk.log object FunnelTracker { private val funnels = mutableMapOf>() private val progress = mutableMapOf>() fun define(id: String, steps: List) { funnels[id] = steps progress[id] = mutableListOf() } fun track(eventName: String, @Suppress("UNUSED_PARAMETER") properties: Map) { for ((id, steps) in funnels) { val done = progress[id] ?: continue val next = steps.getOrNull(done.size) ?: continue if (next == eventName) done.add(eventName) } } }