H5接入
H5接入是激励视频的接入方式之一。
简介
H5-SDK激励视频广告指的是在H5页面中加入激励视频广告位发起广告请求,而H5可以借助外层SDK的功能进行视频播放。
权限等级:需申请
适用场景:如果您需要在H5页面中“插入”激励视频广告,该接口可以非常快速便捷地完成这一开发需求。比如开发者可以在H5小游戏中,嵌入激励视频广告,用户完成收看后会获得金币或者经验奖励。这种广告模式与开发场景的契合度很高,颇受用户欢迎。
主要API
生命周期事件回调
您可以实现全部或部分GDTRewardedVideoAdDelegate,以跟踪点击成功或者激励视频广告请求失败等广告生命周期事件。
@protocol GDTHybridAdDelegate <NSObject>
@optional
- (void)gdt_hybridAdDidPresented:(GDTHybridAd *)hybridAd;
- (void)gdt_hybridAdDidClose:(GDTHybridAd *)hybridAd;
- (void)gdt_hybridAdLoadURLSuccess:(GDTHybridAd *)hybridAd;
- (void)gdt_hybridAd:(GDTHybridAd *)hybridAd didFailWithError:(NSError *)error;
@end
在实现上述事件回调之前,请务必先设置delegate:
Objective-C
self.hybridAd.delegate = self;
Swift
hybridAd.delegate = self
回调函数列表
回调函数名 | 回调函数含义 |
---|---|
gdt_hybridAdDidPresented | 混合广告页面加载成功 |
gdt_hybridAdDidClose | 混合广告关闭 |
gdt_hybridAdLoadURLSuccess | 激励视频播放页即将展示回调 |
gdt_hybridAd:didFailWithError | 激励视频广告出现错误 |
接入代码示例
加载并显示混合广告页面
1.在控制器头文件中加入SDK头文件
Objective-C
#import "GDTHybridAd.h"
@interface HybridAdViewController ()<GDTHybridAdDelegate>
Swift
class HybridAdViewController: UIViewController,GDTHybridAdDelegate {
...
}
2.在ViewController的实现文件中初始化并加载广告数据,不需要传入 placementId,需要传入合作的 H5 页面地址:
Objective-C
- (void)viewDidLoad
{
[super viewDidLoad];
// 初始化不需要 placementId,混合页面类型选择 GDTHybridAdOptionRewardVideo 表示激励视频。
GDTHybridAd *hybridAd = [[GDTHybridAd alloc] initWithType:GDTHybridAdOptionRewardVideo];
hybridAd.delegate = self;
// 可自定义混合页面导航栏部分样式
hybridAd.navigationBarColor = [UIColor whiteColor];
hybridAd.titleFont = [UIFont systemFontOfSize:16];
// 加载合作的 H5 页面地址
[hybridAd loadWithUrl:self.urlTextField.text];
// 在指定的 VC present 混合页面,开发者可以在合适的时机调用此方法,一般为用户点击开发者设置的跳转入口时。
[hybridAd showWithRootViewController:self];
}
Swift
override func viewDidLoad() {
// 初始化不需要 placementId,混合页面类型选择 GDTHybridAdOptionRewardVideo 表示激励视频。
let hybridAD = GDTHybridAd.init(type: GDTHybridAdOptions.rewardVideo)
hybridAD.delegate = self
// 加载合作的 H5 页面地址
hybridAD.load(withUrl: self.urlTestField.text!)
// 在指定的 VC present 混合页面,开发者可以在合适的时机调用此方法,一般为用户点击开发者设置的跳转入口时。
hybridAD.show(withRootViewController: self)
}
混合广告执行回调
Objective-C
- (void)gdt_hybridAdDidPresented:(GDTHybridAd *)hybridAd
{
NSLog(@"浏览器展示成功");
}
- (void)gdt_hybridAdDidClose:(GDTHybridAd *)hybridAd
{
NSLog(@"浏览器关闭");
}
- (void)gdt_hybridAdLoadURLSuccess:(GDTHybridAd *)hybridAd
{
NSLog(@"URL 加载成功");
}
- (void)gdt_hybridAd:(GDTHybridAd *)hybridAd didFailWithError:(NSError *)error
{
if ([error code] == 3001) {
NSLog(@"URL 加载失败");
}
}
Swift
func gdt_hybridAdDidPresented(_ hybridAd: GDTHybridAd) {
print("浏览器展示成功")
}
func gdt_hybridAdDidClose(_ hybridAd: GDTHybridAd) {
print("浏览器关闭")
}
func gdt_hybridAdLoadURLSuccess(_ hybridAd: GDTHybridAd) {
print("URL 加载成功")
}
func gdt_hybridAd(_ hybridAd: GDTHybridAd, didFailWithError error: Error) {
let code = (error as NSError).code
if (code == 3001) {
print("加载失败")
}
}
说明:
- 混合广告页面采用 presentViewController: 的方式展示,请开发者注意展示页面的层级关系。
- 加载 H5 激励视频的页面地址请联系对接的运营合作同学咨询。