步骤
1.账号注册
略
2.创建应用获得APP Id和App Key
创建好之后可以获得应用的APP Id和App Key,这两个值是要在Android中配置的
3.下载SDK
点击Android SDK使用教程,进入接口文档的页面
点击GitHub的地址进入
点击androidX 版本地址
下载好之后解压到本地,然后找到UdeskSDKUI,这是这个SDK文件中的一个核心模块,下面还有一个视频的udeskvideo模块,用不到它。
4.创建项目,导入UdeskSDKUI模块并配置
由于我是写一个Demo,所以我的命名是UdeskDemo,项目中的是AndroidX,gradle是5.4.1。项目创建完成之后,复制这个文件夹到你的工程的根目录下
接下来配置这个模块
①配置build.gradle
打开app的build.gradle
repositories { flatDir { dirs project(':UdeskSDKUI').file('libs') } } implementation project(':UdeskSDKUI')
②配置settings.gradle
打开工程根目录下的settings.gradle文件
在app后面加上,’:UdeskSDKUI’
然后Sync同步一下,这里需要等待一段时间,因为模块中也是有很多依赖库文件需要下载同步配置,同步完成之后,你的模块就会是这样
接下来来配置AndroidManifest.xml文件
<!-- Required 一些系统要求的权限,如访问网络等--> <uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" tools:ignore="ProtectedPermissions" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
这时安装一下,确定你之前的步骤没有问题,然后再在MainActivity中进行模块代码的配置
5.配置代码并使用
package com.llw.udeskdemo; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.TextView; import java.util.HashMap; import java.util.Map; import java.util.UUID; import cn.udesk.PreferenceHelper; import cn.udesk.UdeskSDKManager; import cn.udesk.config.UdeskConfig; import udesk.core.UdeskConst; public class MainActivity extends AppCompatActivity { private TextView tv_online_service; //替换成你们注册生成的域名 private String UDESK_DOMAIN = "1593286.s3.udesk.cn"; //替换成你们生成应用产生的appid private String AppId = "9d3a79847ba2c088"; // 替换成你们在后台生成的密钥 private String UDESK_SECRETKEY = "6b9ebea7645ad58a21919ac1e98eb745"; String sdkToken = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_online_service = (TextView)findViewById(R.id.tv_online_service); //传入注册的域名和密钥 readAndWriteDomainAndKey(); //获得Token if (TextUtils.isEmpty(sdkToken)) { sdkToken = UUID.randomUUID().toString(); } //使用前需要设置的信息: UdeskSDKManager.getInstance().initApiKey(getApplicationContext(), UDESK_DOMAIN, UDESK_SECRETKEY, AppId); tv_online_service.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Map<String, String> info = new HashMap<String, String>(); //sdktoken 必填** info.put(UdeskConst.UdeskUserInfo.USER_SDK_TOKEN, sdkToken); info.put(UdeskConst.UdeskUserInfo.NICK_NAME,"麻花藤"); info.put(UdeskConst.UdeskUserInfo.CELLPHONE,"15651818750"); //只设置用户基本信息的配置 UdeskConfig.Builder builder = new UdeskConfig.Builder(); builder.setDefualtUserInfo(info); //咨询会话 UdeskSDKManager.getInstance().entryChat(getApplicationContext(), builder.build(), sdkToken); } }); } private void readAndWriteDomainAndKey() { sdkToken = PreferenceHelper.readString(getApplicationContext(), "init_base_name", "sdktoken"); PreferenceHelper.write(getApplicationContext(), "init_base_name", "sdktoken", sdkToken); PreferenceHelper.write(getApplicationContext(), "init_base_name", "domain", UDESK_DOMAIN); PreferenceHelper.write(getApplicationContext(), "init_base_name", "appkey", AppId); PreferenceHelper.write(getApplicationContext(), "init_base_name", "appid", UDESK_SECRETKEY); } }