10.1 iOS SDK 集成指南

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

SDK 下载地址:https://www.xnip.cn/wp-content/uploads/2020/docimg26/JiceSDK_conv_iOS.zip

开发环境


  • iOS 系统版本
    • 及策SDK目前最低支持iOS 6.0及以上版本,请开发者在嵌入及策SDK的时候将iOS Deployment Target 设置为iOS 6.0 以上.
  • Xcode 版本
    • 及策 SDK1.0 开发环境为 Xcode 7.0或更高版本,开发者在嵌入 Jice SDK的时候,请将 xcode 开发环境升级到 7.0或更高版本。

集成 SDK


第1步: Download SDK

登录及策网站,点击右下角设置,进入APP信息管理页面,点击iOS SDK按钮下载SDK.

第2步:导入SDK

下载成功后,解压 zip 文件。将解压后的JiceSDKLib文件夹放到需要使用的 App 项目中,添加过程中注意确保在弹出的界面中勾选Copy items into destination group's folder(if needed),并确保Add To Targets 勾选相应的Target

第3步: 添加SDK需要的Framework

在需要添加SDK的项目的 Xcode 开发环境中选择 TARGETS–>Build Phases–>Link Binary With Libraries–> + 添加以下framework框架:

     libz.1.2.5.td
     Security.framework
     AdSupport.framework
     CoreTelephony.framework
     SystemConfiguration.framework
     

初始化SDK


登录及策网站,点击右下角设置,进入APP信息管理页面,获取appkey.

在程序的入口(如 AppDelegate.m )中引入 JiceSDK.h,并在初始化方法(如 application:didFinishLaunchingWithOptions:)中调用函数shareInstanceWithAppKey:launchOption:config:.

  • 参数说明
    • config : [可选] SDK 配置类,如果你想做一些自定义设置,可以移步自定义SDK配置查看更详细的说明.
    • appKey : [可选] JICE系统为您分配的应用唯一标识符.
    • shareInstance : [Method] 当成功初始化以后则可以通过shareInstance获取JiceSDK的实例,进行用户行为以及事件或属性的追踪.
  // 默认配置上报数据与推送加载不做网络限制,调试模式关闭,已激活默认NO,数据上报与推送服务器使用默认
    JiceConfig *config = [[JiceConfig alloc] init];
    NSString *appKey = @"您的AppKey";
    [JiceSDK shareInstanceWithAppKey:appKey launchOption:launchOptions config:config]; 
    或
    NSString *appKey = @"您的AppKey";
    [JiceSDK shareInstanceWithAppKey:appKey launchOption:launchOptions config:nil];
        

恭喜,按照上述步骤,您已经完成了SDK的基础集成。

自定义SDK设置


SDK还支持一些自定义设置,例如发送监测数据包的网络策略等,如果有相关需求,可以自定义JiceConfig

  • channelId : [可选]渠道名,APP发布渠道名称,如果是分包发布到普通市场,需要填写后台生成的相应的渠道id。开发者务必确定此处 channelid 的正确性,否则 会导致相关指标数据无法统计
  • trackServer : [可选]私有化部署的服务器上报服务器地址,不设置使用默认地址,例如:http://jice.fw4.me
  • pushServer : [可选]私有化部署的推送下发服务器地址,不设置使用默认地址,例如:http://ac.jice.io
  • sendCondition: [可选]追踪事件的上报网络策略,可以选择wifi 或者蜂窝网络进行上报,默认值为Wifi+WWAN.
  • loadCondition: [可选]推送活动展示的网络策略,可以选择wifi 或者蜂窝网络进行上报,建议使用Wifi+WWAN方式.
  • isDebugMode: [可选]调试模式,设置为true时,当有监测数据发送时,可以在控制台查看日志。
  • isAlreadyActivated : [可选]设备已激活标示,标示用户是否在SDK 使用前已经激活过设备,开发者可以自己传入避免与旧数据冲突,连续计算激活数据,YES则不重复统计激活数据,默认NO
    JiceConfig *config = [[JiceConfig alloc] init];
    // Network strategy for sending tracking data
    config.sendCondition = JiceNetworkConditionWWAN | JiceNetworkConditionWifi;
    // Network strategy for showing in-app message
    config.loadCondition =  JiceNetworkConditionWWAN | JiceNetworkConditionWifi;
    //isDebugMode
    config.isDebugMode = YES;
    

广告归因转化事件监测集成


注册事件

当激活效果是由用户注册账号触发时,开发者需确保在用户注册成功之后调用此接口。

  • API 参数
    • userId : [可选] 用户注册账户—唯一确定用户信息
    • properties : [可选] 事件属性

- (void)trackRegisterEventWithUserId:(NSString *)userId properties:(NSDictionary *)properties;

  • 示例:
    //无注册详情描述
    [[JiceSDK shareInstance]
    trackRegisterEventWithUserId:@"user id string"
    properties:nil];
    
    //有注册详情描述,如注册昵称和年龄
    [[JiceSDK shareInstance]
    trackRegisterEventWithUserId:@"user id string"
    properties:@{@"name" : @"Jice",                                             
                 @"age"  : @"9"}];
    

登陆事件

SDK监测APP内发生的登陆事件

  • API 参数
    • userId : [可选] 用户注册账户—唯一确定用户信息
    • properties : [可选] 事件属性

- (void)trackLoginEventWithUserId:(NSString *)userId properties:(NSDictionary *)properties;

  • 示例:
    //有登录昵称描述
    [[JiceSDK shareInstance]
    trackLoginEventWithUserId:@"user id string"                                           
    properties:@{@"name" : @"Jice"}];
    
    //无登录昵称描述                                                     
    [[JiceSDK shareInstance] 
    trackLoginEventWithUserId:@"user id string"
    properties:nil];
    

自定义事件

用户在 App 应用中针对用户的特定操作进行判定的转化效果行为。例如:用户成功完 成某一关卡、用户浏览某个视频之后、用户激活设备,并连续试玩5分钟之后等。

  • API 参数
    • customEvent : [必传] 用户自定义效果激活标示—唯一确定核对激活 标示
    • properities : [可选] 事件属性
    -(void)trackConversionCustomEvent:(JICECOSTOMEVENT)customEvent 
                            properites:(NSDictionary *)properities;
    
    自定义事件枚举 
    typedef NS_ENUM(NSUInteger, JICECOSTOMEVENT) {
        JICECOSTOMEVENT1,
        JICECOSTOMEVENT2,
        JICECOSTOMEVENT3,
        JICECOSTOMEVENT4,
        JICECOSTOMEVENT5
    };
  • 示例:
    //无自定义事件描述
    [[JiceSDK shareInstance]
    trackConversionCustomEvent:JICECOSTOMEVENT1
    eventName:@"adcustom_jice"
    properites:nil];
    //有自定义事件描述
    [[JiceSDK shareInstance]
    trackConversionCustomEvent:JICECOSTOMEVENT1
    eventName:@"adcustom_jice"
    properites:@{ @"name":@"Apple",
                  @"size":@"36"}];