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',
]