최종 업데이트: 2023년 2월
이 페이지에서는 최신 버전과 이전 버전의 이전에 대해 설명합니다.
버전 7에서 버전 8로 이전
이제 전체 화면 형식에서 정적 로드 메서드를 사용합니다.
플러그인 버전 7에서 전면 광고와 보상형 광고에는 광고를 로드하기 위한 인스턴스 수준 LoadAd()
메서드가 있었지만, 보상형 전면 광고와 앱 오프닝 광고에는 광고를 로드하기 위한 정적 Load()
메서드가 있었습니다. 버전 8에서는 모든 전체 화면 광고 형식 (전면 광고, 보상형 광고, 보상형 전면 광고, 앱 오프닝 광고)에 광고를 로드하기 위한 정적 Load()
메서드가 있습니다. 다음은 전면 광고를 로드하는 방법의 예입니다.
버전 8 (현재)
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
const string adUnitId = "unexpected_platform";
#endif
private InterstitialAd _interstitialAd;
private void LoadAd()
{
// Load an interstitial ad
InterstitialAd.Load(adUnitId, new AdRequest(),
(InterstitialAd ad, LoadAdError loadAdError) =>
{
if (loadAdError != null)
{
Debug.Log("Interstitial ad failed to load with error: " +
loadAdError.GetMessage());
return;
}
else if (ad == null)
{
Debug.Log("Interstitial ad failed to load.");
return;
}
Debug.Log("Interstitial ad loaded.");
_interstitialAd = ad;
});
}
버전 7 (기존)
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
const string adUnitId = "unexpected_platform";
#endif
private InterstitialAd _interstitialAd;
private void LoadInterstitialAd()
{
// Initialize an InterstitialAd.
_interstitialAd = new InterstitialAd(adUnitId);
// Called when an ad request has successfully loaded.
_interstitialAd.OnAdLoaded += HandleOnAdLoaded;
// Called when an ad request has failed to load.
_interstitialAd.OnAdFailedToLoad += HandleOnAdFailedToLoad;
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the interstitial with the request.
_interstitialAd.LoadAd(request);
}
private void HandleOnAdLoaded(object sender, EventArgs args)
{
Debug.Log("Interstitial ad loaded.");
}
private void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
if (args != null)
{
Debug.Log("Interstitial ad failed to load with error: " +
args.LoadAdError.GetMessage());
}
}
다음은 보상형 광고를 로드하는 방법의 예입니다.
버전 8 (현재)
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/5224354917";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/1712485313";
#else
const string adUnitId = "unused";
#endif
private RewardedAd _rewardedAd;
private void LoadRewardedAd()
{
// Load a rewarded ad
RewardedAd.Load(adUnitId, new AdRequest(),
(Rewarded ad, LoadAdError loadError) =>
{
if (loadError != null)
{
Debug.Log("Rewarded ad failed to load with error: " +
loadError.GetMessage());
return;
}
else if (ad == null)
{
Debug.Log("Rewarded ad failed to load.");
return;
}
Debug.Log("Rewarded ad loaded.");
_rewardedAd = ad;
});
}
버전 7 (기존)
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/5224354917";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/1712485313";
#else
const string adUnitId = "unused";
#endif
private RewardedAd _rewardedAd;
private void LoadRewardedAd()
{
// Initialize an InterstitialAd.
_rewardedAd = new RewardedAd(adUnitId);
// Called when an ad request has successfully loaded.
_rewardedAd.OnAdLoaded += HandleOnAdLoaded;
// Called when an ad request has failed to load.
_rewardedAd.OnAdFailedToLoad += HandleOnAdFailedToLoad;
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the interstitial with the request.
_rewardedAd.LoadAd(request);
}
private void HandleOnAdLoaded(object sender, EventArgs args)
{
Debug.Log("Rewarded ad loaded.");
}
private void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
if (args != null)
{
Debug.Log("Rewarded ad failed to load with error: " +
args.LoadAdError.GetMessage());
}
}
CanShowAd()를 사용하여 전체 화면 광고를 표시할 준비가 되었는지 확인
버전 7에서는 전체 화면 광고 (전면 광고, 보상형 광고, 보상형 전면 광고, 앱 오프닝 광고)에 광고가 로드되면 true
를 반환하는 IsLoaded()
메서드가 있었습니다. 광고가 로드되는 방식이 변경되어 버전 8에서는 광고가 로드될 때까지 전체 화면 광고 객체에 액세스할 수 없어 IsLoaded()
메서드가 더 이상 사용되지 않습니다.
버전 8에는 광고를 계속 표시할 수 있는 경우 true
를 반환하는 CanShowAd()
라는 새 메서드가 있습니다. 다음은 전면 광고에서 CanShowAd()
를 사용하는 방법의 예입니다.
버전 8 (현재)
private InterstitialAd _interstitalAd;
public void ShowInterstitialAd()
{
if (_interstitalAd != null && _interstitalAd.CanShowAd())
{
_interstitalAd.Show();
}
else
{
Debug.Log("Interstitial ad cannot be shown.");
}
}
버전 7 (기존)
private InterstitialAd _interstitalAd;
public void ShowInterstitialAd()
{
if (_interstitalAd != null && _interstitalAd.IsLoaded())
{
_interstitalAd.Show();
}
else
{
Debug.Log("Interstitial ad is not ready yet.");
}
}
Show(액션)을 사용하여 보상형 광고 게재
플러그인 버전 7에서는 보상형 광고에 사용자 리워드 신호를 처리하기 위한 별도의 OnUserEarnedReward
이벤트가 포함된 Show()
메서드가 있었고 보상형 전면 광고에는 사용자 리워드 신호를 처리하기 위한 콜백이 포함된 Show(Action<Reward>)
메서드가 있었습니다. 버전 8에서는 보상형 광고 및 보상형 전면 광고 형식에 사용자 리워드 알림을 처리하기 위한 콜백이 포함된 Show(Action<Reward>)
메서드가 있습니다.
다음은 보상형 광고를 게재하는 방법의 예입니다.
버전 8 (현재)
private RewardedAd _rewardedAd;
public void ShowRewardedAd()
{
if (_rewardedAd != null && _rewardedAd.CanShowAd())
{
_rewardedAd.Show((Reward reward) =>
{
Debug.Log("Rewarded ad granted a reward: " +
reward.Amount);
});
}
else
{
Debug.Log("Rewarded ad cannot be shown.");
}
}
버전 7 (기존)
private RewardedAd _rewardedAd;
public void ShowRewardedAd()
{
if (_rewardedAd != null && _rewardedAd.CanShowAd())
{
_rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
_rewardedAd.Show());
}
else
{
Debug.Log("Rewarded ad is not ready yet.");
}
}
public void HandleUserEarnedReward(object sender, Reward reward)
{
Debug.Log("Rewarded ad granted a reward: " +
reward.Amount);
}
이제 광고 이벤트 대리자가 특정 유형의 인수를 채택합니다.
API 버전 7에서는 이벤트 대리자를 정의할 때 EventHandlers
를 사용했습니다. 버전 8에서는 광고 이벤트를 위한 일반 대리자를 도입했습니다. 따라서 이제 이벤트에서 EventArg
클래스에 래핑되지 않고 직접 이벤트 값을 내보냅니다.
다음은 OnPaidEvent
대신 OnAdPaid
를 사용하는 예입니다.
버전 8 (현재)
private BannerView _bannerView;
public void ConfigureBanner()
{
_bannerView.OnAdPaid += (AdValue value) =>
{
AdValue value = value;
};
}
버전 7 (기존)
private BannerView _bannerView;
public void ConfigureBanner()
{
_bannerView.OnPaidEvent += (object sender, AdValueEventArg arg) =>
{
AdValue value = arg.Value;
};
}
이제 광고 형식이 균일한 인터페이스를 따릅니다.
플러그인 버전 7에서는 전체 화면 광고 형식 간에 이벤트 이름이 일치하지 않았습니다. 버전 8에서는 광고 형식 간에 일치하도록 많은 API 메서드의 이름을 변경했습니다.
다음 표에는 v8에 도입된 클래스 변경사항이 나열되어 있습니다.
BannerView | |
---|---|
버전 7 | v8 |
OnAdLoaded | OnBannerAdLoaded |
OnAdFailedToLoad | OnBannerAdLoadFailed |
OnAdOpening | OnAdFullScreenContentOpened |
OnAdClosed | OnAdFullScreenContentClosed |
OnPaidEvent | OnAdPaid |
InterstitialAd | |
LoadAd() | InterstitialAd.Load() |
InterstitialAd() | InterstitialAd.Load() |
OnAdLoaded | InterstitialAd.Load() |
OnAdFailedToLoad | InterstitialAd.Load() |
OnAdOpening | OnAdFullScreenContentOpened |
OnAdClosed | OnAdFullScreenContentClosed |
OnAdFailedToShow | OnAdFullScreenContentFailed |
OnAdDidRecordImpression | OnAdImpressionRecorded |
OnPaidEvent | OnAdPaid |
RewardedAd | |
LoadAd() | RewardedAd.Load() |
RewardedAd() | RewardedAd.Load() |
OnAdLoaded | RewardedAd.Load() |
OnAdFailedToLoad | RewardedAd.Load() |
OnAdOpening | OnAdFullScreenContentOpened |
OnAdClosed | OnAdFullScreenContentClosed |
OnAdFailedToShow | OnAdFullScreenContentFailed |
OnAdDidRecordImpression | OnAdImpressionRecorded |
OnPaidEvent | OnAdPaid |
Show() | Show() |
OnUserEarnedReward | Show() |
RewardedInterstitialAd | |
LoadAd() | RewardedInterstitialAd.Load() |
OnPaidEvent | OnAdPaid |
OnAdDidPresentFullScreenContent | OnAdFullScreenContentOpened |
OnAdDidDismissFullScreenContent | OnAdFullScreenContentClosed |
OnAdFailedToPresentFullScreenContent | OnAdFullScreenContentFailed |
OnAdDidRecordImpression | OnAdImpressionRecorded |
AppOpenAd | |
LoadAd() | AppOpenAd.Load() |
OnPaidEvent | OnAdPaid |
OnAdDidPresentFullScreenContent | OnAdFullScreenContentOpened |
OnAdDidDismissFullScreenContent | OnAdFullScreenContentClosed |
OnAdFailedToPresentFullScreenContent | OnAdFullScreenContentFailed |
OnAdDidRecordImpression | OnAdImpressionRecorded |
AdErrorEventArgs | |
AdErrorEventArgs.AdError | AdError를 직접 사용합니다. |
AdFailedToLoadEventArgs | |
AdFailedToLoadEventArgs.LoadAdError | LoadAdError를 직접 사용합니다. |
AdValueEventArgs | |
AdValueEventArgs.AdValue | AdValue를 직접 사용합니다. |