美文网首页
实用的即时通讯(IM)

实用的即时通讯(IM)

作者: 皮皮酱ye | 来源:发表于2018-06-05 12:07 被阅读0次

    快速集成

    一.获取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 messageList);

    }

    ```

    获取会话列表

    ```

    MobIM.getChatManager().getAllLocalConversations(MobIMCallback> conversations)

    ```

    发送消息

    ```

    MobIM.getChatManager().sendMessage(msg, new MobIMCallback() {

        public void onSuccess(Void result)  {

    // TODO处理消息发送成功的结果

        }

        public void onError(int code, String message)  {

    // TODO根据错误码(code)处理错误返回

        }

    });

    ```

    备注:

    MobIM并不自带用户系统(没有登录与注册操作,需要用户有自己的),用户成功登陆您自有用户系统后,开发者可对接登录MobIM中相对应的用户。

    ## MOBIMCallback

    MOBIMCallback是MOBIM所有异步操作的结果回调,包含下面2个方法:

    ![1](https://yqfile.alicdn.com/1a4519a2049acb068627284fc62e2084cdabc86c.png)

    备注: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

    相关文章

      网友评论

          本文标题:实用的即时通讯(IM)

          本文链接:https://www.haomeiwen.com/subject/wdypsftx.html