IOS移动应用接入

一、配置环境

1、前提条件

系统中创建自定义渠道 绑定IOS 应用, 绑定之后提供 write key 提供给开发。

2、引入ios sdk

IOS SDK-1.1.0

将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发送的事件一致。