實用的即時通訊(IM)
快速集成
一. 獲取AppKey
申請MobSDK的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個方法:
備註:MOBIM並不自帶用戶系統(沒有登錄與註冊操作,需要用戶有自己的),用戶成功登陸您自有用戶系統後,開發者可對接登錄MOBIM中相對應的用戶。本演示DEMO直接使用設備ID作為已登錄成功的標識
四、 混淆設置
MobIM已經做了混淆處理,再次混淆會導致不可預期的錯誤,請在您的混淆腳本中添加如下的配置,跳過對MobIM的混淆操作:
-keep class com.mob.**{*;}-dontwarn com.mob.**
五、注意事項
1. MobSDK默認為MobIM提供最新版本的集成,如果您想鎖定某個版本,可以在MobIM下設置「version 「某個版本」」來固定使用這個版本
2. 如果使用MobSDK的模塊會被其它模塊依賴,請確保依賴它的模塊也引入MobSDK插件,或在此模塊的gradle中添加:repositories { jcenter()}
可參考Sample的github開源地址:
https://github.com/MobClub/MobIM-for-Android
推薦閱讀: