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:+'
    }
}
AI 代码解读

2、在使用MobIM模块的build.gradle中,添加MobSDK插件和扩展,如:

// 添加插件
apply plugin: 'com.mob.sdk'
 
// 在MobSDK的扩展中注册MobIM的相关信息
MobSDK {
    appKey "d580ad56b***"
    appSecret "7fcae59a62342e7e2759e9e397c82***"
 
    MobIM {}
}
AI 代码解读

三. 添加代码
1、初始化MobIM
如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:

MobSDK.init(this);
AI 代码解读

以初始化MobSDK。
2、调用API
在应用启动后,用户自己的用户登录系统登录成功后调用如下api,设置用户到MobIM即可。
登录成功后,设置用户信息(IM会使用此用户进行通讯)

MobSDK.setUser("用户ID", "用户昵称","用户头像地址", null);
AI 代码解读

在需要监听消息回调的地方,调用如下api,设置消息监听

MobIM.addMessageReceiver(MobIMMessageReceiver mobMsgRever);
AI 代码解读

在IM程序时,调用移除监听消息接口:

MobIM.removeMessageReceiver(MobIMMessageReceiver mobMsgRever);
AI 代码解读

注:MobIMMessageReceiver是处理收到消息的回调接口,根据获取的消息进行处理,接口实现如下:

public interface MobIMMessageReceiver {
    void onMessageReceived(List<IMMessage> messageList);
}
AI 代码解读

获取会话列表

MobIM.getChatManager().getAllLocalConversations(MobIMCallback<List<IMConversation>> conversations)
AI 代码解读

发送消息

MobIM.getChatManager().sendMessage(msg, new MobIMCallback<Void>() {
    public void onSuccess(Void result)  {
        // TODO 处理消息发送成功的结果
    }
    public void onError(int code, String message)  {
        // TODO 根据错误码(code)处理错误返回
    }
});
AI 代码解读

备注:
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.**
AI 代码解读

五、注意事项

  1. MobSDK默认为MobIM提供最新版本的集成,如果您想锁定某个版本,可以在MobIM下设置“version “某个版本””来固定使用这个版本
  2. 如果使用MobSDK的模块会被其它模块依赖,请确保依赖它的模块也引入MobSDK插件,或在此模块的gradle中添加:
repositories {
    jcenter()
}
AI 代码解读

可参考Sample的github开源地址:
https://github.com/MobClub/MobIM-for-Android

目录
打赏
0
0
0
0
2
分享
相关文章
Android自定义view之利用drawArc方法实现动态效果
本文介绍了如何通过Android自定义View实现动态效果,重点使用`drawArc`方法完成圆弧动画。首先通过`onSizeChanged`进行测量,初始化画笔属性,设置圆弧相关参数。核心思路是不断改变圆弧扫过角度`sweepAngle`,并调用`invalidate()`刷新View以实现动态旋转效果。最后附上完整代码与效果图,帮助开发者快速理解并实践这一动画实现方式。
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
327 2
基于Android P,自定义Android开机动画的方法
基于android-11.0.0_r39,系统应用的手动签名方法和过程
本文介绍了基于Android 11.0.0_r39版本进行系统应用手动签名的方法和解决签名过程中遇到的错误,包括处理`no conscrypt_openjdk_jni-linux-x86_64`和`RegisterNatives failed`的问题。
454 2
|
9月前
|
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
303 15
Android 系统缓存扫描与清理方法分析
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
201 8
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
177 2
Android在rootdir根目录创建自定义目录和挂载点的方法
本文介绍了在Android高通平台的根目录下创建自定义目录和挂载点的方法,通过修改Android.mk文件并使用`LOCAL_POST_INSTALL_CMD`变量在编译过程中添加目录,最终在ramdisk.img的系统根路径下成功创建了`/factory/bin`目录。
503 1
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
本文分享了下载AOSP源码的方法,包括如何使用repo工具和处理常见的repo sync错误,以及配置Python环境以确保顺利同步特定版本的AOSP代码。
1601 0
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
Android面试题之View的invalidate方法和postInvalidate方法有什么区别
本文探讨了Android自定义View中`invalidate()`和`postInvalidate()`的区别。`invalidate()`在UI线程中刷新View,而`postInvalidate()`用于非UI线程,通过消息机制切换到UI线程执行`invalidate()`。源码分析显示,`postInvalidate()`最终调用`ViewRootImpl`的`dispatchInvalidateDelayed`,通过Handler发送消息到UI线程执行刷新。
125 1
Android项目架构设计问题之onFirstItemVisibleChanged方法的调用如何解决
Android项目架构设计问题之onFirstItemVisibleChanged方法的调用如何解决
76 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问