使用即时通讯(IM)SDK心得体验

当下最流行的SDK应该就是即时通讯SDK了,尝试了很多都是收费的,偶然间发现了一款免费的即时通讯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"];

```

希望可以给到有需要的程序员们帮助哈~


你可能感兴趣的:(使用即时通讯(IM)SDK心得体验)