腾讯即时聊天sdk

时间:2024-11-09 19:06:32

一. 初始化 腾讯即时通讯sdk

1. 程序日志注册

2. 连接通知回调  专门的类管理

3. 信息通知回调 专门的类

4. 初始化sdk

5. 注册推送 分ios8/ios以前

注册推送成功回调

发送devicetoken到腾讯服务器

注册推送失败回调

log

接收到推送

专门类负责

6. 即将注销活跃状态 resignActive

doBackgroud通知腾讯服务器

聊天控制器

tableview toobar navigationbar等界面

根据 接受identifier 获取 conversation

conversation获取指定数量的message, 把message打包成 各种类型的MyMsgModel, 并且加入MyMsgModel数组

tableview reload

###########################################################################

腾讯即时通讯的设计理念:

腾讯IM主要要使用的类是:

TIMConversation

TIMMessage

TIMManager

TIMGroupManager

回调方式支持2种: block和protocol, 可任选一种

其实这个即时通讯框架具备了 操作日志 和本地数据库 功能, 但是却把这两者封装起来, 开发人员用的时候完全不用考虑本地数据库和日志操作

通讯方式:

1. iphone客户端1 -> 发送消息

2. 腾讯服务器接收消息, 并存入服务器数据库, 转发消息 到iphone客户端2

3. -> iphone客户端2 接收到消息, 存入本地数据库

####################

获取文件/图片等比较大的文件时, 并没有把图片立即发到客户端, 而是使用 protocol/block 再次获取

####################

猜想数据库结构大致是:

消息记录表

消息记录ID  腾讯用户_发送方_ID 腾讯用户_接收方_ID 是否发送方 会话ID  记录内容  附件  创建时间  最后修改时间  

会话记录表

绘画记录ID  会话类型  会话_成员表ID 

会话_成员表

会话_成员ID    成员ID

TIManager则是管理数据库和表的创建和开启/修改

音视频聊天SDK

2.1.常用到的类

AVContext (上下文)

方法:

CreateContext() StartContext() StopContext() DestoryContext()

CreateRoom() EnterRoom() GetRoom() ExitRoom()

getAudioDeviceMgr() getVideoDeviceMgr()

AVRoom (房间)

枚举类型: AVRoomPair AVRoomMulti

委托: AVRoomDelegate AVRoomPairDelegate AVRoomMultiDelegate

AVEndPoint (用户/终端)

AVDevice (设备)

  AVAudioDevice (音频设备)

  AVVedioDevice (视频设备)

  AVRemoteVedioDevice (远程视频设备)

  AVCameraDevice (摄像头设备)

AVDeviceMgr (设备管理器)

AVVideoCtrl (视频控制)

AVAudioCtrl (音频控制)

  GetVolume()、SetVolume()、GetDynamicVolume()