altis/analytics-integration-segment

Altis Analytics模块的Segment集成

0.2.0 2022-04-14 23:00 UTC

This package is auto-updated.

Last update: 2024-09-15 04:42:15 UTC


README

Altis Analytics的Segment集成通过后台cronjob自动将分析事件导出到Segment。

设置

安装

该软件包自动捆绑在Altis Analytics模块中,但Segment API密钥需要通过SEGMENT_API_WRITE_KEY常量或altis.analytic.segment.api_write_key过滤器定义。

用法

该软件包设置了一个cronjob,该cronjob通过钩子到由Altis Analytics触发的altis.analytics.export.data.process事件来处理批量上传事件到Segment API。

函数

register_segment_group_field( string $field, array $traits = [] ) : void

注册一个分组字段,该字段作为分组调用发送到Segment。有关更多信息,请参阅Segment关于分组调用的文档

  • *$field是要分组的活动字段。
  • *$traits是从中添加到组的数据映射。
register_segment_group_map( 'endpoint.Attributes.AudienceId', [ 'country' => 'endpoint.Attributes.UserAttributes.country' ] )

动作

altis.analytics.segment.request_failure : Requests_Exception|Requests_Response $response, Array $batch

在批量请求Segment API失败时触发。

altis.analytics.segment.request_success : Requests_Response $response, Array $batch

在批量请求Segment API成功时触发。

altis.analytics.segment.after_send : Array $results, Array $batches, Array $events

在发送批量请求到Segment API后触发。

过滤器

altis.analytics.segment.api_write_key : String

过滤Segment API密钥,对于需要不同站点的不同密钥的情况。如果使用SEGMENT_API_WRITE_KEY常量。

altis.analytics.segment.mapping : Array

过滤用于将Altis Analytics事件格式转换为Segment所需格式的转换器使用的映射树。如果需要自定义Segment将记录的事件结构,则请使用此过滤器。该过滤器接受第二个参数$type <string>,该参数指示事件类型,例如:identifytrackgroup等。

altis.analytics.segment.formatted_data : Array

过滤已格式化的数据,以防需要进一步自定义。

altis.analytics.segment.groups : Array

过滤组定义,仅用于高级用途,对于简单用途,请使用register_segment_group_map()函数代替。

数据映射

该软件包使用数据映射结构在Altis Analytics和Segment相应格式之间进行转换。

示例

$mapping = [
    // Default format:
    'key' => 'path.to.value',

    // Basic value map:
    'country' => 'endpoint.Location.Country',

    // Use a transformative callback:
    'country' => 'endpoint.Location.Country|ucfirst',

    // Skip a specific key:
    'country' => '',

    // Merge a whole map branch (notice the absence of a key):
    'endpoint.Attributes.UserAttributes',
]