iOS 网络编程极光iOS 开发

20 行代码极速为 App 加上聊天功能

2016-12-09  本文已影响3995人  pikacode

现在很多 App 都需要集成 IM 功能,今天就为大家分享一下集成 IM 基本功能的步骤。本文内容以 JMessage 为例。
极光 IM ( JMessage ) = 极光推送 ( JPush ) + IM,本篇只论述其中的 IM 部分,为大家快速集成 IM 功能提供一个简明的范例。

我们先来看一下 IM 的基本功能与本文内容的对应关系:


line 0:准备工作


line 1:引入头文件


#import <JMessage/JMessage.h>

JMessage 核心头文件。这是唯一需要导入到你的项目里的头文件,它引用了内部需要用到的头文件。

line 2:开启事件监听


[JMessage addDelegate:self withConversation:nil];

line 3:启动 SDK


[JMessage setupJMessage:launchOptions
                 appKey:@"your appkey"
                channel:@"channel name"
       apsForProduction:NO
               category:nil];

line 4:注册新用户


[JMSGUser registerWithUsername:@"username" 
                      password:@"password"
             completionHandler:^(id resultObject, NSError *error) {
}];

Parameters:

line 5:登录


[JMSGUser loginWithUsername:@"username" 
                   password:@"password" 
          completionHandler:^(id resultObject, NSError *error) {
}];

line 6:创建单聊会话


[JMSGConversation createSingleConversationWithUsername:@"username" 
                                     completionHandler:^(id resultObject, NSError *error) {
}];

line 7:发送文本消息


[(JMSGConversation*)resultObject sendTextMessage:@"text"];

line 8~12:接收文本消息


- (void)onReceiveMessage:(JMSGMessage *)message error:(NSError *)error{
    if (message.content == kJMSGContentTypeText) {
        NSString *text = ((JMSGTextContent *)message.content).text;
    }
}

line 13:获取历史消息


NSArray *messages = [(JMSGConversation*)resultObject messageArrayFromNewestWithOffset:nil limit:nil];

line 14~15:清零单聊未读消息数


JMSGConversation *conversation = [JMSGConversation singleConversationWithUsername:username];
[conversation clearUnreadCount];

line 16:获取会话列表


[JMSGConversation allConversations:^(id resultObject, NSError *error) {
}];

line 17:删除单聊会话


BOOL success = [JMSGConversation deleteSingleConversationWithUsername:username];

line 18:批量获取用户详情


[JMSGUser userInfoArrayWithUsernameArray:nameArr completionHandler:^(id resultObject, NSError *error) {
}];

line 19:创建群组及相关操作


[JMSGGroup createGroupWithName:name desc:desc memberArray:members completionHandler:^(id resultObject, NSError *error) {
}];

line 20:退出登录


[JMSGUser logout:^(id resultObject, NSError *error) {
}];
至此一个 IM 的各种基本操作就完了,是不是

很简单?

上一篇下一篇

猜你喜欢

热点阅读