기술 자료

​
​

Development

User Acquisition

Monetization

산업 분야

LevelPlay SDK - Unity

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - Unity

Unity LevelPlay
​
​
Unity SDK
  • 시작하기
    • Unity 시작하기
    • Unity 패키지 통합
      • Migrate to 9.0.0+
      • Migrate to LevelPlay Init API
      • Maven Central migration guide
      • Migrate from Unity Ads to LevelPlay
    • Unity 개발자 도구
    • Unity용 광고 품질 SDK 통합
    • 커스텀 어댑터
    • 레벨플레이 SDK 변경 기록 기록
  • 규정 및 설정
  • 광고 형식
  • Mediation 네트워크
  • 연동 테스트
  1. 게임 성장
  2. Unity 레벨플레이
  3. LevelPlay SDK
  4. Unity 개발자를 위한 레벨플레이 SDK

Unity Ads 레벨플레이 마이그레이션

Advertisement 레거시 패키지를 사용하는 Unity Ads SDK의 직접 통합에서 Ads Mediation 패키지와 레벨플레이 통합으로 마이그레이션합니다.
읽는 시간 8분
최근 업데이트: 9시간 전

참고
2026년 4월 1일부터 Advertisement 레거시 패키지를 통한 직접 연동을 통해 Unity Ads 수익을 창출하는 앱 광고 성과가 저하될 수 있습니다. 성과 저하를 방지하려면 입찰자로 Unity Ads 통합으로 전환하십시오.
Unity Ads 네트워크는 계속해서 직접 통합을 사용하여 모든 앱 Fill을 지원하고 제공합니다. 그러나 수익과 성과를 극대화하기 위해 Unity의 광고 Mediation 플랫폼인 LevelPlay용 Ads Mediation 패키지를 설치하는 것이 좋습니다.
이 가이드에서는 일반적인 사용 사례에 대한 API 매핑을 비롯하여 프로젝트를 직접 Unity Ads SDK 통합에서 레벨플레이 SDK 통합으로 전환 방법을 설명합니다. 자세한 내용은 레벨플레이 통합 가이드를 참조하십시오. 레벨플레이 마이그레이션하는 주요 단계는 다음 표를 참고하십시오.

항목

설명

광고 Mediation으로 마이그레이션레거시 Unity Ads에서 레벨플레이로 프로젝트 전환
맵 API 및 업데이트 코드레거시 초기화, 배너, 인터스티셜 광고 및 보상형 광고를 레벨플레이에 해당하는 광고로 교체합니다.
테스트 및 검증선택 사항으로 레벨플레이 테스트 제품군과 빌트인 통합 확인 툴을 사용하여 새 통합을 검증합니다.
API 및 기능 매핑 레퍼런스레거시 Unity Ads 기능과 파라미터가 해당 레벨플레이 대안에 매핑되는 방법을 검토합니다.
레거시 패키지 제거Advertisement 레거시 패키지를 제거하고 프로젝트의 남은 종속성을 결정합니다.
중요
Advertisement 레거시 패키지를 계속 사용하는 프로젝트에 레벨플레이 설치하면 프로젝트가 제대로 함수 않을 수 있습니다. API를 레벨플레이에 매핑한 후 레거시 패키지를 제거해야 합니다.
참고
마이그레이션 프로세스는 Unity 패키지 관리자(UPM)를 통해 Advertisement 레거시 패키지가 설치된 Unity 프로젝트에만 해당합니다.

필수 조건

레벨플레이 대시보드에 액세스, 접근할 수 있는지 확인합니다.

Ads Mediation 마이그레이션

레거시 Unity Ads 연동을 레벨플레이 대체하려면 다음 단계를 따르십시오.

레벨플레이 패키지 설치

Unity 패키지 관리자 사용하여 레벨플레이 패키지를 설치하려면 다음 단계를 따르십시오.
  1. Unity 에디터에서 Window > Package Manager로 이동합니다.
  2. 선택 패키지: Unity Registry를 선택합니다.
  3. 검색 광고 Mediation.
  4. 최신 버전의 경우 설치를 선택합니다.

종속성 구성

