Bidding Android iOS 快应用 SDK H5 SDK Media API 常见问题

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("加载失败")
        }
    }

说明

  1. 混合广告页面采用 presentViewController: 的方式展示,请开发者注意展示页面的层级关系。
  2. 加载 H5 激励视频的页面地址请联系对接的运营合作同学咨询。

 文档反馈

腾讯公司 版权所有