腾讯云在线直播二
来源:互联网 发布:骨朵网络剧 编辑:程序博客网 时间:2024/04/29 07:37
书接上文,将环境配置好以后就可以开发云视频的各个流程了。首先我们从注册开始。目前为止我做好的只有手机号登录注册到在线直播这个流程。以后会陆续补充其他的登录注册方式。腾讯云登录注册包含了手机号、普通账号、邮箱以及第三方的方式。在腾讯云平台的文档里面我看到腾讯云要支持的第三方有微信、qq、人人网、新浪微博等等。但是代码里面暂时只看到了微信和qq的登录验证。可能是后续会支持那么多平台但是现在还没写出来(是不是腾讯在打广告啊),当然也可能是本人尚未找到其他的平台验证的接口。毕竟本人尚未将所有的登录注册方式验证过。好了,惯例,不多说废话。开始代码讲述。
1.手机号注册:
需要看文档的可以看下这个腾讯云直播接口文档
2.在写登录注册的时候需要一些demo里面封装好的接口文档(直接使用上面接口文档的可以不用看下面的步骤了)这三个文件夹里面的就是需要导入的demo里面的文件。
3.这些文件导入后引入相关头文件可以上代码了。
#import "TLSRegister.h"#import "TLSLogin.h"
首先引入手机号注册的代理。@property (nonatomic, weak) id <TLSPwdRegListener> phoneRegisterdelegate;
4.实现委托self.phoneRegisterdelegate = self;
5.实现注册回调方法[[TLSRegister sharedInstance].accountHelper TLSPwdRegAskCode:phoneStr andTLSPwdRegListener:self.phoneRegisterdelegate];
6.引入注册的回调方法
7.手机号注册成功以后会回调这个方法
-(void) OnPwdRegAskCodeSuccess:(int)reaskDuration andExpireDuration:(int) expireDuration{ NSLog(@"请求短信验证码成功");}
8.然后将获取的验证码在验证方法里面写,代码如下
[[TLSRegister sharedInstance].accountHelper TLSPwdRegVerifyCode:yanzhengma andTLSPwdRegListener:self.phoneRegisterdelegate];
9.接下来就可以等待回调成功了,在验证码成功的方法里面再调用注册密码即可。
验证码验证成功方法:
-(void) OnPwdRegVerifyCodeSuccess{ NSLog(@"验证短信验证码成功");}
10.提交密码方法
[[TLSRegister sharedInstance].accountHelper TLSPwdRegCommit:password andTLSPwdRegListener:self.phoneRegisterdelegate];
到此注册手机号就已经结束了。下面我们开始用手机号登陆
1.如果注册的手机跟登陆的手机是同一个,并且没有登陆过其他账号则可以直接登陆,否则需要一个验证方法,验证是否需要密码登陆,然后才可以调用登陆方法。具体代码如下:
//判断本地是否需要再登录 BOOL need = [[TLSLogin sharedInstance].loginHelper needLogin:phoneStr]; //密码登录,获取票据 if (need) { //设置登录代理 self.logindelegate = self; NSInteger success = [[TLSLogin sharedInstance].loginHelper TLSPwdLogin:phoneStr andPassword:pwdStr andTLSPwdLoginListener:self.logindelegate]; NSLog(@"登录结果%ld",(long)success); } //本地已经登陆过了 else { //获取本地保存TLS票据 //获取签名 NSString* userSig = [[TLSLogin sharedInstance].loginHelper getTLSUserSig:phoneStr]; //如果本地有签名直接登录 if(userSig != nil) { //登录到IM服务器 [SVProgressHUD showInfoWithStatus:@"正在登录随心播"]; [[MultiIMManager sharedInstance] loginPhone:phoneNumStr sig:userSig succ:^(NSString* loginMsg) { [[Business sharedInstance]getUserInfoByPhone:phoneNumStr succ:^(NSString *msg, id data) { [[UserInfo sharedInstance]setUserFromDBSig:userSig andInfo:data ]; [SVProgressHUD showSuccessWithStatus:loginMsg]; [self changeToLivePage]; } fail:^(NSString *error) { [SVProgressHUD showErrorWithStatus:error]; }]; } fail:^(NSString *err) { [SVProgressHUD showErrorWithStatus:err]; }]; } }
2.如果直接走else的方法那就不需要再放到代理回调方法中写代码,否则需要如下代理回调方法:
/** * 密码登陆要求验证图片验证码 * * @param picData 图片验证码 * @param errInfo 错误信息 */-(void) OnPwdLoginNeedImgcode:(NSData *)picData andErrInfo:(TLSErrInfo *)errInfo{ NSLog(@"%@密码登陆请求图片验证成功%@",picData,errInfo.sErrorMsg);}/** * 密码登陆请求图片验证成功 * * @param picData 图片验证码 */-(void) OnPwdLoginReaskImgcodeSuccess:(NSData *)picData{ NSLog(@"密码登陆请求图片验证成功%@",picData);}/** * 密码登陆成功 * * @param userInfo 用户信息 */-(void) OnPwdLoginSuccess:(TLSUserInfo *)userInfo{ NSLog(@"密码登陆成功%@",userInfo.identifier); //获取签名 NSString* userSig = [[TLSLogin sharedInstance].loginHelper getTLSUserSig:userInfo.identifier]; if(userSig == nil) { [SVProgressHUD showErrorWithStatus:@"获取签名为空"]; return; } //手机号登录到IM服务器 [SVProgressHUD showInfoWithStatus:@"正在登录随心播"]; [[MultiIMManager sharedInstance] loginPhone:phoneStr sig:userSig succ:^(NSString* loginMsg) { [[Business sharedInstance]getUserInfoByPhone:phoneStr succ:^(NSString *msg, id data) { [[UserInfo sharedInstance]setUserFromDBSig:userSig andInfo:data ]; [SVProgressHUD showSuccessWithStatus:loginMsg]; } fail:^(NSString *error) { [SVProgressHUD showErrorWithStatus:error]; }]; } fail:^(NSString *err) { [SVProgressHUD showErrorWithStatus:err]; }];}/** * 密码登陆失败 * * @param errInfo 错误信息 */-(void) OnPwdLoginFail:(TLSErrInfo *)errInfo{ NSLog(@"密码登陆失败%@",errInfo.sErrorMsg);}/** * 秘密登陆超时 * * @param errInfo 错误信息 */-(void) OnPwdLoginTimeout:(TLSErrInfo *)errInfo{ NSLog(@"密登陆超时%@",errInfo.sErrorMsg);}
3.如果所有的回调都成功,程序会提示登陆成功。也会将个人信息保存到userinfo这个方法里面。
- 腾讯云在线直播二
- 腾讯云在线直播一
- 腾讯云在线直播三
- 腾讯云在线直播四
- 腾讯云直播
- android 腾讯云直播
- 腾讯云直播~上
- 腾讯云直播~下
- 功能名称:在线聊天功能大升级-支持直播、腾讯云IM及诸多体验
- 腾讯云直播再探
- 腾讯云直播初体验
- 腾讯互动直播 音频 视频 踩过的坑 二
- 腾讯云视频直播sdk开发攻略
- 腾讯云互动直播SDK集成综述
- eclipse集成腾讯云直播sdk
- 腾讯云直播相关问题处理
- 腾讯云互动直播分享屏幕小结
- 腾讯云小直播demo配置流程
- python3.x文件IO学习笔记
- SQ语句
- 使用Git远程仓库管理代码
- 单向队列queue的使用
- x86桌面安卓Remix OS新版发布:支持32位电脑
- 腾讯云在线直播二
- 菜刀ASPX 复制文件
- iOS-UIScrollView与UISegmentedControl的交互
- 单位gps的设置
- Cocoapods: 打造本地 pod 库
- android开发中的JSON解析
- 神奇的 BlocksKit (二)
- I/O并发模式:Reactor模式与Proactor模式 总价
- NZAU-C-Mine Sweeping Game