Android iOS Unity JS API Media API 常见问题

平台模板

简介

适用场景:如果我们提供的模板广告样式符合您的需求,建议直接使用该接口

目前,腾讯广告支持自主调整已创建的平台模板广告的模板参数,腾讯开发者平台操作入口:【我的广告位】--- 平台模板广告位:【修改】--- 广告样式:【修改】
自定义模板调参标准如下:

左文右图/左图右文 上图下文/上文下图 双图双文 纯图片
图片(广告元素) 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() 方法查看当前广告对应的底价

回调函数列表

回调函数名 回调函数含义 备注
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) 视频播放时出现错误

接入代码示例

加载平台模板广告

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);
}

展示平台模板广告

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)
{
}

说明


腾讯公司 版权所有