레벨플레이 Android 및 iOS 라이브러리를 관리하려면 Mobile Dependency Resolver 또는 Unity 외부 종속성 관리자(EDM4U)와 같은 종속성 리솔러가 필요합니다.
프로젝트에 종속성 리셀러가 설치되어 있는지 확인합니다. 프로젝트에 이미 종속성 리셀러가 포함되어 있으면 유지하세요. 레벨플레이 설치 후에 Mobile Dependency Resolver를 설치하라는 프롬프트가 나타나면 Yes를 선택합니다.

레벨플레이 대시보드 설정

레벨플레이 대시보드를 설정 앱을 등록하고 Mediation 필요한 광고 유닛을 생성합니다.
  1. 레벨플레이 대시보드에 로그인합니다.
  2. Add App을 선택하고 프롬프트에 따라 애플리케이션을 등록합니다.
  3. 광고 유닛으로 이동하여 관리할 앱을 선택합니다.
  4. 광고 유닛을 생성합니다(배너, 인터스티셜 광고 또는 보상형 광고). 광고 유닛에 대한 자세한 내용은 광고 유닛 관리 기술 자료를 참고하십시오.
참고
광고 유닛을 생성하면 대시보드에 각각의 상태, 이름, 광고 유닛 ID, 광고 형식이 표시됩니다. 광고 유닛 정보에는 광고 유닛에 연결된 네트워크 및 Mediation 그룹 수도 표시됩니다. 인스턴스 설정 및 Mediation 관리 페이지에 액세스, 접근 수 있는 네트워크 또는 그룹 수를 선택할 수 있습니다.
  1. 레벨플레이 대시보드 앱 페이지에서 앱 키 및 광고 유닛 ID를 찾아 저장합니다. 이 ID는 맵 API에 필요합니다.

맵 API 및 코드 업데이트

기존의
Advertisement
클래스 호출을 해당하는
LevelPlay
메서드로 교체합니다. 레거시 Unity Ads SDK와 달리, 레벨플레이 광고 유닛의 인스턴스를 생성해야 합니다. 광고 유닛은 선택적 설정 파라미터 있는 재사용 가능한 인스턴스입니다. SDK를 초기화하고 배너 광고, 인터스티셜 광고 광고, 보상형 광고 광고를 구현하려면 다음 샘플을 참고하십시오.

레벨플레이 SDK 초기화

레벨플레이 SDK는 게임 ID 대신 앱 키를 사용합니다. 이벤트 리스너를 등록하고 SDK를 초기화하려면 다음 샘플을 참조하십시오.
참고
광고 객체를 생성하기 전에
OnInitSuccess
콜백 수신:
LevelPlay.OnInitSuccess += SdkInitializationCompletedEvent;LevelPlay.OnInitFailed += SdkInitializationFailedEvent;LevelPlay.Init("YOUR_APPKEY");void SdkInitializationCompletedEvent(LevelPlayConfiguration config){ Debug.Log($"[LevelPlaySample] Received SdkInitializationCompletedEvent with Config: {config}");}void SdkInitializationFailedEvent(LevelPlayInitError error){ Debug.Log($"[LevelPlaySample] Received SdkInitializationFailedEvent with Error: {error}"); }

배너 광고 구현

