问题描述:在融云官网下载音视频通话SDK后,集成到项目之中后,功能不能使用.正常来说集成完成之后并且开通了音视频服务,聊天界面点击加号按钮会出现音视频通话按钮,但是我们集成到项目之后,在确认集成过程无误之后,确实未出现这两个按钮.
问题背景: 公司项目一开始没打算加入音视频功能,是后来加的,所以音视频SDK是单独在官网下载的.
问题解决过程:从官网下载了最新的SDK ,包括了最新的 IM SDK, 然后集成到项目.发现在聊天界面点击加号按钮出现的区域内没有这两个功能按钮,检查集成过程,确认无误之后到官网查询相关文档.(当时不知道这两个功能按钮在公司融云账号开通音视频服务之后会自动出现,走了很多弯路),照着文档手动在加号扩展区域添加了两个按钮,代码如下:
UIImage *imageFile2 = [RCKitUtility imageNamed:@"voip/actionbar_video_call_icon"
ofBundle:@"RongCloud.bundle"];
[self.chatSessionInputBarControl.pluginBoardView insertItemWithImage:imageFile2
title:NSLocalizedStringFromTable(
@"VoIPVideoCall", @"RongCloudKit", nil)
atIndex:4
tag:PLUGIN_BOARD_ITEM_VIDEO_VOIP_TAG];
UIImage *imageFile3 = [RCKitUtility imageNamed:@"actionbar_file_icon"
ofBundle:@"RongCloud.bundle"];
[self.chatSessionInputBarControl.pluginBoardView insertItemWithImage:imageFile3
title:NSLocalizedStringFromTable(
@"File", @"RongCloudKit", nil)
atIndex:5
tag:PLUGIN_BOARD_ITEM_FILE_TAG];
加上两个按钮之后发现点击没反应,遂重写这个方法
/*!
点击扩展功能板中的扩展项的回调
@param pluginBoardView 当前扩展功能板
@param tag 点击的扩展项的唯一标示符
*/
- (void)pluginBoardView:(RCPluginBoardView *)pluginBoardView clickedItemWithTag:(NSInteger)tag;
照着文档调用发起通话方法
[[RCCall sharedRCCall] startSingleCall:self.targetId mediaType:RCCallMediaVideo];//发起通话
然后进入了正在拨号的界面,此时我以为这个功能就完成了,但是没那么简单,被叫接不到通知,就是说没打通,调用这个方法
[[RCCall sharedRCCall] isVideoCallEnabled:ConversationType_PRIVATE];
发现音视频功能不能用!!! 没啥办法了,跟融云提工单吧,这里要注意了,要指出问题的要害,像我现在不能跟融云技术说我进通话界面了,对面收不到通话消息,问题本质往上找啊,其实是聊天界面点击加号按钮出现的区域内没有这两个功能按钮,以上的解决过程全都是无用功,在与融云技术交流中也确认了这一点.正常情况下,只要你开通音视频服务,这两个音视频功能按钮就会出现,功能也正常使用.最后根据融云给的解决方案,按照其提示更换合适的sdk,问题解决.
总的来说其原因是公司开通的是声网(融云用的引擎)的音视频服务,然而在官网下载的是Blink的引擎(之前5月份的时候,融云更换了引擎),SDK版本不匹配,换回2.8.30版本SDK,就没问题了,2.9.X版本是Blink的引擎,不能混用.
在工程中的截图 版本2.8.32
最后一定要确保融云音视频通话SDK 与 IM SDK 的匹配.有问题提工单给融云时,需要提供这个文件: 沙盒 下 library/preference/bundleID.plist,这里说下如何在真机下找到这个文件,上图:
选择文件
有问题留言吧.