altis / analytics-integration-segment
Altis Analytics模块的Segment集成
Requires (Dev)
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
在发送批量请求到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>,该参数指示事件类型,例如:identify,track,group等。
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',
]