轨迹的集成

优质
小牛编辑
140浏览
2023-12-01

轨迹信息为用户的浏览信息(比如首页、商品页、购物车、支付页、支付成功页等),只有调用轨迹方法,客服端的客服人员才能看到用户的浏览内容,提高服务质量。

>

参数说明:

一.标准集成方式

基本集成方式适用于在需要上传的轨迹的界面分别调用以下接口实现轨迹上传功能。

1.首页轨迹

/**
上报轨迹
@param pageName 当前页面名称
@param model 轨迹参数模型
*/
NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];//轨迹信息模型
model.pgid = NSStringFromClass([self class]);//当前类名
model.ttl = @"首页";//页面标题
model.lev = @"1";//页面等级,1:首页 2:列表页 3:商品页 4:购物车页 5:订单页 6:支付页 7:支付成功页
[Ntalker ntalker_uploadTrailWithPageName:@"首页" model:model];

2.列表页轨迹

NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];
model.pgid = NSStringFromClass([self class]);
model.ttl = @"商品列表页";
model.lev = @"2";
[Ntalker ntalker_uploadTrailWithPageName:@"商品列表页" model:model];

3.商品页轨迹

NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];
model.ttl = @"商品页";
model.lev = @"3";//等级
model.pgid = NSStringFromClass([self class]);
model.prid = @"323";//商品id
model.pn = @"小能商品";
model.mp = @"99";//市场价格
model.sp = @"88";//网站价格
model.iu = @"https://img4.tuhu.org/Images/Products/1512/37095114038873C1.jpg@330w_330h_100Q.jpg";//商品图片链接
model.ca = @"防雾剂";//商品分类名称
model.br = @"小能牌";//商品品牌名称
[Ntalker ntalker_uploadTrailWithPageName:@"商品页" model:model];

4.购物车页轨迹

NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];
model.ttl = @"购物车页";//页面标题
model.lev = @"4";//等级
model.pgid = NSStringFromClass([self class]);
model.prid = @"234";//商品id
model.pn = @"小能商品";
model.mp = @"99";//市场价格
model.sp = @"88";//网站价格
model.iu = @"https://img4.tuhu.org/Images/Products/1512/37095114038873C1.jpg@330w_330h_100Q.jpg";//商品图片链接
model.ca = @"防雾剂";//商品分类名称
model.br = @"小能牌";//商品品牌名称
[Ntalker ntalker_uploadTrailWithPageName:@"购物车页" model:model];

5.订单页轨迹

NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];
model.ttl = @"订单页";//页面标题
model.lev = @"5";//等级
model.pgid = NSStringFromClass([self class]);
model.oi = @"234";//订单id
model.op = @"99";//市场价格
[Ntalker ntalker_uploadTrailWithPageName:@"订单页" model:model];

6.支付页轨迹

NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];
model.ttl = @"支付页";//页面标题
model.lev = @"6";//等级
model.pgid = NSStringFromClass([self class]);
[Ntalker ntalker_uploadTrailWithPageName:@"支付页" model:model];

7.支付成功页轨迹

NtalkerTrailModel *model = [[NtalkerTrailModel alloc] init];
model.ttl = @"支付成功页";//页面标题
model.lev = @"7";//等级
model.pgid = NSStringFromClass([self class]);
[Ntalker ntalker_uploadTrailWithPageName:@"支付成功页" model:model];

二.快速集成方式

快速集成方式只需要调用以下接口快速实现轨迹上传功能 (注:使用该接口时请严格按照以下的参数说明上传参数,否则会出现轨迹上传失败情况!!!)

参数说明

1.接口上传参数为轨迹字典(key为当前控制器名称,value为拼接的字典,轨迹的字典中需要传所有需要上传轨迹界面的信息,

示例:

NSDictionary *dict = @{@"XNSettingViewController":settingDict,@"XNShoppingCarViewController":shoppingcarDict};)

2.拼接字典参数说明:

(1)pagename:页面信息或者传用户行为(例:“支付界面”,“打开聊窗”等)

(2)data:界面参数,分为静态和动态的参数。

静态参数:一旦确立就不会变化的参数,例:界面等级、界面名称等,此时isStatic字段为YES;

动态参数:界面中的可变化的参数,例:商品价格、商品id等,此时isStatic字典为NO

**注意:

1.isStatic字段为必传字段,若界面中只有静态参数则只需要传递 isStatic字段为YES的字段,若界面中只有静态参数则只需要传递isStatic字段为NO的字段,若两者都有则都需要传递;

2.参数中除isStatic的key请参照标准集成中的NtalkerTrailModel中的字段;

3.静态参数的value为集成方传入的固定字符串,动态参数的value为集成方上传的当前控制器中的成员变量的名称**

NSDictionary *settingDict = @{@"pageName":@"设置界面",
                              @"data":@[
                                    @{@"isStatic":@(YES),
                                      @"lev":@"1",
                                      @"ttl":@"设置窗口",
                                    },
                                    @{@"isStatic":@(NO),   //动态的参数value值需要传递当前控制器中的属性名称
                                      @"op":@"siteId",
                                      @"mp":@"flashname",
                                    }
                                ]
                            };
NSDictionary *shoppingcarDict = @{@"pageName":@"购物车界面",
                                  @"data":@[
                                        @{@"isStatic":@(YES),
                                          @"lev":@"2",
                                          @"ttl":@"购物车界面",
                                          @"pn":@"商品信息"
                                        },
                                        @{@"isStatic":@(NO),  //动态的参数value值需要传递当前控制器中的属性名称
                                          @"op":@"price",
                                          @"mp":@"goodprice",
                                        }
                                    ]
                                };

NSDictionary *dict = @{@"XNSettingViewController":settingDict,
                       @"XNShoppingCarViewController":shoppingcarDict
};

[Ntalker ntalker_setTrailDict:dict];