IOS移动应用接入
一、配置环境
1、前提条件
2、引入ios sdk
将NzAnalytics文件夹拷贝到项目目录
选择 File——Add Files to“Your Project”
选择 NzAnalytics文件
勾选 Copy items if needed
确保所有要用到SDK的 targets 都处于选中状态。
3、初始化sdk
在AppDelegate.m中引入 NzAnalytics.h文件,并在初始化方法 (BOOL) application:(UIApplication *)didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中初始化 SDK。示例代码
#import "NzAnalytics.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NzAnalyticsConfiguration * sdkConfiguration = [[NzAnalyticsConfiguration alloc] init];
sdkConfiguration.writeKey = @"MS1mODdiMDkwMC1hNTI3LTQ2M******YyYWRmZjIyNzU=";// writeKey: 在linkflow的自定义渠道创建应用后,在“移动应用”列表页面里查看writeKey。
sdkConfiguration.endpoint = @"https://app.linkflowtech.com"; // 接收数据服务器地址,比如https://app.linkflowtech.com
sdkConfiguration.launchOptions = launchOptions;
sdkConfiguration.debugMode = YES; // 默认值为NO。如果您需要将事件数据标记为测试,请设置为YES。
sdkConfiguration.trackAppLifecycleEvents = YES; //设置值为YES情况下,SDK会采集移动应用的激活应用、启动应用、退出应用事件
sdkConfiguration.trackViewScreen = YES; //设置值为YES情况下,SDK会采集移动应用的打开页面事件
sdkConfiguration.trackAppClick = YES; //设置值为YES情况下,SDK会采集移动应用的点击控件事件
[NzAnalyticsSDK setupWithConfiguration:sdkConfiguration];
//other code
}
二、开发调用
1、获取用户信息,调用identify(识别用户)将用户信息上传
用户自定义属性 props 中的属性需要在系统中先创建 参照文档 自定义属性
接口:
- (void)identify:(NzIdentity *)identity // 识别联系人接口
接口调用示例 :
- (void)login
{
//登录成功后,调用以下代码
NzIdentity * identity = [[NzIdentity alloc] init];
identity.externalId = "135****0000; // externalId:您对登录用户的唯一标识
identity.email = "sun@linkflowtech.com"; //登录用户邮箱
identity.phone = “138****0000”; //登录用户手机
identity.name = "Sun""; //登录用户姓名
identity.birthday = "1990-09-09"; //生日
//设置联系人自定义字段
NSDictionary *props = [[NSMutableDictionary alloc]init];
[props setValue:@"普通会员" forKey:@"attr1"];
[props setValue:@"100" forKey:@"attr2"];
identity.props = props;
//如果希望与微信公众号粉丝合并,请添加以下代码
NzIdentityWechatInfo * wechatInfo = [[NzIdentityWechatInfo alloc] init];
wechatInfo.openId = @""; //公众号粉丝openId,非必填。openId+appId可以定位到在linkflow创建连接的公众号粉丝,会将此公众号粉丝与此用户合并。
wechatInfo.appId = @""; //公众号appId(该公众号必须已在Linkflow绑定),非必填,如果openId有值,则此字段必填.。
wechatInfo.unionId:非必填,公众号粉丝unionId,如果传入该值,会和系统中相同unionId的微信公众号和小程序用户进行合并
identity. weChatInfo = wechatInfo;
[[NzAnalyticsSDK shared] identify:identity];
}
2、用户自定义事件
事件编码 以及事件属性 在系统中定义好之后导出提供
在linkflow平台,配置事件元数据,此步骤可由甲方管理员或者拥有配置权限角色来配置。
NzEvent *event = [[NzEvent alloc] init];
event.event = @"UDE_6I7UOSF58"; //需要传入您创建的自定义事件的事件编码
event.attr1 = @"704769368693"; //使用attr1-attr20来设置自定义事件的属性值
event.attr2 = @"35.8";
event.attr3 = @"1990-12-10" ; // 日期类型支持格式 yyyy-MM-dd hh:mm:ss
event.attr4 = @"true" ; // boolean 格式 true or false
event.eventDate = ; //设置事件发生时间(13位时间戳,精确到毫秒 ),如果不设置,默认为系统当前时间
[NzAnalyticsSDK.shared trackEvent:event];
三 验证
SDK配置验证
SDK正常初始化之后,SDK会自动记录基础事件:
- 激活应用——当用户第一次安装启动移动应用时。
- 启动应用——当用户将移动应用展示在前台。
- 退出应用——当用户将移动应用退出到后台或杀掉应用进程。
- 展示页面——当用户跳转移动应用新的页面时。
- 点击元素——当用户在应用页面点击按钮时。
登录linkflow连接云,在主页右侧时间轴查看是否收到这些事件。如正常收到,则SDK配置无问题;否则,可查看
用户信息
【查找到该联系人】:通过联系人页面搜索姓名、昵称或者手机号,来查找到该用户。
【查看用户画像】:仔细核对页面左侧用户信息,确认是否与identify上传的数据一致。
自定义事件
【查找到该联系人】:通过联系人页面搜索姓名、昵称或者手机号,来查找到该用户。
【查看时间轴】:进入人物画像,点击时间轴,在时间轴中找到该事件,并仔细核对事件属性,确保事件属性与sendEvent发送的事件一致。