首页 > 解决方案 > Android Matomo 在多次访问中发送动作

问题描述

嗨,我使用的是 Android 版 Matomo,我遇到的问题是 Matomo 将每个操作作为一次访问发送,而不是将访问的所有操作作为一次访问发送。因此,例如,我在最后 5 秒内打开的每个页面都将在一次访问中发送。

示例:我打开“开始”屏幕,然后打开搜索屏幕,然后打开结果屏幕。我将在 matomo 仪表板中进行 3 次不同的访问,每次访问只有一个页面视图。因此,一次访问开始屏幕,一次访问搜索,一次访问结果。

在 iOS 中我没有这个问题,它应该在一次访问中发送我的所有操作。

可能是什么问题呢?我在所有页面的抽象类中实现了 getTracker() 方法,所以它应该没问题,就像在 iOS 中一样。

标签: javaandroidmatomo

解决方案


您在创建跟踪器时是否尝试定义 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 版本......


推荐阅读