Tealium - Kotlin 中的跟踪不报告事件
Tealium - tracking in Kotlin doesn't report events
根据 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 ...}
但是在我调用 trackView
或 trackEvent
之后,我的事件没有发送到服务器。
还有一个额外的日志信息,我不知道它是什么意思。文档对此没有多说:
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
是什么意思?
@deadfish 我在 Tealium 管理移动团队,所以我可以为您指明正确的方向。您可以安全地忽略未找到资产日志 - 这仅表示未找到本地设置文件,因此默认情况下,将使用远程设置。我们将考虑解决这个问题,以使日志消息更有帮助。有几件事可能会导致数据无法发送。首先,我看不到您的 TealiumConfig 对象中指定的任何调度程序。如 docs 中所述,您需要添加 TagManagement 或 Collect 调度程序,它们是从设备发送数据的模块。 Collect 模块将数据发送到服务器端平台(我认为这是您需要的),而 TagManagement 模块使用 JavaScript 处理客户端的数据。如果您需要进一步的个性化支持,请随时与我们的支持团队联系,或者通过在我们的 GitHub 存储库中提出问题来联系我们。
根据 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 ...}
但是在我调用 trackView
或 trackEvent
之后,我的事件没有发送到服务器。
还有一个额外的日志信息,我不知道它是什么意思。文档对此没有多说:
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
是什么意思?
@deadfish 我在 Tealium 管理移动团队,所以我可以为您指明正确的方向。您可以安全地忽略未找到资产日志 - 这仅表示未找到本地设置文件,因此默认情况下,将使用远程设置。我们将考虑解决这个问题,以使日志消息更有帮助。有几件事可能会导致数据无法发送。首先,我看不到您的 TealiumConfig 对象中指定的任何调度程序。如 docs 中所述,您需要添加 TagManagement 或 Collect 调度程序,它们是从设备发送数据的模块。 Collect 模块将数据发送到服务器端平台(我认为这是您需要的),而 TagManagement 模块使用 JavaScript 处理客户端的数据。如果您需要进一步的个性化支持,请随时与我们的支持团队联系,或者通过在我们的 GitHub 存储库中提出问题来联系我们。