平台模板
简介
适用场景:如果我们提供的模板广告样式符合您的需求,建议直接使用该接口
目前,腾讯广告支持自主调整已创建的平台模板广告的模板参数,腾讯开发者平台操作入口:【我的广告位】--- 平台模板广告位:【修改】--- 广告样式:【修改】
自定义模板调参标准如下:
左文右图/左图右文 | 上图下文/上文下图 | 双图双文 | 纯图片 | |
---|---|---|---|---|
图片(广告元素) | 300>图片宽度>30 300>图片高度>30 |
横图:宽高比在40%-79%之间(高/宽) | 横图:宽高比在40%-79%之间(高/宽) | 横图:宽高比在40%-79%之间(高/宽) |
标题(广告元素) | 颜色、大小(>0) 上下左右边距(>0) |
颜色、大小(>0) 上下左右边距(>0) |
颜色、大小(>0) 上下左右边距(>0) |
无 |
描述(广告元素) | 颜色、大小(>0) 上下左右边距(>0) |
颜色、大小(>0) 上下左右边距(>0) |
颜色、大小(>0) 上下左右边距(>0) |
无 |
关闭按钮(互动) | 有无 | 有无 | 有无 | |
背景 | 颜色(按照 RGB 标准) | 颜色(按照 RGB 标准) | 颜色(按照 RGB 标准) | 颜色(按照 RGB 标准) |
按钮(互动) | 无 | 无 | 背景颜色、边框颜色、字体颜色、字体大小(>0) | 无 |
注意:以下接入代码示例只适用于平台模板广告位。误用其他广告位 ID 使用平台模板广告的接口,则会导致无广告返回。
主要 API
函数接口列表
方法名 | 方法介绍 | 备注 |
---|---|---|
NativeExpressAD(string placementId, ADSize adSize) | 平台模板广告构造函数,placementId 是广告位 ID,adSize 是指定广告 View 的宽高 | |
LoadAd(int count) | 加载广告,count 指定期望加载的广告数量,根据广告填充情况不同,返回不大于 count 数量的广告 | |
SetListener(INativeExpressAdListener listener) | 设置回调 | |
SetMinVideoDuration(int minVideoDuration) | 设置返回视频广告的最小视频时长(闭区间,可单独设置),单位:秒 | 视频时长有效值范围为[5,60]。以下两种情况会使用系统默认的最小值设置,1:不设置 2: minVideoDuration 大于 maxVideoDuration 此设置会影响广告填充,请谨慎设置 |
SetMaxVideoDuration(int maxVideoDuration) | 设置返回视频广告的最大视频时长(闭区间,可单独设置),单位:秒 | 合法输入为:5 <= maxVideoDuration <= 60 此设置会影响广告填充,请谨慎设置 |
SetVideoMuted(bool muted) | 设置视频是否静音 | |
SetDetailPageVideoMuted(bool muted) | 设置视频详情页是否静音 | |
SetVideoAutoPlayWhenNoWifi(bool autoPlay) | 设置视频是否在wifi下自动播放 |
方法名 | 方法介绍 | 备注 |
---|---|---|
NativeExpressAdView() | 平台模板广告 view | 开发者不能调用 |
void Render() | 展示广告 | |
void CloseAd() | 关闭广告 | |
AndroidJavaObject GetAndroidNativeView() | 获取 Android View 对象 | 只有 Android 有这个方法 |
IntPtr GetIOSNativeView() | 获取 iOS View 对象 | 只有 iOS 有这个方法 |
string GetECPMLevel() | 获取ecpmLevel值 | 当广告拉取成功后通过 GetECPMLevel() 方法查看当前广告对应的底价层级 |
int GetECPM() | 获取ecpm值 | 当广告拉取成功后通过 GetECPM() 方法查看当前广告对应的底价 |
回调函数列表
- 接口名称
INativeExpressAdListener
回调函数名 | 回调函数含义 | 备注 |
---|---|---|
OnError(AdError error) | 拉取平台模板广告失败 | |
OnAdLoaded(List < NativeExpressADView > adList) | 拉取平台模板广告成功 | |
OnAdViewRenderFailed(NativeExpressADView adView) | 平台模板广告渲染失败 | |
OnAdViewRenderSuccess(NativeExpressADView adView) | 平台模板广告渲染成功 | |
OnAdExposured(NativeExpressADView adView) | 平台模板广告曝光回调 | |
OnAdClicked(NativeExpressADView adView) | 平台模板广告点击回调 | |
OnAdClosed(NativeExpressADView adView) | 平台模板广告被关闭 | |
OnAdLeaveApp(NativeExpressADView adView) | 点击直达类型广告离开当前APP时回调 | |
OnDetailPageShown(NativeExpressADView adView) | 点击平台模板广告,弹出全屏广告页 | |
OnDetailPageClosed(NativeExpressADView adView) | 全屏广告页已经关闭 | |
OnVideoDetailPageShown(NativeExpressADView adView) | 视频模板详情页已经展示 | |
OnVideoDetailPageClosed(NativeExpressADView adView) | 视频模板详情页已经消失 | |
OnVideoInit(NativeExpressADView adView) | 视频播放 View 初始化完成 | |
OnVideoLoading(NativeExpressADView adView) | 视频下载中 | |
OnVideoCached(NativeExpressADView adView) | 视频缓存完毕 | 只有 Android 有这个回调 |
OnVideoStarted(NativeExpressADView adView) | 视频开始播放 | |
OnVideoPaused(NativeExpressADView adView) | 视频暂停 | iOS只有当用户行为导致暂停时会触发 |
OnVideoCompleted(NativeExpressADView adView) | 视频播放停止 | |
OnVideoError(NativeExpressAdView adView, AdError error) | 视频播放时出现错误 |
接入代码示例
- 完整的接入代码示例可在
Assets/UnionDemo/NativeExpressExample
中找到
加载平台模板广告
- 在您需要加载广告的文件中引入
Tencent.GDT
命名空间
public void LoadAd()
{
#if UNITY_IOS
// iOS 暂不支持自适应宽高
AdSize size = new AdSize(300, 300);
#else
AdSize size = new AdSize(AdSize.FULL_WIDTH, AdSize.AUTO_HEIGHT);
#endif
NativeExpressAd ad = new NativeExpressAd(Constants.nativeExpressPosId, size);
ad.SetListener(new ExampleNativeExpressAdListener(this));
// 加载广告的数量
ad.LoadAd(1);
}
- AdSize - 平台模板广告的尺寸,您可在插件的
Assets/UnionSDK/Scripts/common/AdSize
目录下查找该类的实现
展示平台模板广告
public void Show(NativeExpressAdView view)
{
#if UNITY_IOS
// iOS 广告加载完毕即可展示
view.Render();
// UnifiedBannerAd#GetIOSNativeView 方法能拿到 banner view
// 该 view 类型是 c# 的 IntPtr,是 iOS 的 UIView
IOSDemoUtils.ShowView(view.GetIOSNativeView());
#else
// Android 可直接展示,代码如下
// view.Render();
// AndroidDemoUtils.ShowView(view.GetAndroidNativeView(), true);
// Android 视频广告,这种方式更优
// 先调用预加载视频,在 OnVideoCached 回调中展示
if(view.IsVideoAd())
{
view.PreloadVideo();
} else {
view.Render();
// NativeExpressAdView.GetAndroidNativeView 方法能拿到 view
// 该 view 类型是 c# 的 AndroidJavaObject,是 Java(Android) 的 View
AndroidDemoUtils.ShowView(view.GetAndroidNativeView(), true);
}
#endif
}
在不展示平台模板广告时执行调试
在您加载广告的类中实现如下回调,处理平台模板广告加载失败的问题:
public void OnError(AdError error)
{
}
public void OnAdViewRenderFailed(NativeExpressAdView adView)
{
}
- AdError - 您可在插件的
Assets/UnionSDK/Scripts/common/AdError
目录下查找该类的实现
说明
- 在 Constants.cs 文件中替换您的 AppId 和 PlacementId