问题描述
我需要向我的 Android 应用添加一些跟踪事件。我正在使用 GTM 并通过带有 FirebaseAnalyitcs.getInstance(Context).logEvent()
的 firebase 发送事件。为了在下面更容易,将要发送的事件称为 app_open 和 open_campaign。
app_open 每次应用进入前台时都需要调用,但如果深层链接 url 包含广告系列参数,则不需要调用。然后必须跟踪open_campaign。据我了解,这背后的原因是,当跟踪 app_open 时,会在 firebase(GTM) 中创建一个新会话,然后 open_campaign 将再次被跟踪,创建第二个会话,因此我们有一个持续时间少于 1 秒的“无用”会话。
我现在的问题是如何以一种简单而友好的方式防止这种双重跟踪?
当前跟踪 app_open 的方法是使用 LifecycleObserver
并将其添加到应用程序类中的 ProcessLifecycleOwner
。
class ApplicationLifecycleObserver : LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun onBackground() {
//nothing to do
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onForeground() {
trackAppopen()
}
}
// in application class
override fun onCreate() {
...
ProcessLifecycleOwner.get().lifecycle.addobserver(ApplicationLifecycleObserver())
...
}
但在这里,我对深层链接或广告系列一无所知。那么如何防止 app_open 事件在广告系列深层链接的情况下被跟踪?
我想我不是第一个遇到这个问题的人 :) 所以也许你们中的一些人可以为我指出如何正确实施这些跟踪事件的正确方向。 :)
谢谢,
彼得
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)