现在很多 App 都需要集成 IM 功能,今天就为大家分享一下集成 IM 基本功能的步骤。本文内容以 JMessage 为例。 极光 IM ( JMessage ) = 极光推送 ( JPush ) + IM ,本篇只论述其中的 IM 部分,为大家快速集成 IM 功能提供一个简明的范例。
我们先来看一下 IM 的基本功能与本文内容的对应关系:
#import <JMessage/JMessage.h>
JMessage 核心头文件。这是唯一需要导入到你的项目里的头文件,它引用了内部需要用到的头文件。
[JMessage addDelegate:self withConversation:nil];
[JMessage setupJMessage:launchOptions
appKey:@"your appkey"
channel:@"channel name"
apsForProduction:NO
category:nil];
application:didFinishLaunchingWithOptions:
[JMSGUser registerWithUsername:@"username"
password:@"password"
completionHandler:^(id resultObject, NSError *error) {
}];
Parameters :
[JMSGUser loginWithUsername:@"username"
password:@"password"
completionHandler:^(id resultObject, NSError *error) {
}];
[JMSGConversation createSingleConversationWithUsername:@"username"
completionHandler:^(id resultObject, NSError *error) {
}];
[(JMSGConversation*)resultObject sendTextMessage:@"text"];
- (void)onReceiveMessage:(JMSGMessage *)message error:(NSError *)error{
if (message.content == kJMSGContentTypeText) {
NSString *text = ((JMSGTextContent *)message.content).text;
}
}
message.contentType
判断消息类型message.content
为文本内容并获取文本 text
以展示 UINSArray *messages = [(JMSGConversation*)resultObject messageArrayFromNewestWithOffset:nil limit:nil];
resultObject
转型后获取JMSGConversation *conversation = [JMSGConversation singleConversationWithUsername:username];
[conversation clearUnreadCount];
[JMSGConversation allConversations:^(id resultObject, NSError *error) {
}];
BOOL success = [JMSGConversation deleteSingleConversationWithUsername:username];
[JMSGUser userInfoArrayWithUsernameArray:nameArr completionHandler:^(id resultObject, NSError *error) {
}];
[JMSGGroup createGroupWithName:name desc:desc memberArray:members completionHandler:^(id resultObject, NSError *error) {
}];
[JMSGUser logout:^(id resultObject, NSError *error) {
}];
作者: pikacode - 极光( jpush 为极光团队账号)
知乎专栏:极光日报
1
HLT 2017-03-13 15:18:40 +08:00
这图是用什么画的
|
3
Binks 2017-03-13 16:33:51 +08:00
20 行够?服务器端不需要写代码???
|
4
yunji3344 2017-03-13 17:44:08 +08:00
功能容易推广难
|
5
tboy 2017-03-13 17:53:02 +08:00
这图是用什么画的
|
7
loveuqian 2017-03-13 22:10:35 +08:00 via iPhone
20 行都写不完一个 tableview
|
9
aristotll 2017-03-13 23:16:14 +08:00
几十行写成 XXX 的文章好像都不算库里面写了多少代码的
|
13
Quaintjade 2017-03-19 14:45:54 +08:00
想起了“一句话木马” 233
|