横幅广告
1、请求广告
using TradplusSDK.Api;
//流量分组
Dictionary<string, string> customMap = {};
//local自定义Map,仅Android支持
Dictionary<string, object> localParams = {};
//设置附加参数 extra
TPBannerExtra extra = new TPBannerExtra();
extra.x = 0;
extra.y = 0;
extra.width = 320;
extra.height = 50;
extra.closeAutoShow = false;
extra.adPosition = TradplusBase.AdPosition.TopLeft;
extra.customMap = customMap;
extra.localParams = localParams;
extra.className = "tp_native_banner_ad_unit";
//请求广告
TradplusBanner.Instance().LoadBannerAd("在TP平台创建的广告位ID", sceneId, extra);
参数说明
unitId:TradPlus后台创建的广告位ID
- 开发者需正确填入,例如:unitId设置前后有空格,均会导致广告因拉不到配置而请求失败。
sceneId :广告场景ID
- 开发者可在在TradPlus后台创建,位置如下:应用管理--广告场景。
- 具体如何调用,可以参考广告场景的调用时机和用途说明。
- 进入广告场景时传入sceneId,展示广告时也需传入sceneId,否则会影响统计。
TPBannerExtra:额外参数
- x:坐标 x,默认 0。
- y:坐标 y,默认 0。
- width:宽度,默认 320。
- height:高度,默认 50。
- adPosition:屏幕位置定位(当 x y 都为 0 时生效),默认TopLeft。
- closeAutoShow:是否关闭自动展示 。默认开启自动展示,传入true关闭。
- customMap:设置流量分组 相关属性参数
- localParams:设置本地参数。个别广告平台特殊需要设定的参数。
- className:自定义渲染的方式设置原生横幅,开发者传入布局名称即可。
(1)SDK内置默认布局样式,如果开发者需要自己定义布局样式,就需要使用此方法渲染。
(2)详细了解,见下文《如何使用横幅广告位配置原生横幅》部分介绍
(3)tp_native_banner_ad_unit,为TradPlus提供的样式布局文件,可以在下载的unitypackage中获取。
2、检查是否有可用广告
- 建议开发者展示广告前,调用该API判断是否有可用广告,有广告再调用show方法
- true表示有可用广告,false表示暂时无可用广告
bool isReady = TradplusBanner.Instance().BannerAdReady("在TP平台创建的广告位ID");
3、进入广告场景 (可选)
TradplusBanner.Instance().EntryBannerAdScenario("在TP平台创建的广告位ID", "sceneId");
4、展示广告
此接口配合 closeAutoShow 关闭自动展示时使用
//调用展示前先判断是否有广告
bool isReady = TradplusBanner.Instance().BannerAdReady("在TP平台创建的广告位ID");
if(isReady)
{
//展示广告
TradplusBanner.Instance().ShowBannerAd("在TP平台创建的广告位ID", "sceneId");
}
5、隐藏已展示的广告
TradplusBanner.Instance().HideBanner("在TP平台创建的广告位ID");
6、显示已隐藏的广告
TradplusBanner.Instance().DisplayBanner("在TP平台创建的广告位ID");
7、销毁广告
//销毁广告
TradplusBanner.Instance().DestroyBanner("在TP平台创建的广告位ID");
8、监听回调
参数说明
-
adInfo:广告位ID、三方广告平台、ecpm等信息。 具体请参考 Android 回调信息说明 , iOS 回调信息说明
-
error:广告请求失败、广告展示失败的错误信息。 具体请参考 错误码、错误信息说明。
常用回调
// 广告加载成功
TradplusBanner.Instance().OnBannerLoaded += OnlLoaded;
// 广告加载失败
TradplusBanner.Instance().OnBannerLoadFailed += OnLoadFailed;
// 广告展示成功
TradplusBanner.Instance().OnBannerImpression += OnImpression;
//广告展示失败
TradplusBanner.Instance().OnBannerShowFailed += OnShowFailed;
//广告点击
TradplusBanner.Instance().OnBannerClicked += OnClicked;
//广告关闭
TradplusBanner.Instance().OnBannerClosed += OnClosed;
//每层waterfall加载失败时回调
TradplusBanner.Instance().OnBannerOneLayerLoadFailed += OnOneLayerLoadFailed;
void OnlLoaded(string adunit, Dictionary<string, object> adInfo)
{
// 广告加载成功
//v1.1.2优化回调方式,一次loadAd对应一次loaded回调,不调用不回调。
}
void OnLoadFailed(string adunit, Dictionary<string, object> error)
{
// 广告加载失败
}
void OnImpression(string adunit, Dictionary<string, object> adInfo)
{
// 广告展示成功
}
void OnShowFailed(string adunit, Dictionary<string, object> adInfo, Dictionary<string, object> error)
{
//广告展示失败
}
void OnClicked(string adunit, Dictionary<string, object> adInfo)
{
//广告点击
}
void OnClosed(string adunit, Dictionary<string, object> adInfo)
{
//广告关闭
}
void OnOneLayerLoadFailed(string adunit, Dictionary<string, object> adInfo, Dictionary<string, object> error)
{
//每层waterfall加载失败时回调
}