如何配置分析以将数据发送到我自己的服务器

How to configure analytics to send data to my own server?

本文关键字:数据 我自己 服务器 自己的 何配置 配置      更新时间:2023-09-26

使用分段分析javascript库时,如何或必须做什么才能将所有分析数据发送到自己的服务器?

https://segment.com/docs/libraries/analytics.js/

我脑海中浮现出两个可能的选项。

  1. 您可以利用Segment"原样",并通过webhook集成将数据推送到您的服务器中:https://segment.com/docs/integrations/webhooks/

  2. 由于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: ''
    }
});