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);
}];
这就实现了发送消息的功能,这些代码可以写到相应的按钮点击事件中,实现自定义发送消息功能.