H5-SDK激励视频广告
H5接入是激励视频的接入方式之一。
简介:H5-SDK激励视频广告指的是在H5页面中加入激励视频广告位发起广告请求,而H5可以借助外层SDK的功能进行视频播放
权限等级:需申请
适用场景: 如果您需要在H5页面中“插入”激励视频广告,该接口可以非常快速便捷地完成这一开发需求。比如开发者可以在H5小游戏中,嵌入激励视频广告,用户完成收看后会获得金币或者经验奖励。这种广告模式与开发场景的契合度很高,颇受用户欢迎。
接入注意事项:
- H5-SDK激励视频广告给开发者的回调(HybridADListener)全部执行在主线程中(异步回调)
- 您在定制标题栏返回按钮/关闭按钮图标时可以自行选择将图标资源放在drawable资源目录下的drawable-hdpi/drawable-xhdpi等文件夹
- 如果你定制了标题栏返回按钮/关闭按钮图标,请注意按钮的可点击区域严格等于图标大小,为避免出现可点击区域过小的情况,必要时您可以设置四周有透明padding的图标
主要API
- com.qq.e.ads.hybrid.HybridAD:
方法名 | 方法介绍 |
---|---|
HybridAD(final Context context, final HybridADSetting setting, final HybridADListener listener) | 构造函数 |
loadUrl(final String url) | 打开网页,网页可通过联盟广告H5 SDK加载并播放激励视频广告 |
- com.qq.e.ads.hybrid.HybridADListener:
方法名 | 方法介绍 |
---|---|
onPageShow() | 通过HybridAD打开H5网页时调用此回调 |
onLoadFinished() | HybridAD页面首次加载url成功时调用此回调 |
onClose() | HybridAD页面被关闭时调用此回调 |
onError(AdError error) | 所有出错情况都会调用此回调,error 对象包含了错误码和错误信息 |
- com.qq.e.ads.hybrid.HybridADSetting:
方法名 | 方法介绍 |
---|---|
HybridADSetting() | 构造函数 |
titleBarHeight(int titleBarHeight) | 自定义标题栏高度,单位dp |
titleBarColor(int titleBarColor) | 自定义标题栏颜色 |
titleColor(int titleColor) | 自定义标题字体颜色 |
titleSize(int titleSize) | 自定义标题字体大小,单位sp |
title(String title) | 自定义标题内容,若无自定义将默认取网页的title |
backButtonImage(String backButtonImage) | 自定义返回键图标,SDK将根据传入的资源名查找图片,例如apk中有资源icon.png,这里设置时传入“icon”即可 |
closeButtonImage(String closeButtonImage) | 自定义关闭键图标,SDK将根据传入的资源名查找图片,例如apk中有资源icon.png,这里设置时传入“icon”即可 |
separatorColor(int separatorColor) | 自定义分割线颜色 |
backSeparatorLength(int backSeparatorLength) | 自定义返回键和关闭键中间的分割线的长度,单位dp |
代码接入示例
详细内容请参考压缩包中的代码示例
public class HybridADActivity extends Activity implements View.OnClickListener, HybridADListener {
private static final String TAG = HybridADActivity.class.getSimpleName();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hybrid);
findViewById(R.id.go).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.go:
String url = ((EditText) findViewById(R.id.url)).getText().toString();
if (!TextUtils.isEmpty(url)) {
HybridAD hybridAD = new HybridAD(this, new HybridADSetting(), this);
hybridAD.loadUrl(url);
}
break;
}
}
@Override
public void onPageShow() {
Log.i(TAG, "onPageShow");
}
@Override
public void onLoadFinished() {
Log.i(TAG, "onLoadFinished");
}
@Override
public void onClose() {
Log.i(TAG, "onClose");
}
@Override
public void onError(AdError error) {
String msg = String.format(Locale.getDefault(), "onError, error code: %d, error msg: %s",
error.getErrorCode(), error.getErrorMsg());
Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
}
}