我想跟踪我正在构建的 chrome 扩展上的事件。所以我想为每个用户都有一个唯一的标识符。
我不想要有关用户的任何信息,只是我希望将所有这些事件组合在一起。
有没有解决这个问题的好方法,无需 ping 服务器。或者我会只使用一个非常长的随机字符串,因此另一个用户获得相同字符串的可能性很低。
我正在使用 segment.io 的 analytics.js 包与 mixpanel 集成。
我想跟踪我正在构建的 chrome 扩展上的事件。所以我想为每个用户都有一个唯一的标识符。
我不想要有关用户的任何信息,只是我希望将所有这些事件组合在一起。
有没有解决这个问题的好方法,无需 ping 服务器。或者我会只使用一个非常长的随机字符串,因此另一个用户获得相同字符串的可能性很低。
我正在使用 segment.io 的 analytics.js 包与 mixpanel 集成。
You can generate an id upon extension install/update. You can then use this value as your unique id. Something like this should work (put it in your background page):
chrome.runtime.onInstalled.addListener(function(info){
//
// info.reason should contain either "install" or "update"
var sessionId = localStorage.getItem("session-id");
if(!sessionId){
localStorage.setItem("session-id", "random-session-id");
}
});
More info on onInstalled is here: https://developer.chrome.com/extensions/runtime#event-onInstalled. NB: it fires on install, extension update and Chrome update.
不知道为什么 Mixpanel 被标记在这个问题上,但既然是这样,我会提到Mixpanel jslib解决了这个问题。
如果您在不识别用户的情况下发送事件,jslib 会根据时间Math.random()
、和浏览器特征自动生成 UUID。此数据存储在 cookie 中。