Mob新产品MobIM(即时通讯)SDK简析

Mob开发者平台在2017年发布了一款即时通讯SDK--MobIM.相对于其他的即时通讯类的SDK有接入简单,后台稳定,在线技术支持,永久免费等等优势!

首先需要去Mob官网:mob.com注册成为mob的开发者,并创建自己的应用,得到appkey这些注册信息.
其次是在自己项目的plist文件里完成对mob的注册.


下面简单介绍几个核心的接口方法:

1.用户系统映射

[MobSDK setUserWithUid:@"123"
                          nickName:@"小明"
                            avatar:@"http://abc.png"
                          userData:nil];

2.发送消息(已发送文本消息为例,如要发送图片,语音,视频等消息可详细参考mob官方文档,在此就不赘述了.)

/**
初始化文字消息体
 
@param text 文字内容
@return 文字消息体实例
*/
MIMTextMessageBody *body = [MIMTextMessageBody bodyWithText:@"你好"];
 
/**
初始化消息对象
 
@param type 会话类型
@param to 单聊时,此参数为接收人的appUserId,群聊时,此参数为群组id
@param body 消息体
@return 消息对象
*/
MIMMessage *message = [MIMMessage messageWithConversationType:MIMConversationTypeSingle
                                                               to:@"123"
                                                             body:body];
/**
发送消息
 
@param msg 消息对象
@param completionHandler 完成回调
*/
[[MobIM getChatManager] sendMessage:message completion:^(MIMMessage *message, MIMError *error) {
    // 在此处理消息发送的回调,error为空时消息发送成功,此时回调回来的message会有相应的信息变更,可以根据回调回来的消息相关信息做对应展示
}];

3.接收消息
MobIM中设计的回调基本采用block形式处理,接收消息也是同样的方式,接收消息示例代码如下:

/**
接收消息时回调
 
@param handlerIdentifier 接收消息回调的唯一标识符,该标识不能为空或空字符串,其作用是用于在不需要时进行移除。例如:当进入和某个人聊天界面时需要调用该方法,当返回时“聊天界面控制器”销毁(dealloc)时需要调用下面的方法移除该监听.
@param messageHandler 处理接收到的消息block
*/
[[MobIM getChatManager] onMessageReceivedWithIdentifier:@"MobIM" messageHandler:^(MIMMessage *message) {
    NSLog(@"接收到消息: %@", message);
}];

设置了消息接收的监听后,如果不是要作为全局监听来使用的,那么就一定要在不需要的时候移除相应的监听,移除监听代码示例如下:

移除接收到消息的监听block
 
 @param handlerIdentifier block标识符
 */
[[MobIM getChatManager] removeMessageHandlerForIdentifier:@"MobIM"];
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,908评论 0 15
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,173评论 25 708
  • 写了快一个月的js和手机,突然由于业务的需要,我要给公司的WordPress 官网写点插件。 我一下子懵逼了,因为...
    RMITcoder阅读 741评论 0 0
  • 简谱是指一种简易的记谱法,分为字母简谱和数字简谱,一般今天我们所说的简谱是指数字简谱。 数字简谱起源于18世纪的法...
    YachinLau阅读 4,792评论 1 23