开屏广告
前提
- Android V10.0.1.1 / iOS 9.7.0 (Unity插件 V1.3.3) 开始支持开屏广告接入
- 配置多缓存的情况下,开发者需做好控制不要进行连续展示
- 开发者需要在清单文件中配置开屏的activity
<activity
android:name="com.tradplus.unity.plugin.splash.TPSplashShowActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
1、请求广告
using TradplusSDK.Api;
//流量分组
Dictionary<string, string> customMap = {};
//local自定义Map,仅Android支持
Dictionary<string, object> localParams = {};
//设置附加参数 extra
TPSplashExtra extra = new TPSplashExtra();
extra.customMap = customMap;
extra.localParams = localParams;
extra.openAutoLoadCallback = false;
//请求广告
TradplusSplash.Instance().LoadSplashAd("在TP平台创建的广告位ID", extra);
参数说明
unitId:TradPlus后台创建的广告位ID
- 开发者需正确填入,例如:unitId设置前后有空格,均会导致广告因拉不到配置而请求失败。
TPSplashExtra:额外参数
- customMap:设置流量分组 相关属性参数
- localParams:设置本地参数。仅Android支持。个别广告平台特殊需要设定的参数。
2、检查是否有可用广告
- 建议开发者展示广告前,调用该API判断是否有可用广告,有广告再调用show方法
- true表示有可用广告,false表示暂时无可用广告
bool isReady = TradplusSplash.Instance().SplashAdReady("在TP平台创建的广告位ID");
3、进入广告场景
TradplusSplash.Instance().EntrySplashAdScenario("在TP平台创建的广告位ID", "sceneId");
参数说明
sceneId :广告场景ID (推荐)
- 开发者可在在TradPlus后台创建,位置如下:应用管理--广告场景。
- 具体如何调用,可以参考广告场景的调用时机和用途说明。
- 进入广告场景时传入sceneId,展示广告时也需传入sceneId,否则会影响统计。
4、展示广告
//调 用展示前先判断是否有广告
bool isReady = TradplusSplash.Instance().SplashAdReady("在TP平台创建的广告位ID");
if(isReady)
{
//展示广告
TradplusSplash.Instance().ShowSplashAd("在TP平台创建的广告位ID", "sceneId");
}
5、监听回调
参数说明
-
adInfo:广告位ID、三方广告平台、ecpm等信息。 具体请参考 Android 回调信息说明 , iOS 回调信息说明
-
error:广告请求失败、广告展示失败的错误信息。 具体请参考 错误码、错误信息说明。
常用回调
// 广告加载成功
TradplusSplash.Instance().OnSplashLoaded += OnlLoaded;
// 广告加载失败
TradplusSplash.Instance().OnSplashLoadFailed += OnLoadFailed;
// 广告展示成功
TradplusSplash.Instance().OnSplashImpression += OnImpression;
// 广告展示失败
TradplusSplash.Instance().OnSplashShowFailed += OnShowFailed;
// 广告点击
TradplusSplash.Instance().OnSplashClicked += OnClicked;
// 广告关闭
TradplusSplash.Instance().OnSplashClosed += OnClosed;
// 每层waterfall加载失败时回调
TradplusSplash.Instance().OnSplashOneLayerLoadFailed += OnOneLayerLoadFailed;
void OnlLoaded(string adunit, Dictionary<string, object> adInfo)
{
// 广告加载成功
//一次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加载失败时回调
}