iOS集成腾讯云IMSDK

首先登录云通讯网站点这里,下载SDK后,里面包含了用到的SDK和demo。我目前用的版本是3.2.0,基础集成的话看官方文档就可以了。这里说的是使用独立模式进行集成,文档中基础集成完成后就需要根据具体需求使用具体的SDK里面的API了,由于公司只需要使用聊天功能,用到的也就是即时聊天和群聊功能了。

初始化SDK,在 AppDelegate.m 中的 didFinishLaunchingWithOptions 方法中

//初始化TIMSDK

    TIMManager *manager =  [TIMManager sharedInstance];

    TIMSdkConfig *sdkConfig = [[TIMSdkConfig alloc]init];

    sdkConfig.disableCrashReport = YES;    //  是否上报cash日志,可在云通讯控制台查看

    sdkConfig.sdkAppId = @"你的APPID";        //  APPID,生成APP时返回的ID

    sdkConfig.accountType = @"7221";            //  账号类型,生成时返回

    [manager initSdk:sdkConfig];                       //  初始化

    //  绑定当前用户配置信息

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

    user.userStatusListener = self;        //  用户登录状态监听,具体有哪些功能可以点进去看

    [manager setUserConfig:user];


云通讯需要用户登陆后才可以使用,所以初始化完成后应该是APP的登录界面,由于是独立模式,所以在登录过程中需要服务器做好跟腾讯服务器的对接,这样我们的账号可以直接登录使用。

//    在写好的登录界面中,实现登录方法

[[TIMManager sharedInstance] login:param succ:^{

        NSLog(@"登录成功:%@ tinyid:%llu sig:%@", param.identifier, [[IMSdkInt sharedInstance] getTinyId], param.userSig);

    }fail:^(intcode,NSString*msg) {

        NSLog(@"TIMLogin Failed: code=%d err=%@", code, msg);

        if(code == kEachKickErrorCode)

        {

            //互踢重联,重新再登录一次

            //下面这句代码是 demo 中做好的互踢重连的方法,也可以自己实现相应功能

           // [ws offlineKicked:param succ:succ fail:fail];

        }

    }];

#define kEachKickErrorCode 6208    //    互踢下线码


登录完成之后获取用户的好友列表,点击其中的好友跳转到聊天界面,聊天界面可以自己实现,也可以用 demo 中封装好的聊天界面。到此,一个即时聊天的流程算是完成了,其他细节的东西可以跟着 demo 看看。


//    获取好友列表

[[TIMFriendshipManager sharedInstance] getFriendList:^(NSArray * arr) {

        [tabDatasetArray:arr];

        [tab reloadData];    //    tab 是个 mutableArray

        for(TIMUserProfile* profileinarr) {

            NSLog(@"好友列表: %@", profile.identifier);

        }

    }fail:^(intcode,NSString* err) {

        NSLog(@"获取好友列表失败: code=%d err=%@", code, err);;

    }];


//    TIMConversation 会话结构体,用来发送消息

TIMConversation *_conversation = [[TIMManager sharedInstance] getConversation:TIM_C2C receiver:[user userId]];

//    其中,TIM_C2C 表示单对单聊天,[user userId] 是上面获取到的好友列表之后,选中进行聊天的好友 ID

[_conversation sendMessage:msg succ:^{

NSLog(@"消息发送成功");

        }fail:^(intcode,NSString*err) {

            NSLog(@"发送消息失败");

        }];


//    发送消息中的 msg 是 TIMMessage 的一个实例,实现如下:

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

elem.text= text;    //    text 为用户输入的文本

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

[msg addElem:elem];

你可能感兴趣的:(iOS集成腾讯云IMSDK)