集成腾讯云IM

2017-08-03  本文已影响410人  16哥哥

1.下载腾讯云demo,他的demo里面需要的库都在framework里面:(按照文档,把所需要的库都添加,该设置的地方设置好就可以了)

2.开始真正的工作,我就拿3.0版本举例子:

(1)在.h文件中导入头文件:(一般是在AppDelegate的.h文件)

(2)登陆功能:

工作的第一步,先设置SDK相关的信息:

TIMSdkConfig *fig = [TIMSdkConfig new];

fig.sdkAppId = APPID;

fig.accountType = @"Type";

TIMManager * manager = [TIMManager sharedInstance];

[manager initSdk:fig];

登陆的时候你先需要设置登录信息:

TIMLoginParam * login_param = [[TIMLoginParam alloc ]init];

login_param.identifier = @"账号";

login_param.userSig = @"密码";

login_param.appidAt3rd = @“APPID";

然后调用登陆的方法:

[manager login: login_param succ:^(){

NSLog(@"Login Succ");

} fail:^(int code, NSString * err) {

NSLog(@"Login Failed: %d->%@", code, err);

}];

这就可以实现登陆效果了,如果出现了sig无效的错误,是因为你的账号并不是走后台创建的.

然后就是退出登录的功能,直接调用提供的方法就可以了:

[[TIMManager sharedInstance] logout:^() {

NSLog(@"logout succ");

} fail:^(int code, NSString * err) {

NSLog(@"logout fail: code=%d err=%@", code, err);

}];

(3)接收新消息功能:

这个功能需要咱们自己来做消息监听,这个功能需要在登陆之前注册好,在.h文件中创建一个类用来接收新消息:

@interface TIMMessageListenerImpl : NSObject

- (void)onNewMessage:(TIMMessage*) msg;

@end

然后在.m文件中,实现这个方法:

@implementation TIMMessageListenerImpl

- (void)onNewMessage:(NSArray*) msgs {

NSLog(@"NewMessages: %@", msgs);

}

@end

在登陆方法之前,将它进行注册:

TIMMessageListenerImpl * impl = [[TIMMessageListenerImpl alloc] init];

[[TIMManager sharedInstance] addMessageListener:impl];

这样,当你收到新消息时,就会调用onNewMessage:这个方法了,在这个方法里面,对新消息进行处理,接下来就是对消息进行传递,一般可以考虑用代理将数据创递给控制器然后刷新并展示就可以了.

(4)用户被踢下线功能:

这个功能也是需要我们自己来监听,方法同(3):

在.h文件中创建一个类专门监听用户状态:

// 监听用户状态

@interface TIMUserStatusListenerImpl : NSObject

- (void)onForceOffline;

- (void)onUserSigExpired;

@end

然后在.m文件实现这个方法:

@implementation TIMUserStatusListenerImpl

- (void)onForceOffline {

NSLog(@"force offline");

}

- (void)onUserSigExpired {

NSLog(@"userSig expired");

}

@end

最重要的事不要忘记关联一下,否则监听会失败:

TIMUserStatusListenerImpl * status = [[TIMUserStatusListenerImpl alloc] init];

TIMUserConfig * cfg = [[TIMUserConfig alloc] init];

cfg.userStatusListener = status;

[manager setUserConfig:cfg];

现在当被踢掉时,就会调用onForceOffline这个方法

(5)消息发送功能(接收消息功能已经在第三步实现了)

第一步就是要创建聊天:

TIMConversation * c2c_conversation = [[TIMManager sharedInstance] getConversation:TIM_C2C receiver:@“用户identify"];

第二补就是发送消息,消息分为很多种,不同种情况有不同的消息创建,现在就以文本消息为例子:

TIMTextElem * text_elem = [[TIMTextElem alloc] init];

[text_elem setText:@"this is a text message"];

TIMMessage * msg = [[TIMMessage alloc] init];

[msg addElem:text_elem];

[c2c_conversation sendMessage:msg succ:^(){

NSLog(@"SendMsg Succ");

}fail:^(int code, NSString * err) {

NSLog(@"SendMsg Failed:%d->%@", code, err);

}];

这就实现了发送消息的功能,这些代码可以写到相应的按钮点击事件中,实现自定义发送消息功能.

上一篇下一篇

猜你喜欢

热点阅读