我使用rt:activeUsers
指标在网站上获取实时数据的活跃用户。
我希望实时为特定网页(path
或url
)吸引活跃用户,而不是整个网站。有没有办法实现它?我经历了API Explorer但没有成功。
答案 0 :(得分:2)
对于其他任何寻找此问题的人都是我在javascript中完成此操作的示例。
我从以下代码开始:https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/
该示例使用embed api的扩展来获取活跃用户:active-users.js
我不知道从哪里获取active-users.js文件所以我只是使用Chrome中的开发人员工具并以这种方式抓住它。在本地保存并在我的页面中链接到它。如果有人知道正式位置,请在下面评论。 THX。
如果查看该文件的源代码,我修改了pollActiveUsers函数以添加一个filter参数,如下所示:
pollActiveUsers_: function () {
var t = this.get(),
i = 1e3 * (t.pollingInterval || 5);
if (isNaN(i) || i < 5e3)
throw new Error("Frequency must be 5 seconds or more.");
this.polling_ = !0,
gapi.client.analytics.data.realtime.get({
ids: t.ids,
metrics: "rt:activeUsers",
filters: t.filters
}).then(function (t) {
var e = t.result,
s = e.totalResults ? +e.rows[0][0] : 0,
n = this.activeUsers;
this.emit("success", {
activeUsers: this.activeUsers
}),
s != n && (this.activeUsers = s, this.onChange_(s - n)),
1 == this.polling_ && (this.timeout_ = setTimeout(this.pollActiveUsers_.bind(this), i))
}
.bind(this))
},
现在在我的页面javascript中我可以这样称呼它:
var activeUsers = new gapi.analytics.ext.ActiveUsers({
container: 'active-users-container',
pollingInterval: 5,
filters: "rt:pagePath==/somepath/somepage/",
ids: "ga:<yourviewid>"
});
希望能帮助某人。
答案 1 :(得分:1)
虽然Real-time API非常有限,但它确实允许您使用过滤器。过滤器是一种where子句。
实时文档也非常有限,但您可以查看核心报告API上的filters文档,它的工作方式相同
filters=ga:browser%3D~%5EFirefox
我认为你应该检查维度rt:pagePath
它可能正在寻找的东西。