集成腾讯云IM

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);

}];

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上篇简单的讲述了云通信IM的集成;本篇将着重从代码上分析客户端获取消息基本的实现方法、自定义消息、发送emo...
    AlexYoD阅读 5,875评论 6 9
  • 本篇文章会就集成腾讯云IM碰到的部分问题进行汇总,问题如下: 问题1:方法数超过63500? 1、在build.g...
    AlexYoD阅读 2,617评论 1 3
  • 最近,项目涉及到集成腾讯云IM,深受其害!故特记以此篇,望对各位看客能有所帮助! 关于腾讯云集成,...
    AlexYoD阅读 12,873评论 14 17
  • 最近做的项目,需要接入腾讯云 IM,翻看了一下文档,iOS、Android 以及 Web 端基本上都有 SDK 可...
    莫17阅读 1,494评论 3 2
  • 走进花芦 秋雨淅沥 秋色已把花海 折磨成残花败柳 从此心情沉重 走进花芦 昔日葵花,金菊,薰衣草 不见姿色 顽强的...
    温继荣阅读 493评论 0 0