Interstitial Ad
1. 기본 요건
ADX Unity SDK를 프로젝트에 추가합니다.
Interstitial Ad용으로 발급받은 ADX Ad Unit ID를 사용합니다.
광고를 요청하기 전에 SDK 초기화를 먼저 진행합니다.
SDK 초기화는 앱 실행 시 한 번만 호출하여 주시고, 광고 요청은 초기화가 완료된 후에 이뤄져야 합니다.
2. 구현
Android와 iOS 모두 배포된 경우 플랫폼 별로 발급받은 Ad Unit 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)
{
/* Firebase Analytics 샘플
double revenue = ecpm / 1000f;
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 샘플
double revenue = ecpm / 1000f;
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);
*/
}
Last updated
Was this helpful?