Android 集成阿里百川实现在线客服、聊天功能

xiaoxiao2021-02-28  97

 

首先要感谢Android 技术 @淘子磊

最近开发中要实现在线客服和客服热线功能,实现在线客服有很多种方式,我觉得阿里百川做的事很好好的,无论是集成Step方面还是UI适配方面,关键还是免费的……

附上链接:

https://login.taobao.com/member/login.jhtml?f=bcbsconsole&sub=true&redirectURL=http://console.baichuan.taobao.com/applications.htm?spm=a3c0d.8121624.0.0.9SD1l2

 

在app的build.gradle中添加

 

dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') //必选 compile 'com.alibaba.mobileim:IMCore:2.0.2.1@aar' //可选,如果使用SDK的UI必须添加该依赖,如果不使用SDK的UI,完全自己开发UI则无需添加该依赖 compile 'com.alibaba.mobileim:IMKit:2.0.2.1@aar' }

 

 

repositories { maven { url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/' } flatDir { dirs 'libs' } }

 

初始化方法的调用必须放在Application onCreate方法中

如果您单纯是想体验云旺(OpenIM)的功能,建议拷贝使用以下代码。

如果您已经有了百川appkey,请将appkey请替换成您自己的百川appkey,如何查看appkey

finalString APP_KEY = "23015524"; //必须首先执行这部分代码, 如果在":TCMSSevice"进程中,无需进行云旺(OpenIM)和app业务的初始化,以节省内存; SysUtil.setApplication(this); if(SysUtil.isTCMSServiceProcess(this)){ return; } //第一个参数是Application Context //这里的APP_KEY即应用创建时申请的APP_KEY,同时初始化必须是在主进程中 if(SysUtil.isMainProcess(application)){     YWAPI.init(Application, APP_KEY); }

Step3 获取SDK对象实现

//此实现不一定要放在Application onCreate中 finalString userid = "testpro1"; //此对象获取到后,保存为全局对象,供APP使用 //此对象跟用户相关,如果切换了用户,需要重新获取 YWIMKit mIMKit = YWAPI.getIMKitInstance(userid, APP_KEY);

Step4 登录

登录需要用到IM账号跟IM密码,如果您单纯是想体验云旺(OpenIM)的功能,建议拷贝使用以下代码。

如果您已经有了百川appkey,您可能需要关注下如何开通IM账号

注意:建议在应用登录的时候,就执行IM的登录,避免因为使用问题造成消息到达率偏低。

//开始登录 String userid = "testpro1"; String password = "taobao1234"; IYWLoginService loginService = mIMKit.getLoginService(); YWLoginParam loginParam = YWLoginParam.createLoginParam(userid, password); loginService.login(loginParam,newIWxCallback() {     @Override     publicvoidonSuccess(Object... arg0) {     }     @Override     publicvoidonProgress(intarg0) {         // TODO Auto-generated method stub     }     @Override     publicvoidonError(interrCode, String description) {         //如果登录失败,errCode为错误码,description是错误的具体描述信息     } });

Step5 打开会话列表

打开会话列表(Activity)

Intent intent = mIMKit.getConversationActivityIntent(); startActivity(intent);

Step6 打开单聊窗口

打开普通聊天窗口(Activity)

finalString target = "testpro2";//消息接收者ID finalString appkey = "23015524";//消息接收者appKey Intent intent = mIMKit.getChattingActivityIntent(target, appkey); startActivity(intent);

打开客服聊天窗口(Activity)

//userid是客服帐号,第一个参数是客服帐号,第二个是组ID,如果没有,传0 EServiceContact contact = newEServiceContact("userid",0); //如果需要发给指定的客服帐号,不需要Server进行分流(默认Server会分流),请调用EServiceContact对象 //的setNeedByPass方法,参数为false。 //contact.setNeedByPass(false); Intent intent = mIMKit.getChattingActivityIntent(contact); startActivity(intent);

其它更多的打开窗口方式

请注意:

Step 1:如果想集成成功,必须服务端集成且提供给客户端IM账号密码,

否则,就会出现点击发送按钮无效果的坑,

Step 2: userid不是千牛登录账号,而是千牛设置的账户号

 

 

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-36211.html

最新回复(0)