버전 6으로 마이그레이션 가이드

기타 플랫폼

Важно

사용한 Yandex Mediation 어댑터와 타사 중재 네트워크용 어댑터를 최신 버전으로 업데이트하세요. 이전 버전은 어댑터 통합 오류를 유발하여 광고가 제공되지 않을 수 있습니다.

배너

YMAAdSize 클래스 이름을 YMABannerAdSize로 변경했습니다. 이전에 사용 종료로 표시된 flexibleSizeWithCGSize:(CGSize)sizefixedSizeWithCGSize:(CGSize)size 메서드를 제거했습니다.

광고 유형에 따라 메서드를 사용하세요.

적응형 스티키 배너를 생성하려면 stickySizeWithContainerWidth:(CGFloat)width 메서드를 사용하세요.

앱 화면의 상단 또는 하단에 배치되어 자동으로 업데이트되는 작은 광고입니다.

주요 앱 콘텐츠와 겹치지 않으며 게임 앱에서 자주 사용됩니다.

스티키 배너의 높이는 자동으로 결정되며, 장치의 화면 크기에 맞춰 조정되고 화면 높이의 15%를 초과하지 않습니다.

Важно

버전 6.0.0에서는 적응형 스티키 배너에 대한 자동 새로 고침 지원이 추가되었습니다.

이전에 스티키 배너에 대한 자동 새로 고침을 구현한 경우, 비활성화하세요.

적응형 인라인 배너를 생성하려면 inlineSizeWithWidth:(CGFloat)width maxHeight:(CGFloat)height 메서드를 사용하세요.

적응형 인라인 배너는 장치에서 광고 크기를 최적화하여 최대 효율을 제공하는 유연한 배너 광고 형식입니다.

배너 높이는 자동으로 조정되며, 장치 화면의 높이까지 도달할 수 있습니다.

일반적으로 해당 형식은 피드 기반 앱이나 광고에 주로 집중해도 되는 상황에서 사용됩니다.

이전 버전과의 호환성을 위해 fixedSizeWithWidth:(CGFloat)width height:(CGFloat)height 메서드를 fixedSizeWithCGSize:(CGSize)size 대신 추가했습니다. 그러나 사용을 권장하지는 않습니다. 대신 stickySizeWithContainerWidth:(CGFloat)width을 사용하세요. SDK 6.0.0에서는 광고 요청이 전송되기 전에 배너의 높이가 자동으로 계산되어 알려집니다. 이 높이를 화면 레이아웃에 사용할 수 있습니다.

사용 종료된 메서드 flexibleSizeWithCGSize:(CGSize)size를 제거했습니다.

SDK 5

let adSize = YMAAdSize.flexibleSize(withCGSize: CGSize(width: screenWidth, height: bannerHeight))

SDK 6

let adSize = YMABannerAdSize.inlineSize(withWidth: screenWidth, maxHeight: bannerHeight)

사용 종료된 메서드 fixedSizeWithCGSize:(CGSize)size를 제거했습니다.

SDK 5

let adSize = YMAAdSize.fixedSize(with: CGSize(width: screenWidth, height: bannerHeight))

SDK 6

배너를 콘텐츠에 삽입해야 하는 경우 inlineSizeWithWidth:(CGFloat)width maxHeight:(CGFloat)height 메서드를 사용하세요.

let adSize = YMABannerAdSize.inlineSize(withWidth: screenWidth, maxHeight: bannerHeight)

또는 앱 화면의 상단 또는 하단에 배너를 배치해야 하는 경우 stickySizeWithContainerWidth:(CGFloat)width 메서드를 사용할 수 있습니다.

let adSize = YMABannerAdSize.stickySize(withContainerWidth: screenWidth)

YMAAdSize 클래스 이름을 YMABannerAdSize로 변경했습니다.

SDK 5

let adSize = YMAAdSize.fixedSizeWithWidth(width: screenWidth, height: bannerHeight)

SDK 6

let adSize = YMABannerAdSize.stickySize(withContainerWidth: screenWidth)

YMAAdSize 클래스 이름을 YMABannerAdSize로 변경했습니다.

SDK 5

let adSize = YMAAdSize.fixedSizeWithWidth(width: screenWidth, height: bannerHeight)

SDK 6

let adSize = YMABannerAdSize.stickySize(withContainerWidth: screenWidth)

보상형 광고

광고 생성 및 로드 접근 방식이 변경되었습니다. 이제 광고를 로드하는 YMARewardedAdLoader 로더 객체와 의 로더의 대리자 메서드에 의해 가져오는 YMARewardedAd 광고 객체를 함께 제공합니다. 광고 로드 및 렌더링에 대한 내부 로직은 동일하게 유지됩니다. 새로운 API에 대한 자세한 내용은 SDK 참조를 참조하세요.

SDK 5

