Android SDK接入文档#

添加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:daike-android:1.8.1'

因为我们使用Android Support Library,所以还需要增加对应依赖:

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'

SDK的初始化与使用#

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

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

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

完成初始化后,就可以在应用的任意Activity中通过调用:

Support.startFAQs(this)

唤起待客的界面,为用户提供客服服务了

如果需要跟你们的用户系统配合使用,请在用户登录后调用:

Support.login(userId, name, email)

API定义#

Support.initialize(Application application, String token, String secret, String appId)

SDK初始化接口


Support.registerNewMessageCallback(Support.NewMessageListener listener)

这个接口允许应用注册一个回调,当有服务器发来的聊天消息时,通知应用最新的消息内容和全部的未读数,NewMessageListener的定义如下:

public interface NewMessageListener {
    void onMessageReceived(Message message, int unreadCount);
}

应用可以通过Message得到消息的具体内容:

public static class Message {
    public String getText() {}
    public String getTimestamp() {}
}

timestamp为UTC时间的unix时间戳字符串,如1476770460.533


Support.unreadMessageCount()

返回所有的未读消息数给应用


Support.unreadMessages()

返回所有的未读消息的List,消息格式为Message


Support.login(String id, String name, String email)

应用注册当前用户,id为用户在应用中的用户id,后两个参数可以为空


Support.startFAQs(Activity activity)

启动SDK的界面


Support.startFAQs(Activity activity, boolean enableConversation)

启动FAQ,enableConversation可以开关是否支持聊天功能


Support.startConversation(Activity activity)

直接启动聊天界面,如果没有正在处理的工单,会先启动创建工单界面


Support.setProperties(Properties properties)

应用可以为当前用户设置一组自定义的属性,Properties的定义如下:

public static class Properties {
    public void put(String key, String value) {}
    public void put(String key, int value) {}
    public void put(String key, float value) {}
    public void remove(String key) {}
}

在Eclipse中使用SDK#

由于很多新的Android Features在Eclipse中已经不再支持了,所以如果在Eclipse/ant中编译的话,SDK不能支持5.0之前的rom,会有Runtime Exception

通过以下链接,下载SDK的aar版本:

wget https://jcenter.daikeapp.com/artifactory/daike-sdk/com/daikeapp/support/daike-android/1.8.1/daike-android-1.8.1.aar

将下载好的文件解压,并将classes.jar文件放入libs文件夹,并创建一个src文件夹:

unzip daike-android-1.8.1.aar
mv classes.jar libs
mkdir src

添加project.properties文件

echo "target=android-25" >> project.properties
echo "android.library=true" >> project.properties

如果使用的是ant,同时创建build.xml

android update project -p .

然后,在Eclipse中import SDK解压内容所在的文件夹,修改主项目project.properties,添加如下配置:

manifestmerger.enabled=true

在Eclipse中,右键点击主项目,选择Properties,在Android配置中,添加Library依赖,选择刚导入的sdk项目

在Eclipse中,右键点击sdk项目,选择Properties,在Android配置中,Library依赖添加sdk需要的support library,即可完成配置:

appcompat-v7
recyclerview-v7

更新历史#

请查看release notes