




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
云之讯融合通讯开放平台 IOS 开发指南 1 快速体验 在云之讯平台注册账号,创建 Demo 账号,并下载获取 UCSVoipDemo 程序(具体过 程请参考以下内容) 。 在 Demo 程序中,演示了云之讯平台提供的网络通话、落地电话、回拨、即时消息。 1.1 申请测试账号 在云之讯平台上获取 Demo 账号信息,须注册后创建 Demo,即可获得开发 VoIP 所需 的测试帐号信息。 测试账号信息内容有:SID、TOKEN 、VoIP 账号、VoIP 账号密码。 1.2 环境搭建 Mac OS X 10.7 (Lion)及以上版本; XCode4.2 及以上版本,. 1.3 Demo 介绍 下载:在 Demo 账号信息页面,提供了 Android 和 IOS 平台下的 Demo 下载,请选择 IOS 版下载。 UCSVoipDemo 功能介绍,Demo 演示了 UCSSDK 的 API 口调用,主要实现的功能: 免费电话:需要对方的 VoIP 账号,免费通话 电话直拨:需要对方的手机号,主叫接入网络电话,被叫接入普通电话的网络通 话 回拨呼叫:需要对方的手机号,双方都会接入普通电话网络进行通话 UCSVoipDemo 工程文件结构说明: Product:应用生成的 app Framework:包含工程需要依赖的资源项,主要是系统和需要依赖的库资源 UCSVoipDemo:包含整个工程需要完成的代码文件:视图控制类的实现文件、 resource 文件夹 (账号文件,图片资源文件等)、ccp sdk 文件夹(SDK 库文件)、Supportting Files 文件夹。 1.4 导入 DEMO 工程 解压下载 UCS_PHONE_DEMO_IOS.rar(此名字取决于官网的)文件,在解压缩的文件夹中, 双击 UCSVoipDemo.xcodeproj 文件,在 XCode 中打开工程,即可对 Demo 进行 其他操作。 1.5 配置账号信息 打开 resourceucsinfoconfig.plist 文件,将申请测试账号时获取的 Demo 账号信息,依次输 入配置文件中,如图所示: 云之讯融合通讯开放平台 2 创建自己的 VoIP 应用 这一节是为了让开发者能够用最少的代码量和时间,来实现基本的 VoIP 通话功能。 2.1 SDK 介绍 SDK 下载:从 UCPaaS 平台下载 VoIP 的 IOSSDK SDK 文件说明: SDK 文件放在文件夹 ucpsdk 中,其中包含三个文件: UCSService.h:为应用调用的函数头文件 UCSEvent.h:为 SDK 的代理函数头文件 libucsapisdk.a:为整个 SDK 库文件 2.2 创建工程 2.2.1 新建工程 创建一个 iPhone 工程需要在 Mac 系统下面安装 Xcode 的软件,Xcode 安装完成后可以 在桌面的快速启动栏中的“Launchpad“中或者应用程序中找到一个图标 看到后单击或者 双击即可打开软件,Xcode 版本最小需要 4.2。 打开 Xcode 后的界面可以看到几个选项,创建工程需要选择“Create a newXcode project“,如 下图所示: 也可以根据菜单创建工程,依次选择 XCode 菜单栏中的 FiLe-New-Project,如下图 所示: 选择完后弹出的界面中选择左边的“IOS“下面的“Application“,然后选择右边的 “SingLeViewAppLication“进行双击或者点击右下角“Next“, 如下图所示: 在完成后弹出的界面中的“ProductName“中填写你的工程名,如下图所示: 添加完成后点击右下角的”Next” ,在弹出的对话框中选择你需要把工程放置的位置。 这样一个工程就初步的创建完成。 云之讯融合通讯开放平台 2.2.2 导入 UCSSDK 创建完成工程后,把 SDK 包里面的 ucssdk 文件夹拷贝到新创建的工程路径下面,然 后在工程目录结构中,右键选择 Add Files to “UCSVoipDemo”(工程名厂,在弹出的对话框 中选择新创建的工程文件夹下的 ccpsdk 这个文件夹( 也就是前面拷贝的文件夹)。或者将这 个文件夹拖入 XCode 工程目录结构中, 在弹出的界面中勾选 Copy items into destination groups folder(ifneeded),并确保 Add To Targets 勾选相应的 target。 相应的操作请看下图中所示: 2.2.3 配置工程信息 添加依赖框架(Frameworks) UCSSDK 的实现,依赖了一些系统框架,在开发应用时,要在工程里加入这些框架。 开发者首先点击工程右边的工程名,然后在工程名右边 依次选择 TARGETS-BuiLd Phases- Link Binary With Libraries,展开 LinkBinary With Libraries 后点击展开后下面的“+“来添加下 面的依赖项: 云之讯融合通讯开放平台 添加步骤如图所示: 编译器设置 在 xcode5.1 环境下,首先点击工程右边的工程名,然后在工程名右边依次选择 TARGETS、Build Settings compiler 5.1- Language”中的”C+ Standard Library“.存后面的选择 框中选择 libstdc+(GNU C+ standard Library)”选项,如果默认是则 不需要修改。步骤如下 图所示: 云之讯融合通讯开放平台 工程属性设置 一般的 iOS 程序进入后台后会被系统挂起,就会停止执行,不能执行任何操作。 A. 从 iOS4 开始,苹果增加了特性,很好的支持了 VoIP 功能: 苹果支持应用可以在后台播放和录制声音; 苹果支持网络托管,保证应用在后台时,还能保持网络连接,能接收到来电; 应用可以设置一个超时处理,程序在后台运行时,周期性地唤醒应用,保证 客户端和服务器有长连接,使网络不断开。 B. UCSSDK 封装了这些特性,保证了在 iS 平台上,有很好的 VoIP 体验。 C. 开发者需要修改配置文件,这样 IOS 工程才能支持这些特性。 在工程名的文件夹下面的 Supporting Files 文件夹中找到并且选择 (工程名) lnfo.pList 在右边出现的窗口中添加 Key: Required background modes,在下面添加两个 项:App plays audio 和 App provides Voice over IP services。 2.3 编写代码 介绍代码的实现过程,也可参考 Demo 的代码实现。 注意事项:调用 SDK 文件要以.mm 为后缀,要包含头文件 UCSService.h 和 UCSEvent.h。 2.3.1CCPSDK 初始化 初始化 SDK 的代码 /初始化 CCPSDK,并传入代理实现的类实例 UCSService* ucsService = UCSService alloc initWithDelegate:self; /另一种初始化方式 UCSService* ucsService = UCSService alloc init; ucsService setDelegate:self; 注意事项:必须要设置代理 2.3.2 VoIP 账号连接云平台 A. VoIP 登录 ucsCallService connect:accountSid withAccountToken:accountToken withClientNumber:clientNumber withClientPwd:clientPwd B. 注册事件相关代理 /与云之讯平台连接成功- (void) onConnectionSuccessful:(NSInteger)result /连接云平台成功后的处理代码 /TODO /与云之讯平台连接失败或连接断开 -(void)onConnectionFailed:(NSInteger)reason /连接云平台失败后的处理代码 /TODO 云之讯融合通讯开放平台 2.3.3 创建 VoIP 免费通话(或电话直拨)连接 A. 创建呼出代码 /拨打免费通话 (对方 VoIP 账号 )或电话直拨 (对方电话号码) ucsCallService dial:callType andCalled:calledNumber; B. 创建成功并连接被叫过程中代理函数 - (void) onAlerting:(NSString*)callid; C. 对方接听的代理函数 -(void) onAnswer:(NSString*) callid; /对方已接听 /TODO D. 呼叫失败(被叫拒接,被叫忙等原因 )的代理函数,可参考错误码查找失败原因 - (void) onDialFailed:(NSString*)callid withReason:(UCSReason*)reason; /呼叫失败,可根据 reason 查找错误原因 /TODO E. 通话过程中,对方挂断的代理函数 - (void) onHangUp:(NSString*)callid withReason:(UCSReason*)reason; /通话过程中,对方挂断电话 /TODO 2.3.4 创建 VoIP 回拨呼叫连接 A. 创建 VoIP 回拨呼叫 /通过 FromPhone(绑定的手机号)回拨呼叫到 toPhone ucsCallService callBack:phoneNumber; 说明:回拨呼叫成功后,FromPhone 首先接到 VoIP 落地电话,接听后,dest 才接到 VoIP 落地电话。 B. 回拨结果代理函数 回拨回调:原因可参考错误码 - (void)onCallBackWithReason:(UCSReason*)reason if(reason.reason = 0) /回拨成功 else /回拨失败错误原因可以看错误码定义 2.3.5 接收 VoIP 通话呼入 实现代理函数 -(void)onIncomingCall:(NSString*)callid withcalltype:(UCSCallTypeEnum) callType withcallerNumber:(NSString*)callerNumber; /有 VoIP 电话呼入处理 /TODO 2.3.6 接听 VoIP 通话 A. 接听 VoIP 电话,使用 callid 参数标识接听某个具体的 VoIP 电话 - (void) answer: (NSString*)callid; if(callid) /接听成功 /T0D0 else 云之讯融合通讯开放平台 /接听失败 /TODO B. 接听成功的代理函数 -(void) onAnswer:(NSString*)callid; /接听成功 /T0D0 2.3.7 挂断(或被叫拒接)VolP 通话 来电拒接,通话过程中的挂断函数: ucsCallService hangUp:callid; 2.4 编译运行和测试 在用 Xcode 打开工程后,看是需要用真机还是用模拟器运行应用,默认是模拟器下编 译运行的,单击左上角的三角符号就可以进行应用运行, 如果是真机则需要你插上真机连 接电脑,然后在最上面有单击“iPhone6.1SimuLator“(6.1 为模拟器的版本) 后可以看到显示你 iPhon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 26649-2025镁合金汽车车轮铸件
- 应急安全技能培训内容课件
- 新解读《DL-T 698.41-2010电能信息采集与管理系统 第4-1部分:通信协议-主站与电能信息采集终端通信》
- 2025年内蒙古巴彦淖尔市蒙医医院招聘3人笔试高频难、易错点备考题库及参考答案详解1套
- 应急专家培训课件
- 2025重庆市渝中区大坪街道社区卫生服务中心招聘2人笔试备考题库及答案详解(新)
- 2025年山东济南市章丘区所属事业单位招聘初级综合类岗位31人笔试备考题库及完整答案详解1套
- 癌症预警信号与自我检查
- 艾灸在秋季腹泻恢复期调理中适用范围
- 管水库合同(标准版)
- 项目2 植物生长的土壤环境调控
- 公司司库管理系统执行管理办法
- 密歇根九级综合复习题
- 供货方案及保证措施供货服务方案
- 新冠核酸检测结果报告单
- 2023年人教版初中英语八年级Unit 4 教案
- 施乐S2011、S2320、S2520维修手册
- GB/T 32892-2016光伏发电系统模型及参数测试规程
- GB/T 10708.1-2000往复运动橡胶密封圈结构尺寸系列第1部分:单向密封橡胶密封圈
- 骨髓细胞学检查-英文版课件
- 惠普云教室用户操作手册
评论
0/150
提交评论