一. 获取AppKey
二. 配置gradle
1、将下面的脚本添加到您的根模块build.gradle中:
buildscript {
// 添加MobSDK的maven地址
repositories {
maven {
url "http://mvn.mob.com/android"
}
}
dependencies {
// 注册MobSDK
classpath 'com.mob.sdk:MobSDK:+'
}
}
2、在使用MobIM模块的build.gradle中,添加MobSDK插件和扩展,如:
// 添加插件
apply plugin: 'com.mob.sdk'
// 在MobSDK的扩展中注册MobIM的相关信息
MobSDK {
appKey "d580ad56b***"
appSecret "7fcae59a62342e7e2759e9e397c82***"
MobIM {}
}
三. 添加代码
1、初始化MobIM
如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:
MobSDK.init(this);
以初始化MobSDK。
2、调用API
在应用启动后,用户自己的用户登录系统登录成功后调用如下api,设置用户到MobIM即可。
登录成功后,设置用户信息(IM会使用此用户进行通讯)
MobSDK.setUser("用户ID", "用户昵称","用户头像地址", null);
在需要监听消息回调的地方,调用如下api,设置消息监听
MobIM.addMessageReceiver(MobIMMessageReceiver mobMsgRever);
在IM程序时,调用移除监听消息接口:
MobIM.removeMessageReceiver(MobIMMessageReceiver mobMsgRever);
注:MobIMMessageReceiver是处理收到消息的回调接口,根据获取的消息进行处理,接口实现如下:
public interface MobIMMessageReceiver {
void onMessageReceived(List<IMMessage> messageList);
}
获取会话列表
MobIM.getChatManager().getAllLocalConversations(MobIMCallback<List<IMConversation>> conversations)
发送消息
MobIM.getChatManager().sendMessage(msg, new MobIMCallback<Void>() {
public void onSuccess(Void result) {
// TODO 处理消息发送成功的结果
}
public void onError(int code, String message) {
// TODO 根据错误码(code)处理错误返回
}
});
备注:
MobIM并不自带用户系统(没有登录与注册操作,需要用户有自己的),用户成功登陆您自有用户系统后,开发者可对接登录MobIM中相对应的用户。
MOBIMCallback
MOBIMCallback是MOBIM所有异步操作的结果回调,包含下面2个方法:
方法名称 参数列表 使用说明
onSuccess T t 具体操作的结果数据 成功回调
onError int code, String message 具体操作的异常类型
关于错误码的项目描述,请参考 [MobIM错误码]
错误回调
备注:MOBIM并不自带用户系统(没有登录与注册操作,需要用户有自己的),用户成功登陆您自有用户系统后,开发者可对接登录MOBIM中相对应的用户。本演示DEMO直接使用设备ID作为已登录成功的标识
四、 混淆设置
MobIM已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对MobIM的混淆操作:
-keep class com.mob.**{*;}
-dontwarn com.mob.**
五、注意事项
- MobSDK默认为MobIM提供最新版本的集成,如果您想锁定某个版本,可以在MobIM下设置“version “某个版本””来固定使用这个版本
- 如果使用MobSDK的模块会被其它模块依赖,请确保依赖它的模块也引入MobSDK插件,或在此模块的gradle中添加:
repositories {
jcenter()
}
可参考Sample的github开源地址:
https://github.com/MobClub/MobIM-for-Android