Interstitial Ad
1. 基本要求
ADX Unity SDK添加到项目中。
使用为插页式广告(Interstitial Ad)签发的 ADX 广告单元 ID。
在请求广告之前 SDK 初始化请先进行。
SDK 初始化请在应用运行时只调用一次,并且 广告请求必须在初始化完成后进行
2. 实现
如果 Android 和 iOS 均有发布,请分别输入为各平台签发的广告单元 ID。
AdxInterstitialAd进行实例化并注册所需的回调。Load()以加载广告。当广告对象释放时
Destroy()。
#if UNITY_ANDROID
string adxInterstitialAdUnitId = "<ANDROID_ADX_INTERSTITIAL_AD_UNIT_ID>";
#elif UNITY_IOS
string adxInterstitialAdUnitId = "<IOS_ADX_INTERSTITIAL_AD_UNIT_ID>";
#endif
void LoadInterstitialAd()
{
if (interstitialAd == null)
{
interstitialAd = new AdxInterstitialAd(adxInterstitialAdUnitId);
interstitialAd.OnAdLoaded += InterstitialAd_OnAdLoaded;
interstitialAd.OnAdFailedToLoad += InterstitialAd_OnAdFailedToLoad;
interstitialAd.OnAdClicked += InterstitialAd_OnAdClicked;
interstitialAd.OnAdShown += InterstitialAd_OnAdShown;
interstitialAd.OnAdClosed += InterstitialAd_OnAdClosed;
interstitialAd.OnAdFailedToShow += InterstitialAd_OnAdFailedToShow;
}
interstitialAd.Load();
}
广告加载完成后 Show() 调用以展示广告。
void ShowInterstitialAd()
{
if (interstitialAd != null && interstitialAd.IsLoaded()){
interstitialAd.Show();
}
}当广告对象释放时 Destroy() 。
void DestroyInterstitialAd()
{
if (interstitialAd != null){
interstitialAd.Destroy();
interstitialAd = null;
}
}3. Callback
可以接收特定事件。请根据需要实现
public event Action OnAdLoaded = delegate { };
public event Action<int> OnAdFailedToLoad = delegate { };
public event Action OnAdClicked = delegate { };
public event Action OnAdShown = delegate { };
public event Action OnAdClosed = delegate { };
public event Action OnAdFailedToShow = delegate { };
public event Action<double> OnPaidEvent = delegate { };4. Ad Revenue (OnPaidEvent)
您可以查看广告展示的预估广告收入。
interstitialAd.OnPaidEvent += InterstitialAd_OnPaidEvent;
void InterstitialAd_OnPaidEvent(double ecpm)
{
double revenue = ecpm / 1000f;
// Firebase Analytics 示例
var impressionParameters = new[] {
new Firebase.Analytics.Parameter("ad_platform", "AD(X)"),
new Firebase.Analytics.Parameter("ad_unit_name", "ADX Interstitial Ad"),
new Firebase.Analytics.Parameter("ad_format", "InterstitialAd"),
new Firebase.Analytics.Parameter("value", revenue),
new Firebase.Analytics.Parameter("currency", "USD")
};
Firebase.Analytics.FirebaseAnalytics.LogEvent("ad_impression", impressionParameters);
// AppsFlyer 示例
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("AdUnitName", "ADX Interstitial Ad")
dic.Add("AdType", "InterstitialAd");
AppsFlyerAdRevenue.logAdRevenue("AD(X)", AppsFlyerAdRevenueMediationNetworkType.AppsFlyerAdRevenueMediationNetworkTypeCustomMediation, revenue, "USD", dic);
}最后更新于
这有帮助吗?