视频说明 (如果不能播放,请点击,查看视频

快速集成视频

目标

通过少量的代码,能够实现具有IM功能的APP,同时包含标准的UI(最近会话列表,聊天窗口)

前置准备

1、如果您单纯是想体验云旺(OpenIM)的功能,建议直接跳过这一步。直接查看快速集成

2、在这个集成教程中,我们使用已创建的Demo应用,向您展示如何快速地集成OpenIMKit(Android)。

3、您需要入驻开发者并且创建应用后,才能集成云旺(OpenIM)并且发布您的App。

参考:集成SDK前的准备工作

4、您需要在完成快速集成后,将一些内容替换为您申请到的特定内容,才能发布您的App。对于这些需要替换的内容,会在教程中以注意点的形式标识出。

5、有其它问题,请在论坛中提问咨询

快速集成


Step1 引入OpenIMSDK

如果您单纯是想体验云旺(OpenIM)的功能,建议直接跳过这一步。直接下载Demo

Step1.1 Android Studio集成

Step1.1.1 配置maven仓库地址

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

Step1.1.2 依赖OpenIMSDK

dependencies {
    //必选
    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'
    //可选,如果使用小视频功能必须添加该依赖,如果不使用小视频功能则无需添加该依赖
    compile 'com.alibaba.mobileim:RecorderSDK:1.0.0@aar'
}

Step1.2 aar集成

Step1.2.1 配置build.gradle

repositories {
    flatDir {
        dirs 'libs'
   }
}

Step1.2.2 添加依赖

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile(name: 'IMCore-2.0.2', ext: 'aar')
   compile(name: 'IMKit-2.0.2', ext: 'aar')
}

Step2 初始化

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

如果您单纯是想体验云旺(OpenIM)的功能,建议拷贝使用以下代码。如果您已经有了百川appkey,请将appkey请替换成您自己的百川appkey,如何查看appkey

final String 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中
final String 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, new IWxCallback() {

    @Override
    public void onSuccess(Object... arg0) {
    }

    @Override
    public void onProgress(int arg0) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onError(int errCode, String description) {
        //如果登录失败,errCode为错误码,description是错误的具体描述信息
    }
});

Step5 打开会话列表

打开会话列表(Activity)

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

Step6 打开单聊窗口

打开普通聊天窗口(Activity)

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

打开客服聊天窗口(Activity)

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

其它更多的打开窗口方式

有些情况下要想使用Fragment方式来打开界面(单聊,客服,群),请参考这里

集成过程的常见问题

截止当前,恭喜您已经完成了核心功能的集成。如果在此过程中碰到了问题,请查看这里

需要更多高级功能,请往下看。


更多功能

上述的快速集成文档能够让您以最快的速度完成OpenIM SDK的集成。您可能会对如下主题感兴趣:

  1. UI定制如何使用
  2. 联系人功能
  3. 头像和昵称修改
  4. 群聊怎么实现
  5. 客服功能怎么使用
  6. 客服场景足迹扩展
  7. 常见错误排查

FAQ

旺信不支持aapt2.报错~

初始化问题,出现不止一个包

返回
顶部