final class RewardedAdViewController: UIViewController {
   private lazy var rewardedAd: YMARewardedAd = {
        let rewardedAd = YMARewardedAd(adUnitID: "R-M-XXXXX-YY")
        rewardedAd.delegate = self
        return rewardedAd
    }()

    func loadAd() {
      rewardedAd.load()
    }

    func showAd() {
      rewardedAd.present(from: self)
    }

}

SDK 6

final class RewardedAdViewController: UIViewController {
   private var rewardedAd: YMARewardedAd?
   private lazy var rewardedAdLoader: YMARewardedAdLoader = {
        let loader = YMARewardedAdLoader()
        loader.delegate = self
        return loader
    }()

    func loadAd() {
      let configuration = YMAAdRequestConfiguration(adUnitID: "R-M-XXXXX-YY")
      rewardedAdLoader.loadAd(with: configuration)
    }

    func showAd() {
      rewardedAd?.show(from: self)
    }

}

extension RewardedAdViewController: YMARewardedAdLoaderDelegate {
   func rewardedAdLoader(_ adLoader: YMARewardedAdLoader, didLoad rewardedAd: YMARewardedAd) {
        self.rewardedAd = rewardedAd
    }
}

전면 광고

전면 광고 생성 및 로드 접근 방식이 변경되었습니다. 이제 광고를 로드하는 YMAInterstitialAdLoader 로더 객체와 의 로더의 대리자 메서드에 의해 가져오는 YMAInterstitialAd 광고 객체를 함께 제공합니다. 광고 로드 및 렌더링 내부 로직은 동일하게 유지됩니다. 새로운 API에 대한 자세한 내용은 SDK 참조를 참조하세요.

SDK 5

final class InterstitialAdViewController: UIViewController {
   private lazy var interstitialAd: YMAInterstitialAd = {
        let interstitialAd = YMAInterstitialAd(adUnitID: "R-M-XXXXX-YY")
        interstitialAd.delegate = self
        return interstitialAd
    }()

    func loadAd() {
      interstitialAd.load()
    }

    func showAd() {
      interstitialAd.present(from: self)
    }

}

SDK 6

final class InterstitialAdViewController: UIViewController {
   private var interstitialAd: YMAInterstitialAd?
   private lazy var interstitialAdLoader: YMInterstitialAdLoader = {
        let loader = YMInterstitialAdLoader()
        loader.delegate = self
        return loader
    }()

    func loadAd() {
      let configuration = YMAAdRequestConfiguration(adUnitID: "R-M-XXXXX-YY")
      interstitialAdLoader.loadAd(with: configuration)
    }

    func showAd() {
      interstitialAd?.show(from: self)
    }

}

extension InterstitialAdViewController: YMAInterstitialAdLoaderDelegate {
   func interstitialAdLoader(_ adLoader: YMAInterstitialAdLoader, didLoad interstitialAd: YMAInterstitialAd) {
        self.interstitialAd = interstitialAd
    }
}

통합에 대한 전체 예시를 여기서 확인하세요.

앱 실행 광고

새 광고 형식 추가됨: 앱 실행 광고. 자세한 내용은 앱 실행 광고를 참조하세요.

최소 iOS 버전

Yandex Mobile Ads 6.0은 iOS 13 이상이 필요합니다. 이전 iOS 버전을 실행 중인 경우 iOS 13으로 업그레이드하세요.

Yandex Mediation

Важно

사용한 Yandex Mediation 어댑터와 타사 중재 네트워크용 어댑터를 최신 버전으로 업데이트하세요. 이전 버전은 어댑터 통합 오류를 유발하여 광고가 제공되지 않을 수 있습니다.

신규 어댑터 버전

Yandex Mediation 어댑터의 현재 버전(SDK 6.0.0 릴리스 기준):

  • Digital Turbine (ex. AdColony): 4.9.0.5.
  • AppLovin: 11.11.2.0.
  • Chartboost: 9.4.0.0.
  • Google: 10.9.0.0.
  • InMobi: 10.5.5.1.
  • IronSource: 7.4.0.0.
  • Mintegral: 7.4.0.2.
  • VK Ads (ex. myTarget): 5.18.0.1.
  • Start.io: 4.10.0.0.
  • Unity Ads: 4.8.0.1.

타사 중재 플랫폼용 어댑터의 현재 버전(SDK 6.0.0 릴리스 기준):

  • Google AdMob (ex. AdMob): 10.9.0.
  • IronSource: 7.4.0.

Google AdMob (ex. AdMob) 어댑터 이름 변경

AdMobYandexMobileAdsAdapters어댑터의 이름을 GoogleYandexMobileAdsAdapters로 변경했습니다. 표준형 중재 빌드를 사용하는 경우 조치를 취할 필요가 없습니다. 어댑터를 수동으로 추가하는 경우 프로젝트의 Podfile을 편집해야 합니다.

SDK 5

pod 'AdMobYandexMobileAdsAdapters'

SDK 6

pod 'GoogleYandexMobileAdsAdapters'