KuickDealSDK接入指南(iOS)

目录

一、 获取AppKey和AppSecret

二、SDK集成

三、功能集成

四、常见错误

五、附录

正文


一 、获取AppKey和AppSecret

登陆KuickDeal远程销售后台,创建一个项目,打开项目成员页面,如下图:

APPMenber Screenshot

上边红色箭头指向的即为appKey

通过: https://deal-admin.kuick.cn/app/{appKey}/settings 页面,获取appSecret:

appSetting Screenshot

二 、SDK集成

2.1 导入SDK

方法1. 文件导入

a. 从官网下载SDK文件 点击此处下载SDK

b. 将KuickDealSDK.framework文件导入工程中.

c. 在Build Phases >Link Binary With Libraries中添加framwork.

d. 在Build Phases > Embed Framework中 添加framwork.

SDK文件说明:从官网下载下来的包中包含了三个文件分别是:

Release-iphoneos(真机),

Release-iphonesimulator(模拟器),

Release-iphoneos&iphonesimulator(真机和模拟器),

如图:

SDKFile_screenShot

有需要的话可以通过终端的lipo命令来手动合并: lipo -create {a_framework_path} {b_frameworkpath} -output {new_framework}

方法2. 执行pod安装

---暂不支持pod!!!---

2.2 添加初始化参数

在 AppDelegate 中引入#import "KuickDealSDK.h",然后添加初始化代码

如:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {       
 //启动Kuick 
  NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
  [parameters setObject:@"76be292b-a733-4ff4-981e-58e3eb88e6b1" forKey:@"appKey"];
  [parameters setObject:@"78bet92b-a453-4564-981e-58e3eb45e6b1" forKey:@"appSecret"];
  [parameters setObject:@"微信unionid"             forKey:@"unionid"];  //可选
  [parameters setObject:@"第三方用户userid"         forKey:@"appUserId"];//可选
  [[KDSKuickDeal shareClient] init: parameters];     
  ....     
  return YES; 
}

初始化参数说明:

参数 必填 说明
appKey 应用Key, 从Deal管理后台获取
appSecret app秘钥
unionid 微信unionid
appUserId 应用中用户ID,由第三方应用提供,用来唯一标识一个用户。

实现KuickDealClientDelegate协议

如:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {         
   ...  
  [KDSKuickDeal shareClient].delegate = self;    
   ...     
  return YES; 
}
- (void)kuickDealClient:(KDSKuickDeal *)client didComplete:(NSError *) error{     
    if (!error) {       
        NSLog(@"初始化成功!");    
    } 
}

三、 功能集成

3.1 用户实名登录

在用户登录成功后,或者能够获取到用户信息后调用,要保证SDK已经初始化成功

如:

KDSNamedConfig *config = [KDSNamedConfig new];//扩展对象
config.utmSource = utmSource;     // utm来源.可选
config.utmTerm = utmTerm;         // utm媒介.可选
config.utmMedium = utmMedium;     // utm媒介.可选
config.utmCampaign = utmCampaign; // utm活动.可选
config.utmContent = utmContent;   // utm内容.可选
[[KDSKuickDeal shareClient] userNamedWithAppUserId:@"appUserId"
                                        andUnionId:@"unionId"
                                              name:@"姓名"        
                                             phone:@"手机"
                                           company:@"公司"
                                             email:@"邮箱"
                                             title:@"职位"
                                         createWay:KDCustomerCreatWayRegister
                                            config:config
                                           succeed:^ {       
    [self showAlert:@"实名化成功"];    
} failure:^(NSError *error) {         
    [self showAlert:@"实名化失败"];    
}];

实名化登录参数说明:

参数 必填 说明
appUserId 应用用户id
andUnionId 微信 unionId
name 用户名
phone 电话
company 公司
email 邮箱
title 职位
createWay 创建方式:KDCustomerCreatWayLogin->登录;KDCustomerCreatWayRegister->注册
config 扩展配置

3.2 用户注销登录

在用户登出或者注销时调用

如:

[[KDSKuickDeal shareClient] destruction]

3.3 手动添加事件

播放音视频

开始播放

//接受返回的事件ID,用于创建停止播放事件 
__playID = [[KDSKuickDeal shareClient] actionInVeiw:self.view
                                         actionType:KuickDealActionTypePlayMedia
                                        description:@"播放视频"];

结束播放

//使用一个 播放事件的 ID 创建结束播放时间
[[KDSKuickDeal shareClient] endActionWithID:__playID];
__playID = nil;

注意:开始播放和结束播放必须是成对出现!!!

提交表单

 [[KDSKuickDeal shareClient] actionInVeiw:self.view 
                                      acitonTyep:KuickDealAcitonTypeSubmit 
                                     description:@"提交表单"];

下载文件

 [[KDSKuickDeal shareClient] actionInVeiw:self.view
                                  acitonTyep:KuickDealAcitonTypeDownloadFile
                                 description:@"下载文件"];

3.4 提高数据准确度

尽量为每个页面添加Title

如:

- (void)viewWillAppear:(BOOL)animated {   
  ...
      self.navigationItem.title = @"设置昵称";    
   ... 
}

如果这个viewController有复用,做多个不同功能的页面使用,请在viewWillAppear:方法中变更title的值,

如:

- (void)viewWillAppear:(BOOL)animated{
   ...

   if(type == KKViewTypeSetName){
      self.navigationItem.title = @"设置昵称";
   }else{
      self.navigationItem.title = @"设置邮箱";
   }

   ...
}

给每个viewController 添加唯一ID(默认取这个viewController的类名做唯一标识)

如果这个viewController做多个不同功能的页面复用,请为该页面添加属性kuickBehaviorViewIdentity,并在视图显示前为其赋值;

添加kuickBehaviorViewIdentity,如:


@interface KKTestVC()
...
@property (nonatomic,copy)NSString * kuickBehaviorViewIdentity
...
@end

在视图显示前给kuickBehaviorViewIdentity赋值,如:

@implementation KKTestVC
- (void)viewWillAppear:(BOOL)animated{
   ...

   self.kuickBehaviorViewIdentity = @"KKSomeIdentity";

   ...
}

四 、常见错误

提示'KuickDealSDK.h' file not found 或相关头文件找不到.

解决方法1:

尝试以<KuickDealSDK/KuickDealSDK.h>的方式导入.

解决方法2:

Build Setting > Heather Search Paths中添加framwork头文件目录.

如:

$(PROJECT_DIR)/{中间目录}/KuickDealSDK.framework/Headers

提示Reason: image not found

请在Build Phases > Embed Framework 添加KuickDealSDK.framwork

五 、附录

事项 方式/注意
联系人 support@Kuick.cn
邮件主题 KuickDeal iOS-SDK反馈
邮件内容说明 用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,KuickDeal团队会尽快处理你的反馈。
北京西会科技有限公司©2015-2018 all right reserved,powered by Gitbook该文件修订时间: 2018-11-21 01:53:15

results matching ""

    No results matching ""