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

results matching ""

    No results matching ""