iOS 直播观看端 SDK
概述
MudutvPageDemo 是基于 iOS 平台的观看端SDK,已继承视觉界面。通过简易配置就能直接观看直播,并进行互动。
目前观看页主要功能包含直播观看,聊天互动,点赞,打赏,投票,问卷,竞答红包,红包雨,普通红包等,自定义菜单功能菜单分类包含图文,视频。
阅读对象
本文档面向所有使用该 SDK 的开发人员、测试人员以及对此感兴趣的用户。
开发准备
设备和系统版本
iOS 9.0及以上 手机芯片要求 arm64 架构
开发环境配置
本 SDK 开发环境为 Xcode 10+
依赖说明
1、 framework: MudutvPageSDK.framework
2、 dyldb:
libbz2.1.0.tbd
libc.tbd
libc++.tbd
libz.tbd
快速集成SDK
开发步骤
一、需要在Info.plist中,添加权限: Allow Arbitrary Loads
二、在APP中引入MudutvPageSDK.framework并在Target中设置配置:
1.Build Setting - Enable Bitcode - 设置 NO
2.Build Setting - Other Links Flags - 添加-ObjC
3.General - Frameworks -选中MudutvPageSDK.framework - 设置Embed & sign
4.Build Phases - Embed Frameworks - 设置MudutvPageSDK.framework的Destination为Resources
三、设置用户信息
绑定第三方账号方可使用投票功能,绑定的第三方账号为微信时方可展示现金红包类型。
//普通用户
{
MDTVPUser *user = [MDTVPUser new];
user.nick = @"测试用户";
user.avatar = @"http://mudu.tv/assets/img/activity/pc/logo.png";
user.type = PlatformType_Anonymous;
}
//绑定第三方账号
{
MDTVPUser *user = [MDTVPUser new];
user.nick = @"测试用户";
user.avatar = @"http://mudu.tv/assets/img/activity/pc/logo.png";
user.type = PlatformType_Weixin;
user.phone = @"xxxxx";
user.openId = @"xxxxx";
}
四、进入直播频道
//vc :依赖的父试图控制器
//channelId:频道 hashId
//liveType:频道类型 LiveType_Normal横屏;LiveType_Vertical竖屏
//user:用户信息
MDTVPPlayRoom *playRoom = [[MDTVPPlayRoom alloc] init];
[playRoom startLive:self withChannelId:activityId withLiveType:liveType withUser:user];
五、注册事件监听
//商品管理监听
[[MDTVPCommodityHandler instance] setTarget:self];
//加载网页监听
[[MDTVPWebHandler instance] setTarget:self];
//支付监听
[[MDTVPPayHandler instance] addTarget:self];
六、注销事件监听
//取消支付监听
[[MDTVPPayHandler instance] removeTarget];
DEMO 示例
下面给出了部分重要的 Demo 中调用 SDK 的代码。
监听事件
-(void)md_HandlePay:(MDTVPDonatePayGift *)gift
{
//TODO:需要实现支付
}
-(void)md_HandleWebRedirect:(NSURLRequest *)urlRequest
{
//TODO:需要实现自定义网页加载
}
-(void)md_HandleCommodityClick:(MDTVPCommodity *)commodity
{
//TODO:需要实现自定义商品点击
}
上报打赏信息(服务端调用)
POST https://mudu.tv/donate/api/v1/activity/{activityId}/donate
通过自有支付体系完成支付后,调用该接口上报打赏信息。
Header
参数 | 值 | |
---|---|---|
Content-Type | application/json | |
Cookie | MuduRewardPayEntity.cookie |
请求参数
参数 | 类型 | 是否必填 | 备注 | 来源 |
---|---|---|---|---|
type | int | 是 | 1.现金 2.道具 | MDTVPDonatePayGift.type |
trade_id | String | 是 | 交易流水ID | MDTVPDonatePayGift.tradeId |
donate_id | int | 是 | 打赏配置ID | MDTVPDonatePayGift.donateId |
user_id | int | 是 | 用户ID | MDTVPDonatePayGift.userId |
user_name | String | 是 | 用户名称 | MDTVPDonatePayGift.userName |
avatar | String | 是 | 用户头像 | MDTVPDonatePayGift.avatar |
user_token | String | 是 | 用户Token | MDTVPDonatePayGift.userToken |
gift_id | int | 是 | 道具ID | MDTVPDonatePayGift.giftId |
num | int | 是 | 打赏数量 | MDTVPDonatePayGift.num |
money | int | 是 | 总金额(单位:分) | MDTVPDonatePayGift.money |
phone | String | 否 | 用户手机号 | MDTVPDonatePayGift.phone |
请求示例
- 道具打赏
{
"order": {
"type": 2,
"trade_id": "07683173079973709805",
"donate_id": 1711,
"gift_id": 56035,
"user_id": 4699065,
"user_name": "测试用户1",
"avatar": "https://static.mudu.tv/index/avatar.png",
"user_token": "fadaeab8-d177-478b-9ebb-72196200a2e1",
"num": 1,
"money": 1,
"phone": "13511111111"
}
}
- 现金打赏
{
"order": {
"type": 1,
"trade_id": "34560408482804788487",
"donate_id": 1711,
"gift_id": 0,
"user_id": 4699065,
"user_name": "测试用户1",
"avatar": "https://static.mudu.tv/index/avatar.png",
"user_token": "fadaeab8-d177-478b-9ebb-72196200a2e1",
"num": 1,
"money": 100,
"phone": "13511111111"
}
}
返回示例
{
"errcode": 1000,
"msg": "成功"
}
demo和sdk下载
最新版本(v1.0.162304603)
更新说明:
包含直播观看,聊天互动,点赞,打赏,投票,问卷,竞答红包,红包雨,普通红包等,自定义菜单功能菜单分类包含图文,视频。
日期:2021年6月7日
下载iOS SDK以及Demo