KuickDeal Android-SDK集成文档

目录

一、 获取AppKey和AppSecret

二、SDK集成

三、功能集成

四、数据统计

五、附录

一、 获取AppKey和AppSecret

登陆KuickDeal智能交互云后台 https://www.kuick.cn 创建一个项目,打开项目成员页面,如下图:

gras

红色框选部分即为appKey。然后通过访问: https://deal-admin.kuick.cn/app/{AppKey}/settings 页面,获取appSecret,如下图:

gras

二、SDK集成

  • 2.1 集成准备

    SDK 可工作于 Android SdkVersion: 15~24

  • 2.2 下载SDK

    下载地址: https://kuick-prod.oss-cn-hangzhou.aliyuncs.com/kuickdealsdk/android/kuickdealsdk_v1.5.0.aar 将下载的 xxx.aar 文件合并到本地工程libs子目录下,并在build.gradle中添加如下代码:

    
      repositories {     
          flatDir {         
              dirs 'libs'     
          }
      }
      dependencies {     
          compile(name: 'xxx.aar', ext:'aar')
          compile 'io.reactivex:rxjava:1.0.14'
          compile 'io.reactivex:rxandroid:1.0.1'
          compile 'com.squareup.okhttp3:okhttp:3.6.0'
          compile 'com.squareup.retrofit2:retrofit:2.1.0'
          compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
          compile 'com.squareup.retrofit2:converter-gson:2.1.0'
      }
      

三、功能集成

  • 3.1 通过配置文件配置AppKey、AppSecret

    build.gradle的配置主要包括填写Appkey和填写渠道id二部分,代码示例如下:

    
      defaultConfig {     
          resValue("string", "deal_app_key", "YOUR_APP_KEY")
          resValue("string", "deal_app_secret", "YOUR_APP_SECRET")
          resValue("string", "deal_channel", "Channel ID")
      }
      
  • 3.2 代码中配置AppKey、AppSecret 和 Channel、微信OpenId、微信UnionId

    如果希望在代码中配置Appkey、Channel、Token(Dplus)等信息,请在程序入口处调用如下方法:

    
      Configuration config = new Configuration(context);
      config.setAppKey()
      config.setAppSecret()
      config.setOpenid()
      config.setUnionid()
      Deal.startWithConfiguration(Configuration configuration)
      

    Configuration初始化参数类,提供多参数构造方式:

    
      Configuration(Context context, String appKey, String appSecret, String channel) 
      Configuration(Context context, String appKey, String appSecret, String channel,
      boolean isCrashEnable)
      

    构造意义:

    
      String appkey: 官方申请的Appkey
      String appSecret: 官方申请的appSecret
      String channel: 渠道号,可选
      Boolean isCrashEnable: 可选初始化. 是否开启crash模式
      String openId: 微信标识
      String unionId: 微信标识
      
  • 3.3 配置权限信息

    manifest的配置主要包括添加权限,代码示例如下:

    
      uses-permission android:name="android.permission.INTERNET"
      uses-permission android:name="android.permission.READ_PHONE_STATE"
      uses-permission android:name="android.permission.ACCESS_WIFI_STATE"
      uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
      

    INTERNET(必须) 允许应用程序联网,以便向我们的服务器端发送数据。
    READ_PHONE_STATE(必须) 获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户。
    ACCESS_WIFI_STATE(必须) 获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识
    ACCESS_NETWORK_STATE(必须) 检测联网方式,区分用户设备使用的是2G、3G或是WiFi

四、数据统计

  • 4.1 配置自动统计

    KuickDeal 在统计启动次数时以程序重新运行为标准,不需要您调用接口。SDK 初始化完成便自动记录,SDK 初始化代码示例如下:

    
      Deal.startTracing(Context context)
      
    如您想在初始化时并添加 Appkey 和 AppSecret 信息, 请参考 3.1、3.2

  • 4.2 手动记录特定行为数据

    接口定义如下:

    
      String commitBehaviour(String action, String content, String desc)
      

    参数意义:

    
      String action: 行为类型, 包括提交表单, 播放视频, 下载文件。
      String content: 行为内容
      String desc: 行为描述
      

    返回值意义:
    提交行为后, 会返回一个当前行为的唯一标示
    唯一标示可用于后续修正这次行为数据
    如修正某次视频播放行为结束时间

  • 4.3 修正手动记录的特定行为数据

    接口定义如下:

    
      Deal.updateBehaviourEndTime("you behaiour id")
      
  • 4.4 补全用户信息

    接口定义如下:

    
      Observable<Boolean> realNamed(Configuration config).subscribe(new Subscriber() {
              @Override
              public void onCompleted() {
    
              }
    
              @Override
              public void onError(Throwable e) {
    
              }
    
              @Override
              public void onNext(Boolean aBoolean) {
    
              }
          });
      

    示例代码:

    
      Configuration config = new Configuration(context);
      config.setCreateWay(Configuration.CreateWay.LOGIN);
      Configuration.User user = new Configuration.User();
      user.setId("585");
      user.setCompany("北京西会科技有限公司");
      user.setName("小哥");
      config.setUser(user);
      Configuration.UTM utm = new Configuration.UTM();
      utm.setUtm_source("source");
      utm.setUtm_campaign("campaign");
      utm.setUtm_medium("medium");
      utm.setUtm_content("content");
      utm.setUtm_term("term");
      config.setUtm(utm);
      Deal.realNamed(config).subscribe(new Subscriber() {
              @Override
              public void onCompleted() {
    
              }
    
              @Override
              public void onError(Throwable e) {
    
              }
    
              @Override
              public void onNext(Boolean aBoolean) {
    
              }
          });
      

    参数意义:

参数名 参数类型 参数描述 是否必填 默认值
config.createWay int 客户创建方式 Configuration.CreateWay.LOGIN
config.openid String 微信标识
config.unionid String 微信标识
config.user User 用户信息对象
user.id String 用户唯一标识
user.name String 用户名字
user.email String 用户邮箱
user.photo String 用户头像地址
user.company String 用户公司
user.phoneNum String 用户电话
user.title String 用户职位
config.utm UTM UTM参数
utm.utm_source String 来源
utm.utm_medium String 媒介
utm.utm_campaign String 名称
utm.utm_content String 内容
utm.utm_term String 关键词
  • 4.5 账号切换

    接口定义如下:

    
       Deal.quitApplication()
      

五、附录

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

results matching ""

    No results matching ""