iOS SDK升级指导

anwei发表于:2019年12月05日 15:18:53更新于:2019年12月05日 15:21:40

iOS SDK升级指导

升级到SDK 2.x前,请务必联系客服协助您完成后台配置的升级。

本文旨在帮助您从 1.x 版本无缝升级至 2.x 版本,由于两个版本的诸多接口、方法、字段含义均有较大变动,因此建议您在升级前一定参照本文完成必要的实施工作。

1. 重新集成SDK

请参考iOS 无埋点 SDK集成

建议您在开发中,开启Growing调试日志来检验SDK的数据是否正常上传。

2. 迁移用户属性字段(CS字段)

如果您未做用户属性字段上传,请忽略此部分。

用户属性字段(简称CS字段)是 1.x 版本的概念,升级至 2.x 版本后:

  • CS1字段,会强制命名为“登陆用户ID”,并且上传接口与其他变量不同。

  • CS2-10字段,会迁移至“应用级变量”,应用级变量与CS字段的使用方式无任何区别。

  • CS11-20字段,会迁移至“用户变量”。两者的区别主要在于:用户变量支持自定义的归因方式。

上传接口

2.x版本方法格式

对于CS1字段,也就是登录用户ID,请使用以下方法:


// 设置登录用户ID API
+ (void)setUserId:(NSString *)userId;

// 清除登录用户ID API
+ (void)clearUserId;

对于应用级变量,也就是1.x版本中的CS2-CS10,请使用以下方法:


[Growing setAppVariable:@{@"key1":@"value1", @"key2":@2}];
[Growing setAppVariableWithKey:@"key1" andStringValue:@"value1"];
[Growing setAppVariableWithKey:@"key2" andNumberValue:@2];

对于用户变量,也就是1.x版本中的CS11-CS20,请使用以下方法:


+ (void)setPeopleVariableWithKey:(NSString *)key andStringValue:(NSString *)stringValue;
+ (void)setPeopleVariableWithKey:(NSString *)key andNumberValue:(NSNumber *)numberValue;
+ (void)setPeopleVariable:(NSDictionary<NSString *, NSObject *> *)variable; // 多个变量,可组合为一个对象传入


1.x版本方法格式


[Growing setCS1Value:@"100324" forKey:@"user_id"];
[Growing setCS2Value:@"943123" forKey:@"company_id"];
[Growing setCS3Value:@"张溪梦" forKey:@"user_name"];

GrowingIO后台配置

您需要在 “数据中心 > 数据管理 > 用户变量 ”  中进行配置。配置方式请参考用户变量

3. 迁移页面属性字段(PS字段)

如果您未做页面属性字段上传,请忽略此部分。

类似于用户属性字段,在 2.x 版本中,页面属性字段被迁移到了”页面级比那辆“。与页面属性字段不同的是,页面级变量相当于过去的 PS 字段,不再存在过去的 PG 字段。

上传接口

2.x版本方法格式


+ (void)setPageVariableWithKey:(NSString *)key andStringValue:(NSString *)stringValue toViewController:(UIViewController *)viewController;
+ (void)setPageVariableWithKey:(NSString *)key andNumberValue:(NSNumber *)numberValue toViewController:(UIViewController *)viewController;
+ (void)setPageVariable:(NSDictionary<NSString *, NSObject *> *)variable toViewController:(UIViewController *)viewController;


1.x版本方法格式


@property (nonatomic, copy) NSString* growingAttributesPageGroup;
@property (nonatomic, copy) NSString* growingAttributesPS1;
@property (nonatomic, copy) NSString* growingAttributesPS2;
@property (nonatomic, copy) NSString* growingAttributesPS3;

GrowingIO后台配置

您需要在 “数据中心 > 数据管理 > 事件变量 ”  的页面级变量中进行配置。配置方式请参考创建页面级变量

4. 迁移自定义事件(埋点事件)

如果您未做自定义的上传,请忽略此部分。

2.x版本的自定义事件,在概念上与1.x版本无任何区别,但上传

上传接口

2.x版本方法格式


+ (void)track:(NSString *)eventId;+ (void)track:(NSString *)eventId withNumber:(NSNumber *)number;+ (void)track:(NSString *)eventId withNumber:(NSNumber *)number andVariable:(NSDictionary<NSString *, NSObject *> *)variable;+ (void)track:(NSString *)eventId withVariable:(NSDictionary<NSString *, NSObject *> *)variable;


1.x版本方法格式


@interface Growing: NSObject
+ (void)track: (NSString *) event properties: (nullable NSDictionary *) properties;
@end

GrowingIO后台配置

您可以在 GrowingIO 官网的 “数据管理” ---> “事件和变量” 页面找到管理事件,事件级变量,页面级变量,应用级变量,转化变量和用户变量的配置。

5. 数据校验

在完成了上述代码实施和配置后,我们当然需要对数据是否成功上传进行校验。点击查看 GrowingIO Mobile Debugger 的安装和使用