iOS 语音集成
提示
iOS 语音的集成文档仅针对 iOS 客户端开发人员。其他端开发人员无需做额外处理,只要保证各端语音跑通,则天然支持多端语音带看。
警告
开始前请确保您已经集成了 iOS SDK
,若您还没有集成 iOS SDK
,请跳转至 iOS SDK 集成 文档,进行集成。
SDK 使用腾讯语音(Trtc)实现了带看过程中的语音 同步,使用带看功能需进行以下操作步骤:
依赖添加
需要单独引入腾讯语音库,修改 Podfile 文件,添加依赖
# 语音(腾讯云Trtc)
pod 'TXLiteAVSDK_TRTC', '8.7.10102'
登录校验
带看需要校验用户登录状态,SDK 需要获取当前用户登录 Token 去验证有效性,需要提供获取用户信息的方法实现,即
// 返回最新的用户登录Token
[RSVRSDKConfig shareInstance].accessToken = ^NSString * _Nullable{
return [[NSUserDefaults standardUserDefaults] valueForKey:@"login_token"];
};
// 返回最新的用户ID
[RSVRSDKConfig shareInstance].userId = ^NSString * _Nullable{
return [[NSUserDefaults standardUserDefaults] valueForKey:@"login_user_id"];
};
// 返回最新的用户名
[RSVRSDKConfig shareInstance].userName = ^NSString * _Nullable{
return [[NSUserDefaults standardUserDefaults] valueForKey:@"login_user_name"];
};
验证结果为用户未登录或者登录信息无效的情况时,会主动跳转 App 登录, SDK 通过设置 RSVRSDKDelegate 的形式回调 App 登录
[RSVRSDKConfig shareInstance].configDelegate = self;
实现 RSVRSDKDelegate 的方法:
#pragma RSVRSDKDelegate
/// 需要在这个代理方法里面实现唤起登录界面.
/// @param didUserLoginBlock 当用户登录成功之后, 需要主动调用这个 block
- (void)actionLogin:(dispatch_block_t)didUserLoginBlock
{
self.loginBlockAction = didUserLoginBlock;
LoginViewController* loginVc = [[LoginViewController alloc] init];
[self.navigationController pushViewController:loginVc animated:YES];
}
....
H5 在收到登录成功的通知后,会重新调用获取用户信息方法,获取更新后的信息,通过验证,发起带看。