實用的即時通訊(IM)

實用的即時通訊(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開源地址:

github.com/MobClub/MobI


推薦閱讀:

TAG:科技 | 即時通訊IM |