开屏广告
简介:
开屏广告以App启动作为曝光时机,提供5s的可感知广告展示。用户可以点击广告跳转到目标页面;或者点击右上角的“跳过”按钮,跳转到app内容首页
适用场景:
开屏广告会在您的应用开启时加载,拥有固定展示时间(一般为5秒),展示完毕后自动关闭并进入您的应用主界面。
分类:开屏广告分为半屏和全屏,具体种类可以在开发者平台进行选择:
半屏 | 全屏 |
---|---|
![]() |
![]() |
主要 API
函数接口列表
方法名 | 方法介绍 | 备注 | |
---|---|---|---|
SplashAd(string placementId) | 构造函数 | ||
void LoadAd() | 加载开屏广告 | ||
void Show(object container) | 展示开屏广告 | Android 要求 container 是 c# AndroidJavaObject 类型,并且是 Java(Android) ViewGroup 类型 iOS 要求 container 是 c# IntPtr 类型,并且是 OC UIWindow 类型 |
|
void LoadFullScreenAd() | 加载开屏全屏广告 | ||
void ShowFullScreenAd(object container) | 展示开屏全屏广告 | Android 要求 container 是 c# AndroidJavaObject 类型,并且是 Java(Android) ViewGroup 类型 iOS 要求 container 是 c# IntPtr 类型,并且是 OC UIWindow 类型 |
|
void SetFetchDelay(int duration) | 设置开屏超时时间,单位毫秒,在 LoadAd 之前调用 | ||
void SetListener(ISplashAdListener listener) | 设置回调, 在 LoadAd 之前调用 | ||
自定义跳过按钮,在 LoadAd 之前调用 | 该方法已废弃 | ||
void SetBottomView(IntPtr bottomView) | 自定义底部 view,在 LoadAd 之前调用 | 只有 iOS 支持该方法,要求 bottomView 是 OC UIView 类型 | |
void SetDeveloperLogo(string logo) | 设置开发者 logo,仅在全屏广告时有效 | 参数是图片的 base64 | |
string GetECPMLevel() | 获取ecpmLevel值 | 当广告拉取成功后通过 GetECPMLevel() 方法查看当前广告对应的底价层级 | |
int GetECPM() | 获取ecpm值 | 当广告拉取成功后通过 GetECPM() 方法查看当前广告对应的底价 | |
bool IsValid() | 广告是否有效 | ||
void Preload() | 预加载合约广告 |
回调函数列表
- 接口名称
ISplashAdListener
回调函数名 | 回调函数含义 | 备注 |
---|---|---|
OnAdLoaded() | 广告加载成功,可在此回调后进行广告展示 | |
OnAdShown() | 广告页面展示回调 | |
OnAdExposured() | 广告曝光回调 | |
OnAdClicked() | 广告点击回调 | |
OnAdClosed() | 广告关闭回调 | |
OnError(AdError error) | 广告各种错误信息回调 | |
OnAdTick(long leftTime) | 广告倒计时回调 | 单位毫秒 |
接入代码示例
- 完整的接入代码示例可在
Assets/UnionDemo/SplashExample
中找到
加载开屏广告
- 在您需要加载广告的文件中引入
Tencent.GDT
命名空间
public void LoadSplashAd()
{
ad = new SplashAd(Constants.splashPosId);
ad.SetListener(new ExampleSplashAdListener());
ad.SetFetchDelay(3000);
// SetListener, SetFetchDelay, SetSkipView, SetBottomView 要在 LoadAd 之前调用
ad.LoadAd();
}
展示开屏广告
public void ShowSplashAd()
{
// 双端获取开屏容器
#if UNITY_ANDROID
// Android 要求开屏 container 必须是 c# 的 AndroidJavaObject 类型,必须是 Java(Android)上的 ViewGroup 类型
container = AndroidDemoUtils.NewAdContainer();
AndroidDemoUtils.ShowView(container, false);
#elif UNITY_IOS
// iOS 要求 container 为 UIWindow
container = GDT_UnionPlatform_UnifiedSplashAd_GetContainerWindow();
#endif
// 展示开屏广告
ad.Show(container);
}
在不展示开屏广告时执行调试
在您加载广告的类中实现如下回调,处理广告加载失败的问题
public void OnError(AdError error)
{
}
- AdError - 您可在插件的
Assets/UnionSDK/Scripts/common/AdError
目录下查找该类的实现
说明
- 在 Constants.cs 文件中替换您的 AppId 和 PlacementId