java - Android Matomo 在多次访问中发送动作
问题描述
嗨,我使用的是 Android 版 Matomo,我遇到的问题是 Matomo 将每个操作作为一次访问发送,而不是将访问的所有操作作为一次访问发送。因此,例如,我在最后 5 秒内打开的每个页面都将在一次访问中发送。
示例:我打开“开始”屏幕,然后打开搜索屏幕,然后打开结果屏幕。我将在 matomo 仪表板中进行 3 次不同的访问,每次访问只有一个页面视图。因此,一次访问开始屏幕,一次访问搜索,一次访问结果。
在 iOS 中我没有这个问题,它应该在一次访问中发送我的所有操作。
可能是什么问题呢?我在所有页面的抽象类中实现了 getTracker() 方法,所以它应该没问题,就像在 iOS 中一样。
解决方案
您在创建跟踪器时是否尝试定义 userId 或 visitorId?您可以在应用程序首次启动时生成一个唯一的用户 ID,并将其存储在共享首选项中,同时您在每次启动时创建一个访问者 ID,从而跟踪当前会话。然后,您可以显式设置这些 ID,例如:
TrackerBuilder
.createDefault(BuildConfig.MATOMO_URI, BuildConfig.MATOMO_SITE_ID)
.build(Matomo.getInstance(c))
.setUserId(userIdFromSharedPrefs)
.setVisitorId(visitorIdGeneratedOnEachStartup)
跟踪对我来说很好,操作被汇总并为访问中的当前访问者会话包发布。
如果您没有定义它们,Matomo Android API 应该创建并保留一个默认的访问者 ID,但没有用户 ID 来“模仿 iOS 中的行为”(如此处所述:https ://github.com/matomo-org/matomo- sdk-android/pull/256这是在讨论之后提交的:https ://github.com/matomo-org/matomo-sdk-android/issues/255 )但是,我也面临着这个实现的麻烦,因此我开始了我自己设置这些ID,它按预期工作。
但请注意,该行为也可能取决于您用于 Android 和服务器的 Matomo 版本......
推荐阅读
- amazon-web-services - 从 Amazon S3 路径读取 TFRecordfile
- spring - Spring Cloud 流“发现没有提交的偏移量”
- php - 向 PHP Web 表单添加多项选择题
- java - Pyspark 以 zip 格式提交 py 文件:java.io.FileNotFoundException
- vba - 如何使用 VBA 添加索引匹配多个结果
- python - 在 PyQt6 中使用 QEasingCurve 时出现属性错误
- swiftui - SwiftUI 让 AVCaptureVideoPreviewLayer 与 xStacks 配合得很好
- swift - Swift 是否有等同于 Rust 的 struct update 语法?
- python - 从 python 函数创建对象返回一个类
- c# - Android Assets 文件夹无法识别