短视频 Android接入文档
前言
GETUI_BX_ANDROID_SDK/
|- 短视频变现SDK接入文档.pdf
|- 聚合广告变现SDK接入文档.pdf
|- SDK权限说明.pdf
|- README.pdf
|- Demo 工程/
| |- BX_SDK_Demo_AS_official/ (AndroidStudio 标准集成 Demo 工程)
- 本文默认读者已经具有基础的 Android 知识,以及项目工程结构如下:
BX_SDK_Demo_AS_official/
|- app/ (项目主模块)
| |- libs/ (第三方库)
| |- src/ (代码目录)
| |- build.gradle (模块级 gradle 文件)
|- gradle/
|- build.gradle (顶层 gradle 文件)
|- settings.gradle
| ......
注:其中 “......
” 表示省略其他与本教程无关的内容,以下 “......
” 表示相同意义,不再重复说明。
1. 创建个推应用
2. Maven 集成(推荐)
2.1. 在工程的根目录下的build.gradle文件中的 allprojects { } 中,添加如下代码:
maven {
url "https://mvn.getui.com/nexus/content/repositories/releases/"
}
2.2. 在 app/build.gradle
文件中的 android.defaultConfig
下添加 manifestPlaceholders
manifestPlaceholders = [
GETUI_APPID: "your GETUI_APPID"
]
2.3. 在app所在module的build.gradle文件中的 dependencies { } 中,添加如下代码:
implementation 'com.getui:bxsdk:3.0.3.0'
implementation 'com.getui:bxc:1.0.0.0'
implementation 'com.getui:gtc:3.1.7.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
3. 初始化SDK
类名 |
com.getui.bxsdk.BXManager |
接口 |
public void init(Context context) |
说明:
- 初始化变现SDK
- 请在主线程中调用,建议在Application
参数:
context:应用的 ApplicationContext
示例
BXManager.getInstance().init(context);
4. 变现SDK Debug模式
类名 |
com.getui.bxsdk.BXManager |
接口 |
public void setDebug(boolean isDebug) |
参数:
- isDebug:是否打开Debug模式,默认关闭.
示例
BXManager.getInstance().setDebug(boolean isDebug);
5. 资源方Debug模式
类名 |
com.getui.bxsdk.BXManager |
接口 |
public void setAdSourceDebug(boolean isDebug) |
参数:
- isDebug:是否打开广告资源方Debug模式,默认关闭.
6. 获取版本号
类名 |
com.getui.bxsdk.BXManager |
接口 |
public String getVersion() |
说明:
示例
BXManager.getInstance().getVersion();
7. 短视频配置及回调函数
BxContentConfig参数配置类
- contentTimeOut 超时时长,单位毫秒
- expressViewWidth 期望宽度 dp
feedStyle feed流样式:
Constant.DOUBLE_FEED_STREAM 双视频
Constant.SINGLE_FEED_STREAM 单视频
enterStyle 入口样式:
Constant.ENTER_SMALL_VERTICAL_DOUBLE 小卡竖版双feed
Constant.ENTER_SMALL_VERTICAL_MORE 小卡竖版多feed
Constant.ENTER_BIG_VERTICAL_MORE 大卡竖版多feed
Constant.ENTER_BIG_HORIZONTAL 大卡横版样式
Constant.ENTER_BIG_PIC 大图样式
示例
BxContentConfig build = new BxContentConfig.Builder().setFeedStyle(Constant.SINGLE_FEED_STREAM).build();
BxContentListener回调类
public interface BxContentListener {
void onError(String s);
void onLoadContent(Fragment fragment);
void onVideoPlayStart();
void onVideoPlayPaused();
void onVideoPlayResume();
void onVideoPlayCompleted();
void onPageEnter();
void onPageResume();
void onPagePause();
void onPageLeave();
void onTimeOut();
}
8. 加载短视频入口
类名 |
com.getui.bxsdk.BxContentManager |
接口 |
public String loadEntryElement(BxContentConfig config,BxContentEnterListener listener) |
说明:
- 短视频入口样式
- config 参数:必填setEntryStyle();
Constant.ENTER_SMALL_VERTICAL_DOUBLE 小卡竖版双feed
Constant.ENTER_SMALL_VERTICAL_MORE 小卡竖版多feed
Constant.ENTER_BIG_VERTICAL_MORE 大卡竖版多feed
Constant.ENTER_BIG_HORIZONTAL 大卡横版样式
Constant.ENTER_BIG_PIC 大图样式
示例
BxContentManager.getInstance().loadEntryElement(config, new BxContentEnterListener(){
@Override
public void onLoadContent(Fragment fragment) {
og.e(TAG, "onLoadStart" + Thread.currentThread());
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, fragment).commitNowAllowingStateLoss();
}
})
9. 加载通用短视频
类名 |
com.getui.bxsdk.BxContentManager |
接口 |
public String loadContentPage(BxContentConfig config,BxContentListener listener) |
说明:
示例
BxContentManager.getInstance().loadContentPage(config, new BxContentListener(){
@Override
public void onLoadContent(Fragment fragment) {
og.e(TAG, "onLoadStart" + Thread.currentThread());
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, fragment).commitNowAllowingStateLoss();
}
})
10. 加载feed流短视频
类名 |
com.getui.bxsdk.BxContentManager |
接口 |
public String loadFeedPage(BxContentConfig config,BxContentListener listener) |
说明:
- 短视频feed流样式
- config 必填 setFeedStyle()
Constant.DOUBLE_FEED_STREAM 双视频
Constant.SINGLE_FEED_STREAM 单视频
示例
BxContentManager.getInstance().loadFeedPage(config, new BxContentListener(){
@Override
public void onLoadContent(Fragment fragment) {
og.e(TAG, "onLoadStart" + Thread.currentThread());
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, fragment).commitNowAllowingStateLoss();
}
})
11. 加载横版短视频
类名 |
com.getui.bxsdk.BxContentManager |
接口 |
public String loadHorizontalFeedPage(BxContentConfig config,BxContentListener listener) |
说明:
示例
BxContentManager.getInstance().loadHorizontalFeedPage(config, new BxContentListener(){
@Override
public void onLoadContent(Fragment fragment) {
og.e(TAG, "onLoadStart" + Thread.currentThread());
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, fragment).commitNowAllowingStateLoss();
}
})
12. 加载横版短视频+图文
类名 |
com.getui.bxsdk.BxContentManager |
接口 |
public String loadHorizontalNewsFeedPage(BxContentConfig config,BxContentListener listener) |
说明:
示例
BxContentManager.getInstance().loadHorizontalNewsFeedPage(config, new BxContentListener(){
@Override
public void onLoadContent(Fragment fragment) {
og.e(TAG, "onLoadStart" + Thread.currentThread());
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, fragment).commitNowAllowingStateLoss();
}
})