Android 直播观看端 sdk
概述
MudutvPage 是基于 Android 平台的观看端 SDK,已继承视觉界面。通过简易配置就能直接观看直播,并进行互动。
目前观看页主要功能包含直播观看,聊天互动,点赞,打赏,投票,问卷,竞答红包,红包雨,普通红包等,自定义菜单功能菜单分类包含图文,视频。
阅读对象
本文档面向所有使用该 SDK 的开发人员、测试人员以及对此感兴趣的用户。
开发准备
设备和系统版本
android 4.0.3及以上 手机芯片要求 armv7 或 armv8 架构
开发环境配置
本 SDK 开发环境为 JAVA1.7 | ANDROID SDK API LEVEL 15
依赖说明
- libs:观看端 aar 文件。
快速开发
开发步骤
1、需要在安卓应用程序中,声明以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2、将 mudutvpage.aar 放入 app/libs
包,在 build.gradle
加入
implementation fileTree(include: ['mudutvpage.aar'], dir: 'libs')
//数据库框架
def room_version = "2.2.6"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
3、设置用户信息
绑定第三方账号方可使用投票功能,绑定的第三方账号为微信时方可展示现金红包类型。
//普通用户
private MuduUserEntity getUser() {
MuduUserEntity user = new MuduUserEntity();
user.setName("测试用户1");
user.setAvatarUrl("https://static.mudu.tv/index/avatar.png");
return user;
}
//绑定第三方账号
private MuduUserEntity getUser() {
MuduUserEntity user = new MuduUserEntity();
user.setName("测试用户1");
user.setAvatarUrl("https://static.mudu.tv/index/avatar.png");
user.setPhone("13511111111");
user.setOpenId("f424fbd5c7e249f18390852c40a7e4vv");
user.setThirdLoginType(MuduUserEntity.TYPE_QQ);
return user;
}
4、进入直播频道
//activityId:频道 hashId
//liveType:频道类型 LiveStartHelper.TYPE_HORIZONTAL横屏;LiveStartHelper.TYPE_VERTICAL竖屏
//user:用户信息
LiveStartHelper.liveStart(Context context, String activityId, int liveType, MuduUserEntity user);
5、注册事件监听
MuduCallbackHelper.addListener(IMuduListener muduListener);
6、注销事件监听
MuduCallbackHelper.removeListener();
DEMO 示例
下面给出了部分重要的 Demo 中调用 SDK 的代码。
监听事件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册监听
MuduCallbackHelper.addListener(muduListener);
}
private IMuduListener muduListener = new IMuduListener() {
@Override
public void onRewardPay(MuduRewardPayEntity payEntity) {
//TODO 打赏支付回调:调用支付
}
@Override
public void onClickCommodity(MuduCommodityEntity commodity) {
//TODO 商品跳转回调:通过 webview 打开链接
}
@Override
public void onRichTextUrl(String url) {
//TODO 图文链接回调:通过 webview 打开链接
}
};
@Override
protected void onDestroy() {
super.onDestroy();
//注销监听
MuduCallbackHelper.removeListener();
}
上报打赏信息(服务端调用)
POST https://mudu.tv/donate/api/v1/activity/{activityId}/donate
通过自有支付体系完成支付后,调用该接口上报打赏信息。
Header
参数 | 值 | |
---|---|---|
Content-Type | application/json | |
Cookie | MuduRewardPayEntity.cookie |
请求参数
参数 | 类型 | 是否必填 | 备注 | 来源 |
---|---|---|---|---|
type | int | 是 | 1.现金 2.道具 | MuduRewardPayEntity.type |
trade_id | String | 是 | 交易流水ID | 支付生成的流水 |
donate_id | int | 是 | 打赏配置ID | MuduRewardPayEntity.donateId |
user_id | int | 是 | 用户ID | MuduRewardPayEntity.userId |
user_name | String | 是 | 用户名称 | MuduRewardPayEntity.userName |
avatar | String | 是 | 用户头像 | MuduRewardPayEntity.avatar |
user_token | String | 是 | 用户Token | MuduRewardPayEntity.userToken |
gift_id | int | 是 | 道具ID | MuduRewardPayEntity.giftId |
num | int | 是 | 打赏数量 | MuduRewardPayEntity.num |
money | int | 是 | 总金额(单位:分) | MuduRewardPayEntity.money |
phone | String | 否 | 用户手机号 | MuduRewardPayEntity.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": "成功"
}
添加混淆
在proguard-rules.pro文件下添加如下代码:
-keep class com.mudu.**{*;}
-dontwarn com.mudu.**
-keep class com.yagu.**{*;}
-dontwarn com.yagu.**
-keep class tv.danmaku.**{*;}
-dontwarn tv.danmaku.**
demo和sdk下载
最新版本(v1.0.162304707)
更新说明:
包含直播观看,聊天互动,点赞,打赏,投票,问卷,竞答红包,红包雨,普通红包等,自定义菜单功能菜单分类包含图文,视频。
日期:2021年6月7日
下载android SDK以及Demo