【问题标题】:Tealium - tracking in Kotlin doesn't report eventsTealium - Kotlin 中的跟踪不报告事件
【发布时间】:2021-05-17 12:44:06
【问题描述】:

根据 GitHub 示例项目和 Tealium 的 Kotlin 文档,我创建了这样的 TealiumHelper:

object TealiumHelper {
    fun init(application: Application) {
        val tealiumConfig = TealiumConfig(
            application,
            accountName = BuildConfig.TEALIUM_ACCOUNT_NAME,
            profileName = BuildConfig.TEALIUM_PROFILE_NAME,
            environment = BuildConfig.TEALIUM_ENVIRONMENT
        )
        
        // Display logs only for DEV
        Logger.Companion.logLevel = BuildConfig.TEALIUM_LOGLEVEL

        // Make it start working                        
        Tealium.create(BuildConfig.TEALIUM_INSTANCE, tealiumConfig)
    }

    fun trackEvent(name: String, data: Map<String, Any>? = null) {
        val eventDispatch = TealiumEvent(name, data)
        Tealium[BuildConfig.TEALIUM_INSTANCE]?.track(eventDispatch)
    }

    fun trackView(name: String, data: Map<String, Any>? = null) {
        val viewDispatch = TealiumView(name, data)
        Tealium[BuildConfig.TEALIUM_INSTANCE]?.track(viewDispatch)
    }
}

我通过 Tealium 获取日志,所以它应该可以正常工作。

2021-05-17 14:28:56.694 22812-22894/xxx.xxx.xxx D/Tealium-1.2.2: Dispatch(fc5c0) - Ready - {tealium_event_type=view, tealium_event=XXX ...}

但是在我调用trackViewtrackEvent 之后,我的事件没有转到服务器。

还有额外的登录,我不知道这是什么意思。文档没有说太多:

2021-05-17 14:28:59.352 22812-22894/xxx.xxx.xxx I/Tealium-1.2.2: Asset not found (tealium-settings.json)

我该如何解决? Asset not found 是什么意思?

【问题讨论】:

    标签: android kotlin tealium


    【解决方案1】:

    @deadfish 我在 Tealium 管理移动团队,所以我可以为您指明正确的方向。您可以放心地忽略资产未找到日志 - 这只是表示未找到本地设置文件,因此默认情况下将使用远程设置。我们将着眼于解决这个问题,以使日志消息更有帮助。有几件事可能会导致数据无法发送。首先,我看不到您的 TealiumConfig 对象中指定的任何调度程序。如docs 中所述,您需要添加 TagManagement 或 Collect 调度程序,它们是从设备发送数据的模块。 Collect 模块将数据发送到服务器端平台(我认为这是您需要的),而 TagManagement 模块使用 JavaScript 在客户端处理数据。如果您需要进一步的个性化支持,请随时与我们的支持团队联系或通过在我们的 GitHub 存储库上提出问题与我们联系。

    【讨论】:

    • 好的,现在看起来可以了。我注意到,我得到的不是视图名称,而是tealium mobile webview,而不是my_name_screen,即settingsScreen。我必须在代码或 Tealium 仪表板中做些什么吗?
    • 我的问题可能比我想象的要复杂。我将 Tealium 与 Oracle 仪表板集成。当我在我的应用程序.trackView("splashScreen", null) 中调用时,它会正确发送事件,但在 Oracle 的仪表板中,我会看到名称不同的事件。相反splashScreen 我有tealium mobile webview。这种行为可能是什么原因?我必须为标签管理添加任何规则吗?
    • @deadfish 这意味着您正在使用标签管理模块,并且我希望您在那里配置了分析标签,例如 Google Analytics?要阻止 Google Analytics 将文档标题作为页面名称,您需要在 Tealium iQ 中配置一个映射,以将您的屏幕名称映射到 Google Analytics 标记中的屏幕名称变量。如果您不确定如何操作,我建议您联系我们的支持团队。
    • 好的,我明白了,但是我的项目中只有 Firebase Crashlytics。
    • 我做到了。非常感谢。您这边缺少 Kotlin (.tealiumview) 的参数。我们必须用其他东西来映射它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多