ZBSmartLiveSDK
概述
ZBSmartLiveSDK
是一个适用于 iOS 平台快速集成直播功能的 SDK.配合智播云后台可轻松同步迁移用户数据.
ZBSmartLiveSDK
的特色是基于PLMediaStreamingKit,PLPlayerKit完成快速构建类似映客的APP.
借助ZBSmartLiveSDK
和智播云后台,用户可以在几小时内集成直播,聊天核心功能至已有应用中.
(备注:该SDK仅支持ARC环境和object-c工程,以及iOS 8.0以上运行环境)
功能特性
- 应用权限验证
- 智能账户迁移(登录,注册,自动登录,自动更新授权,更新用户信息)
- 直播功能(摄像头采集,智能编码,上传推流)
- 直播播放(拉流解码,弱网重连,在线聊天,赠送礼物等功能)
- 视频回放
- 多平台分享功能
内容摘要
SDK说明
SDK 提供了如下类(协议)和方法,点击类目查询详情
ZBSmartLiveSDK 整个SDK的主入口
ZBChat 聊天管理类,负责收发消息
ZBRecordKit 视频采集编码的核心
ZBPlayKit 播放器核心(播放在线回放视频和直播)
ZBCloudData 智播云后台的服务器信息配置返回
快速集成
你可以通过 CocoaPods 自动集成该 SDK
- 在 PodFile 文件中加入
pod '`ZBSmartLiveSDK`'
- 安装 CocoaPods 依赖
pod install
初始化SDK
注册智播云后台,申请获取 APPKEY 在应用初始化时添加初始化方法
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[ZBSmartLiveSDK shareSDK] registerWithAppID:@"zb60225160269831" appToken:@"tlMvbTrQ6chiymlTROx2TL" completion:^(NSError *error) {
if (error == nil) {
NSLog(@"初始化成功");
} else {
NSLog(@"初始化失败的错误信息 %@", [error localizedDescription]);
}
}];
return YES;
}
用户登录
登录智播云进行获取授权.获取到智播云口令后 iOS端直接调用登录接口即可,智播云会自动与三方服务器对接实现智能迁移用户数据.
[[ZBSmartLiveSDK shareSDK] loginWithZBTicket:ticket completion:^(NSError *error) {
if (error == nil) {
NSLog(@"登录成功 %@",ticket);
} else {
NSLog(@"ticket = %@,登录失败 = %@", ticket, [NSString stringWithFormat:@"errorcode => %d ;\nerror info => %@ ;\nerror localized description => %@", (int)error.code, error.domain, [error localizedDescription]]);
}
}];
获取直播列表
[ZBCloudData getZBCloudDataWithApi:@"ZBCloud_Get_Video_List" parameter:@{@"order"@"order", @"p":@(p), @"limit":@(limit)} success:^(id data) {
// data 是详细的直播列表数据
} fail:^(NSError *fail) {
// err 是获取直播列表时产生的错误
}];
和直播云后台通讯的详细情况查看智播云通讯文档说明
开启直播功能
收发即时通讯文本消息
链接聊天服务器
聊天模块在应用前台激活时,会默认保持和聊天服务器的长连接,在需要使用聊天功能时,通过该方法可以验证和聊天服务器的链接状态
#import <ZBSmartLiveSDK/ZBChat.h>
[[ZBChat share] reconnectionSuccess:^(NSString *info) {
// 链接聊天服务器成功
} fail:^(NSError *error) {
// 链接聊天服务器失败, 建议手动启动重连逻辑
[self.chat reconnectLiRivalKit];
}];
加入聊天室
#import <ZBSmartLiveSDK/ZBChatroom.h>
[[[ZBChatroom alloc] init] joinChatroom:@(聊天室唯一标识) password:@"聊天室密码,可以为空" completion:^(id respondData, NSError *error) {
if (error) {
// 加入聊天室失败
} else {
// 加入聊天室成功
}
}];
创建发送聊天消息
#import <ZBSmartLiveSDK/ZBMessage.h>
#import <ZBSmartLiveSDK/ZBChat.h>
ZBMessage *messageBody = [[ZBMessage alloc] init];
messageBody.messageContent = @"聊天内容";
messageBody.messageType = ZBMessageTypeText;
messageBody.fromUserIdentity = @"发送聊天信息用户的三方服务器ID";
[[ZBChat share] sendMessage:messageBody toConversation:@(self.cidByIM) completion:^(id respondData, NSError *error) {
if (error) {
// 聊天信息发送失败
} else {
// 聊天信息发送成功
}
}];