迎客Android接入文档#

添加SDK依赖#

假设Android Studio的主module为app

修改顶级build.gradle,添加待客的repository,令其看起来是这样:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://jcenter.daikeapp.com/artifactory/daike-sdk"
        }
    }
}

其中

maven {
    url "https://jcenter.daikeapp.com/artifactory/daike-sdk"
}

是需要添加的部分

修改appdependencies,增加:

compile 'com.daikeapp.support.yingke:yingke-android:1.0.0'

SDK的初始化与使用#

在应用的Application.onCreate中,调用初始化函数:

Yingke.initialize(this, token, secret, appId)

其中,tokensecretappId可以通过网站后台获取,请务必保证在Application的onCreate中调用该方法,避免运行过程中出现运行时错误

在用户登录后,调用登录函数:

Yingke.login(userId)

只有登录后,sdk才会开始追踪用户的使用情况

用户登录后,调用 Yingke.logout() 可以停止追踪用户行为

更新用户资料#

Yingke.updateProfile(JSONObject profile)

支持传入任意的键值对作为用户属性,这些属性会显示在迎客的后台

Yingke.bindFacebook(facebookId)

为用户绑定Facebook帐号

追踪用户行为#

用户行为分为系统定义事件与开发者自定义事件,都支持通过 JSONObject 传入自定义数据。约定:自定义数据中以$开头的key会保留为系统内部使用,开发者传入的会被忽略

支付事件

Yingke.track(Yingke.Trackable.EVENT_PAYMENT_STARTED, props) // 开始支付
Yingke.track(Yingke.Trackable.EVENT_PAYMENT_SUCCESS, props) // 支付成功
Yingke.track(Yingke.Trackable.EVENT_PAYMENT_FAILED, props) // 支付失败

props中系统字段为:

字段名 含义
$transaction_id 交易ID
$name 交易名称
$amount 交易金额
$currency 币种,符合ISO 4217的字符串

对话事件:

Yingke.track(Yingke.Trackable.EVENT_USER_SAID, props)

props中系统字段为:

字段名 含义
$to 聊天对象
$line 说话内容

自定义事件:

Yingke.track("custom_event", props)

开发者自定义事件,支持任意不以$开头的事件名,会直接显示在迎客后台

直接引入jar包#

直接下载已经打包好的aar包,解压后,将其中的classes.jar作为项目依赖引入工程

同时在AndroidManifest.xml中加入:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />