PHP SDK
一、集成SDK
可通过以下方式获取SDK
- 使用 composer 集成
{
"require": {
"esmartdata/yh-sdk-php": "0.0.3"
}
}
在需要埋点的php脚本中引入 SDK,配置初始化参数并创建SDK对象,部份功能依赖curl扩展
// 引入 SDK
require_once("TrackingSystem.php");
//初始化sdk
$tsConfig = array(
'app_key' => 'qa1576468657154', // 必须
'ts_app' => '测试应用', // 非必须
'ts_ext' => '{"name": "张三", "age": 18}' // 非必须
);
$ts = new TrackingSystem($tsConfig);
//设置渠道参数 非必须
$ts->setBusinessChannel("testChannel");
二、设置用户属性
在登录成功后调用$ts->setUserInfo($userInfo);设置用户属性。 如果没有用户信息,可以不用设置,SDK会给用户自动分配一个device_id,可在TS后台的埋点 - 日志查询中看到该属性
参数说明:JsonObject,只支持以下属性的设置
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
guid | String | 是 | 业务系统用户唯一标识(如果使用open_id作为用户标识,则值与open_id一致) |
open_id | String | 是 | 用户open_id |
union_id | String | 否 | 用户union_id |
real_name | String | 否 | 真实姓名 |
nick_name | String | 否 | 昵称 |
age | Number | 否 | 年龄 |
birthday | String | 否 | 生日 |
gender | String | 否 | 性别: 男/女 |
account | String | 否 | 账号 |
country | String | 否 | 国家 |
province | String | 否 | 省份 |
city | String | 否 | 城市 |
示例
// 设置用户信息 必须
$userInfo = array(
"guid"=>"oieCW5DQKyWKLgEHATyK2MZjcpoE", // 必须
"open_id" => "oieCW5DQKyWKLgEHATyK2MZjcpoE" // 非必须
);
$ts->setUserInfo($userInfo);
三、自定义事件埋码
SDK 初始化后,通过 event
方法自定义事件跟踪用户行为,并为事件添加自定义事件属性
接口参数类型:JsonObject
JsonObject中的每个参数如下
- event_name:String 事件名称,必须
- event_param:JsonObject 事件属性,非必须
示例 1:查看商品,加入购物车流程
// 在进入商品详情页面加载完成后埋点上传「商品详情」事件
$eventInfo = array(
//定义事件名称
'event_name' => '商品详情',
// 定义事件属性
'event_param' => array(
'productId' => '1',
'productName' => '源慧大礼品',
'productCategory' => '电子',
)
);
// 上报事件
$ts->event($eventInfo);
通过上面的示例,可以在任意流程进行事件埋点。