배너 광고를 구현하려면 다음 샘플을 참조하십시오.
public class BannerAdSample { private LevelPlayBannerAd bannerAd; void CreateBannerAd() { // Create ad configuration - optional var adConfig = new LevelPlayBannerAd.Config.Builder() .SetSize(LevelPlayAdSize.BANNER) .SetPlacementName("placementName") .SetPosition(LevelPlayBannerPosition.BottomCenter) .SetDisplayOnLoad(true) .SetRespectSafeArea(true) .Build(); // Create banner instance bannerAd = new LevelPlayBannerAd("YOUR_BANNER_AD_UNIT_ID", adConfig); // Subscribe BannerAd events bannerAd.OnAdLoaded += BannerOnAdLoadedEvent; bannerAd.OnAdLoadFailed += BannerOnAdLoadFailedEvent; bannerAd.OnAdDisplayed += BannerOnAdDisplayedEvent; bannerAd.OnAdDisplayFailed += BannerOnAdDisplayFailedEvent; bannerAd.OnAdClicked += BannerOnAdClickedEvent; bannerAd.OnAdCollapsed += BannerOnAdCollapsedEvent; bannerAd.OnAdLeftApplication += BannerOnAdLeftApplicationEvent; bannerAd.OnAdExpanded += BannerOnAdExpandedEvent; } public void LoadBannerAd() { //Load the banner ad bannerAd.LoadAd(); } public void ShowBannerAd() { //Show the banner ad, call this method only if you turned off the auto show when you created this banner instance. bannerAd.ShowAd(); } public void HideBannerAd() { //Hide banner bannerAd.HideAd(); } public void DestroyBannerAd() { //Destroy banner bannerAd.DestroyAd(); } //Implement BannerAd Events public void BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {} public void BannerOnAdLoadFailedEvent(LevelPlayAdError ironSourceError) {} public void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {} public void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {} public void BannerOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error){} public void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {} public void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {} public void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}}

인터스티셜 광고 구현

인터스티셜 광고 구현하려면 다음 샘플을 참고하십시오.
public class InterstitialAdSample { private LevelPlayInterstitialAd interstitialAd; void CreateInterstitialAd() { // Create InterstitialAd instance interstitialAd = new LevelPlayInterstitialAd("YOUR_INTERSTITIAL_AD_UNIT_ID"); // Subscribe InterstitialAd events interstitialAd.OnAdLoaded += InterstitialOnAdLoadedEvent; interstitialAd.OnAdLoadFailed += InterstitialOnAdLoadFailedEvent; interstitialAd.OnAdDisplayed += InterstitialOnAdDisplayedEvent; interstitialAd.OnAdDisplayFailed += InterstitialOnAdDisplayFailedEvent; interstitialAd.OnAdClicked += InterstitialOnAdClickedEvent; interstitialAd.OnAdClosed += InterstitialOnAdClosedEvent; interstitialAd.OnAdInfoChanged += InterstitialOnAdInfoChangedEvent; } void LoadInterstitialAd() { // Load or reload InterstitialAd interstitialAd.LoadAd(); } void ShowInterstitialAd() { // Show InterstitialAd, check if the ad is ready before showing if (interstitialAd.IsAdReady()) { interstitialAd.ShowAd(); } } void DestroyInterstitialAd() { // Destroy InterstitialAd interstitialAd.DestroyAd(); } // Implement InterstitialAd events void InterstitialOnAdLoadedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdLoadFailedEvent(LevelPlayAdError error) { } void InterstitialOnAdClickedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdDisplayedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error) { } void InterstitialOnAdClosedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdInfoChangedEvent(LevelPlayAdInfo adInfo) { }}

보상형 광고

보상형 광고 광고를 구현하려면 다음 샘플을 참고하십시오.
public class LevelPlaySample : MonoBehaviour{ private LevelPlayRewardedAd rewardedAd; void CreateRewardedAd() { rewardedAd = new LevelPlayRewardedAd("YOUR_REWARDED_AD_UNIT_ID"); rewardedAd.OnAdLoaded += OnAdLoaded; rewardedAd.OnAdLoadFailed += OnAdLoadFailed; rewardedAd.OnAdDisplayed += OnAdDisplayed; rewardedAd.OnAdDisplayFailed += OnAdDisplayFailed; rewardedAd.OnAdRewarded += OnAdRewarded; rewardedAd.OnAdClicked += OnAdClicked; rewardedAd.OnAdClosed += OnAdClosed; rewardedAd.OnAdInfoChanged += OnAdInfoChanged; } void LoadRewardedAd() { rewardedAd.LoadAd(); } void ShowRewardedAd(string placementName = null) { if (rewardedAd.IsAdReady() && !LevelPlayRewardedAd.IsPlacementCapped(placementName)) { rewardedAd.ShowAd(placementName); } } bool CheckIfRewardedAdIsReady() { return rewardedAd.IsAdReady(); } bool CheckIfPlacementIsCapped(문자열 placementName) { return LevelPlayRewardedAd.IsPlacementCapped(placementName); } void OnAdLoaded(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad loaded with ad info {adInfo}"); } void OnAdLoadFailed(LevelPlayAdError adError) { Debug.Log($"Rewarded ad failed to load with ad error {adError}"); } void OnAdDisplayed(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad displayed with ad info {adInfo}"); } void OnAdDisplayFailed(LevelPlayAdDisplayInfoError adInfoError) { Debug.Log($"Rewarded ad failed to display with ad info and error {adInfoError}"); } void OnAdRewarded(LevelPlayAdInfo adInfo, LevelPlayReward adReward) { Debug.Log($"Rewarded ad gained reward with adInfo {adInfo} and reward {adReward}"); } void OnAdClicked(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad clicked with ad info {adInfo}"); } void OnAdClosed(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad closed with ad info {adInfo}"); } void OnAdInfoChanged(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad info changed with ad info {adInfo}"); } }

테스트 및 검증

연동을 확인하려면 앱을 빌드 확인 테스트를 실행합니다.

빌드 및 테스트

Android 또는 iOS용 앱을 빌드 통합을 테스트합니다. 앱은 레벨플레이 대시보드에서 비활성화하다, 무효화하다, 사용 안 함 때까지 테스트 모드 상태로 유지됩니다.

Test Suite 실행(선택 사항)

레벨플레이 통합 테스트 제품군을 사용하여 각 광고 네트워크가 올바르게 구성되었는지 확인합니다.
앱에서 Test Suite를 활성화하려면 초기화를 설정하기 전에
setMetaData
API를 호출합니다.
LevelPlay.SetMetaData("is_test_suite", "enable");
성공 콜백 시 Test Suite 실행:
LevelPlayEvents.onSdkInitializationCompletedEvent += SdkInitializationCompletedEvent;private void SdkInitializationCompletedEvent(){ ... //Launch test suite LevelPlay.LaunchTestSuite();}

연동 확인

다음 API 호출 패키지 및 종속성에 대한 내부 검사를 수행합니다.
LevelPlay.ValidateIntegration();

레거시 패키지 제거

모든 광고가 올바르게 함수 프로젝트에 레거시 Advertisement API가 없는지 확인한 후 다음 단계에 따라 Advertisement 레거시 패키지를 제거합니다.
  1. Unity 에디터에서 Window > Package Manager로 이동합니다.
  2. 선택 패키지: In Project.
  3. 찾아서 광고 레거시를 선택합니다.
  4. 제거를 선택합니다.

API 및 기능 매핑 레퍼런스

다음 표를 사용하여 레거시 Unity Ads SDK API 파라미터를 레벨플레이 API 파라미터에 맵.

사용 사례

Unity Ads API 파라미터

레벨플레이 파라미터

참고 사항

초기화 ID
gameId
appKey
Android와 iOS 모두에 적용
Initialize SDK
Advertisement.Initialize(_gameId, _testMode, this);
LevelPlay.Init(appKey);
테스트 모드는 레벨플레이에서 지원되지 않습니다.
초기화 성공 이벤트
IUnityAdsInitializationListener.OnInitializationComplete()
LevelPlay.OnInitSuccess
Init 이벤트 실패
IUnityAdsInitializationListener.OnInitializationFailed(error, message)
LevelPlay.OnInitFailed
초기화됨
Advertisement.isInitialized
지원 안 함레벨플레이 지원되지 않음
MetaData 설정
Advertisement.SetMetaData(metaData)
LevelPlay.SetMetaData(key, value)
배너 로드
Advertisement.Banner.Load(adUnitId, BannerLoadOptions)
bannerAd.LoadAd();
인스턴스 생성
배너 표시
Advertisement.Banner.Show(adUnitId, BannerOptions)
bannerAd.ShowAd()
인스턴스 생성
배너 위치 설정
Advertisement.Banner.SetPosition(BannerPosition.BOTTOM_CENTER)
LevelPlayBannerAd bannerAd = new LevelPlayBannerAd(adUnitId, LevelPlayAdSize.BANNER, LevelPlayBannerPosition.TopLeft);
생성자 또는 빌더에서 전달한 활용 사례
배너 로드 옵션
BannerLoadOptions { loadCallback, errorCallback }
bannerAd.OnAdLoaded

및
bannerAd.OnAdLoadFailed
배너 옵션
BannerOptions { clickCallback, hideCallback, showCallback }
bannerAd.OnAdDisplayed

및
bannerAd.OnAdDisplayFailed

및
bannerAd.OnAdClicked

및
bannerAd.OnAdCollapsed

및
bannerAd.OnAdLeftApplication

및
bannerAd.OnAdExpanded
옵션 표시
ShowOptions { resultCallback }
:
Advertisement.Show(...)
bannerAd.OnAdDisplayed

및
bannerAd.OnAdDisplayFailed

및
bannerAd.OnAdClicked

및
bannerAd.OnAdCollapsed

및
bannerAd.OnAdLeftApplication

및
bannerAd.OnAdExpanded
배너 숨기기
Advertisement.Banner.Hide()
bannerAd.HideAd()
인스턴스 생성
배너 클릭됨
BannerOptions.clickCallback
bannerAd.OnAdClicked
인스턴스의 이벤트 콜백
배너 표시
BannerOptions.showCallback
bannerAd.OnAdDisplayed
인스턴스의 이벤트 콜백
배너 숨김
BannerOptions.hideCallback
지원 안 함
보상형 광고 로드
Advertisement.Load(adUnitId, IUnityAdsLoadListener)
rewardedAd.LoadAd();
인스턴스 생성
보상형 광고 표시
Advertisement.Show(adUnitId, IUnityAdsShowListener)
rewardedAd.ShowAd();
인스턴스 생성
로드 인터스티셜 광고
Advertisement.Load(adUnitId, IUnityAdsLoadListener)
interstitialAd.LoadAd();
인스턴스 생성
인터스티셜 광고 표시
Advertisement.Show(adUnitId, IUnityAdsShowListener)
interstitialAd.ShowAd();
인스턴스 생성
로드된 광고
IUnityAdsLoadListener.OnUnityAdsAdLoaded(adUnitId)
interstitialAd.OnAdLoaded

또는
rewardedAd.OnAdLoaded
인스턴스의 이벤트 콜백
광고 로드 실패
IUnityAdsLoadListener.OnUnityAdsFailedToLoad(adUnitId, error, message)
interstitialAd.OnAdLoaded

또는
rewardedAd.OnAdLoaded
인스턴스의 이벤트 콜백
광고 표시 실패
IUnityAdsShowListener.OnUnityAdsShowFailure(adUnitId, error, message)
interstitialAd.OnAdDisplayFailed

또는
rewardedAd.OnAdDisplayFailed
인스턴스의 이벤트 콜백
광고 표시 시작
IUnityAdsShowListener.OnUnityAdsShowStart(adUnitId)
interstitialAd.OnAdDisplayed

또는
rewardedAd.OnAdDisplayFailed
인스턴스의 이벤트 콜백
광고 표시 클릭
IUnityAdsShowListener.OnUnityAdsShowClick(adUnitId)
interstitialAd.OnAdClicked

또는
rewardedAd.OnAdDisplayFailed
인스턴스의 이벤트 콜백
광고 표시 완료
IUnityAdsShowListener.OnUnityAdsShowComplete(adUnitId, completionState)
interstitialAd.OnAdClosed

또는
rewardedAd.OnAdDisplayFailed
인스턴스의 이벤트 콜백
지원됨
Advertisement.isSupported
지원 안 함레벨플레이 지원되지 않음
디버그 모드
Advertisement.debugMode = true
지원 안 함레벨플레이 지원되지 않음
패키지 버전
Advertisement.version
LevelPlay.PluginVersion
표시 중
Advertisement.isShowing
지원 안 함레벨플레이 지원되지 않음

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • 필수 조건

    • Ads Mediation 마이그레이션

      • 레벨플레이 패키지 설치

      • 종속성 구성

      • 레벨플레이 대시보드 설정

    • 맵 API 및 코드 업데이트

      • 레벨플레이 SDK 초기화

      • 배너 광고 구현

      • 인터스티셜 광고 구현

      • 보상형 광고

    • 테스트 및 검증

      • 빌드 및 테스트

      • Test Suite 실행(선택 사항)

      • 연동 확인

    • 레거시 패키지 제거

    • API 및 기능 매핑 레퍼런스


이 페이지의 문제 보고