天天看點

Android MobIM的免費使用方法

一. 擷取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.**           

五、注意事項

  1. MobSDK預設為MobIM提供最新版本的內建,如果您想鎖定某個版本,可以在MobIM下設定“version “某個版本””來固定使用這個版本
  2. 如果使用MobSDK的子產品會被其它子產品依賴,請確定依賴它的子產品也引入MobSDK插件,或在此子產品的gradle中添加:
repositories {
    jcenter()
}           

可參考Sample的github開源位址:

https://github.com/MobClub/MobIM-for-Android

繼續閱讀