버전 8로 마이그레이션 가이드
Yandex Mobile Ads SDK용 Unity Plugin 8.0.0 버전은 개발자 경험을 개선하기 위한 API 변경 사항을 여러 가지 도입합니다.
주요 변경 사항
1. AdRequest 변경
AdRequestConfiguration 및 AdRequest.Builder 클래스가 제거되었습니다. adUnitId는 AdRequest 생성자의 필수 매개변수가 되었습니다. 이제 Interstitial, Rewarded, AppOpen 로더에는 AdRequestConfiguration 대신 AdRequest를 사용합니다.
| 클래스 | 상태 |
|---|---|
AdRequestConfiguration |
제거됨. AdRequest를 사용하세요 |
AdRequest.Builder |
제거됨. AdRequest 생성자를 사용하세요 |
예시
C#
|
SDK 7 |
SDK 8 |
|
|
2. Targeting 변경
타깃팅 필드(Age, Gender, Location, ContextQuery, ContextTags)가 AdRequestConfiguration.Builder와 AdRequest.Builder에서 제거되었습니다. 타깃팅 매개변수는 새 클래스 AdTargeting으로 설정합니다.
| 클래스 | 속성 | 상태 |
|---|---|---|
AdRequestConfiguration.Builder |
WithAge |
제거됨. AdTargeting(age:)를 사용하세요 |
AdRequestConfiguration.Builder |
WithGender |
제거됨. AdTargeting(gender:)를 사용하세요 |
AdRequestConfiguration.Builder |
WithLocation |
제거됨. AdTargeting(location:)를 사용하세요 |
AdRequestConfiguration.Builder |
WithContextQuery |
제거됨. AdTargeting(contextQuery:)를 사용하세요 |
AdRequestConfiguration.Builder |
WithContextTags |
제거됨. AdTargeting(contextTags:)를 사용하세요 |
AdRequest.Builder |
WithAge |
제거됨. AdTargeting(age:)를 사용하세요 |
AdRequest.Builder |
WithGender |
제거됨. AdTargeting(gender:)를 사용하세요 |
AdRequest.Builder |
WithLocation |
제거됨. AdTargeting(location:)를 사용하세요 |
AdRequest.Builder |
WithContextQuery |
제거됨. AdTargeting(contextQuery:)를 사용하세요 |
AdRequest.Builder |
WithContextTags |
제거됨. AdTargeting(contextTags:)를 사용하세요 |
AdTargeting |
— | 추가됨 |
예시
C#
|
SDK 7 |
SDK 8 |
|
|
3. 광고 로더 변경
RewardedAdLoader, InterstitialAdLoader, AppOpenAdLoader에서 OnAdLoaded 및 OnAdFailedToLoad 이벤트가 제거되었습니다. 로드 결과는 이제 LoadAd 메서드의 콜백 매개변수로 반환됩니다.
| 클래스 | 로더 | 상태 |
|---|---|---|
AppOpenAdLoader |
LoadAd(request) + OnAdLoaded, OnAdFailedToLoad |
LoadAd(request, onLoaded, onFailed)로 변경 |
InterstitialAdLoader |
LoadAd(request) + OnAdLoaded, OnAdFailedToLoad |
LoadAd(request, onLoaded, onFailed)로 변경 |
RewardedAdLoader |
LoadAd(request) + OnAdLoaded, OnAdFailedToLoad |
LoadAd(request, onLoaded, onFailed)로 변경 |
OnAdLoaded |
— | 제거됨 |
OnAdFailedToLoad |
— | 제거됨 |
예시
C#
|
SDK 7 |
SDK 8 |
|
|
InterstitialAdLoader(Interstitial 반환)와 AppOpenAdLoader(AppOpenAd 반환)에도 동일한 패턴이 적용됩니다.
3.1 async/await 지원
모든 광고 로더에 async/await 지원이 추가되었습니다. 로드 오류 시 AdLoadingException이 발생합니다.
| 로더 | 메서드 | 상태 |
|---|---|---|
AppOpenAdLoader |
LoadAd(request) |
추가됨 |
InterstitialAdLoader |
LoadAd(request) |
추가됨 |
RewardedAdLoader |
LoadAd(request) |
추가됨 |
예시
C#
var loader = new RewardedAdLoader();
try
{
_rewardedAd = await loader.LoadAd(new AdRequest("R-M-XXXXX-YY"));
}
catch (AdLoadingException e)
{
Debug.Log(e.Message);
}
4. Banner API 변경
Banner 생성자에서 blockId 매개변수가 제거되었습니다. 이제 광고 단위 ID는 매 로드마다 AdRequest로 전달합니다. BannerAdSize의 팩토리 메서드 이름이 변경되었으며 Size 접미사가 제거되었습니다.
| 클래스 | SDK 7 | SDK 8 | 상태 |
|---|---|---|---|
Banner |
Banner(blockId, adSize, position) |
Banner(adSize, position) |
변경됨 |
Banner |
LoadAd(new AdRequest.Builder().Build()) |
LoadAd(new AdRequest(blockId)) |
변경됨 |
BannerAdSize |
FixedSize(width, height) |
Fixed(width, height) |
이름 변경 |
BannerAdSize |
StickySize(width) |
Sticky(width) |
이름 변경 |
BannerAdSize |
InlineSize(width, maxHeight) |
Inline(width, maxHeight) |
이름 변경 |
예시
C#
|
SDK 7 |
SDK 8 |
|
|
5. SDK 메인 클래스 이름 변경
MobileAds 클래스명이 YandexAds로 변경되었습니다.
| SDK 7 | SDK 8 | 상태 |
|---|---|---|
MobileAds |
YandexAds |
이름 변경 |
MobileAds.SetUserConsent(consent) |
YandexAds.SetUserConsent(consent) |
이름 변경 |
MobileAds.SetLocationTracking(enabled) |
YandexAds.SetLocationTracking(enabled) |
이름 변경 |
MobileAds.SetAgeRestricted(restricted) |
YandexAds.SetAgeRestricted(restricted) |
이름 변경 |
MobileAds.ShowDebugPanel() |
YandexAds.ShowDebugPanel() |
이름 변경 |
예시
C#
|
SDK 7 |
SDK 8 |
|
|
6. AdInfo 변경
AdInfo에서 AdSize 속성이 제거되었습니다. 새 속성 ExtraData, PartnerText, Creatives가 추가되었습니다.
| 클래스 | SDK 7 | SDK 8 | 상태 |
|---|---|---|---|
AdInfo |
AdUnitId |
AdUnitId |
변경 없음 |
AdInfo |
AdSize |
— | 제거됨 |
AdInfo |
— | ExtraData |
추가됨 |
AdInfo |
— | PartnerText |
추가됨(ADFOX 전용) |
AdInfo |
— | Creatives |
추가됨 |
예시
C#
|
SDK 7 |
SDK 8 |
|
|
7. GetInfo() 확장
GetInfo() 메서드가 AppOpenAd와 Banner를 포함한 모든 광고 유형에서 사용할 수 있습니다.
| 광고 유형 | SDK 7 | SDK 8 | 상태 |
|---|---|---|---|
Interstitial.GetInfo() |
✓ | ✓ | 변경 없음 |
RewardedAd.GetInfo() |
✓ | ✓ | 변경 없음 |
AppOpenAd.GetInfo() |
— | ✓ | 추가됨 |
Banner.GetInfo() |
— | ✓ | 추가됨 |
예시
C#
// SDK 8: GetInfo() is available for all ad types
AdInfo adInfo = banner.GetInfo();
if (adInfo != null)
{
Debug.Log($"AdUnitId: {adInfo.AdUnitId}");
}