使用分段分析javascript库时,如何或必须做什么才能将所有分析数据发送到自己的服务器?
https://segment.com/docs/libraries/analytics.js/
我脑海中浮现出两个可能的选项。
-
您可以利用Segment"原样",并通过webhook集成将数据推送到您的服务器中:https://segment.com/docs/integrations/webhooks/
-
由于Segment的Javascript库是开源的,您可以在您的网站上手动部署它。这将涉及对应用程序发送数据的端点进行一些更改:https://github.com/segmentio/analytics.js
这是我的解决方案。只需使用服务器更改//api.segment.io/v1即可。以下代码属于https://github.com/segmentio/analytics.js/blob/2.11.0/analytics.js
/**
* Expose `Segment` integration.
*/
var Segment = exports = module.exports = integration('Segment.io')
.option('apiKey', '');
Segment.prototype.send = function(path, msg, fn) {
var url = scheme() + '//api.segment.io/v1' + path;
var headers = { 'Content-Type': 'text/plain' };
fn = fn || noop;
var self = this;
// msg
msg = this.normalize(msg);
// send
send(url, msg, headers, function(err, res) {
self.debug('sent %O, received %O', msg, arguments);
if (err) return fn(err);
res.url = url;
fn(null, res);
});
};
然后,如果您想更改Segment.io的名称,请使用Segment.io.Btw初始化分析。
analytics.initialize({
'Segment.io': {
apiKey: ''
}
});