有能力的可以直接看官方文档:https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=zh-cn
借助适用于 Google Analytics(分析)4 的 Google Analytics(分析)Measurement Protocol,开发者可以通过 HTTP 请求直接将事件发送到 Google Analytics(分析)服务器,从而增强网站和应用数据流。值得注意的是,这样有助于轻松地衡量服务器与服务器之间以及线下发生的互动情况。
使用流程:1.注册google analytics 2.创建一个媒体资源 3.发送Google AnalyticsHTTP请求
注册google analytics和创建媒体资源这里就省略了,相信你们应该都会了。
这里模拟一下发送事件的请求
async function sendGoogleEvent(event) {
const measurement_id = `你的measurement_id`;
const api_secret = `你的api_secret`;
// 向google发送事件
// 创建一个唯一的客户ID
var clientId = await storageGet("clientId") || await getClientId()
// var clientId = "生成的唯一客户id"
console.log("获取到的唯一ID是:", clientId);
try {
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
method: "POST",
body: JSON.stringify({
client_id: clientId,
events: [{
// Event names must start with an alphabetic character.
name: event ? event : 'login',
params: event ? {
"content_type": "product",
"item_id": event
} : {
"search_term": "search_home"
}
}]
})
}).then(res => {
console.log('sendGoogleEvent', res);
}).catch(error => console.log('error is', error));
} catch (error) {
console.log("send Google error");
}
}
其中需要替换为你自己的ID地方:
measurement_id = ""
api_secret = ""
clientId = "生成唯一客户ID"
衡量ID就是measurement_id:
扫描二维码关注公众号,回复:
14598722 查看本文章
api_secret :
clientId 需要自己生成,规则是由唯一数字id + 时间戳组成的:
// 生成唯一用户ID
const getClientId = async function () {
// 随机数字id
var random = Math.floor((Math.random() + Math.floor(Math.random() * 9 + 1)) * Math.pow(10, 10 - 1));
// 时间戳
var timeStamp = new Date().getTime();
// clientID
var clientId = `${random}.${timeStamp}`
// 存储到缓存中
await storageSet("clientId", clientId)
return clientId
}
经过以上配置之后,就可以发送事件了,发送成功后,就可以在控制面板里面看到统计信息: