레벨플레이 연동 관련 문제 해결
일반적인 레벨플레이 연동 문제를 해결합니다.
읽는 시간 7분최근 업데이트: 8시간 전
Unity 에디터와 레벨플레이를 연동할 때 몇 가지 문제가 생길 수도 있습니다. 이 가이드를 참고로 해결할 수 있는 문제 유형은 다음과 같습니다.
LevelPlayBannerPosition으로 배너 광고 위치 지정
오류
열거형이나 정수로 을 사용할 때 컴파일 오류가 발생하는 경우 그 이유는 버전 8.8.0에서 이 열거형에서 클래스로 업데이트되었기 때문입니다. 이 변경 사항은 코드에서 배너 위치를 참조해야 하는 방식에 영향을 줍니다.
LevelPlayBannerPositionLevelPlayBannerPosition해결 방법
레벨플레이 Unity 패키지 버전 8.8.0 및 8.8.1에서 은 열거형에서 클래스로 변경되었습니다. 업데이트된 API는 9개의 사전 정의된 배너 위치를 지원하며, 오브젝트를 생성하여 정확한 좌표(x, y)를 지정할 수 있습니다.
LevelPlayBannerPositionLevelPlayBannerPositionUnity 에디터 콘솔에서 컴파일 오류가 표시되면 다음 예시를 참고하여 발생 가능한 원인과 해결 방법에 대해 알아봅니다.
LevelPlayBannerPosition예제 1: 파라미터 기본값 오류
기본 열거형 값이 있는 파라미터로 을 전달할 때 컴파일 오류가 발생할 수 있습니다. 이 문제를 해결하려면 대신 null을 사용합니다.
LevelPlayBannerPosition// Use null for the default value, or pass a value explicitlypublic LevelPlayBannerAd(string adUnitId, LevelPlayBannerPosition position = null)
예제 2: 잘못된 전환 또는 열거형 비교
코드가 switch 문을 사용하거나 값을 열거형이나 정수로 비교하는 경우 컴파일 오류가 발생할 수 있습니다. 예시:
LevelPlayBannerPositionswitch (position) { case LevelPlayBannerPosition.BottomCenter: }
이제 이 클래스이므로 이 로직을 직접 오브젝트 비교로 대체합니다.
LevelPlayBannerPositionif (position == LevelPlayBannerPosition.BottomCenter) { /* Handle case */ }
레이아웃 로직, 로깅, 분석 목적으로 필요한 경우 프로퍼티를 사용하여 배너 위치를 비교할 수도 있습니다. 예시:
Descriptionif (position.Description == "BottomCenter") { Debug.Log("Banner is at bottom-center.");}
중복된 클래스 오류 메시지
프로젝트를 만들거나 테스트할 때 중복된 클래스 오류 메시지(CSO433)가 나타납니다. 이 오류 메시지로 중복된 클래스와 해당 클래스가 나타나는 어셈블리를 식별할 수 있습니다. 다음은 중복된 클래스 오류 메시지 예제입니다.
- The type exists in both
IronSourceMediationSettingsandAssembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'Unity.LevelPlay, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
다음과 같은 이유로 중복된 클래스 오류가 표시됩니다.
- Unity 플러그인을 제거하지 않고 Ads Mediation 패키지 업데이트
- Ads Mediation 패키지를 제거하지 않고 Unity 플러그인 업데이트
- 중요한 Ads Mediation 패키지 업데이트
다음 섹션을 참고하여 이러한 문제의 설명과 해결 방법에 대해 알아보십시오.
Unity 플러그인을 제거하지 않고 Ads Mediation 패키지 업데이트
.unitypackage 파일(Unity 플러그인)이 이미 설치된 상태에서 Ads Mediation 패키지를 통해 최신 버전의 Unity 레벨플레이가 업데이트되었습니다.
해결 방법
.unitypackage 파일(Unity 플러그인)을 제거한 다음 Ads Mediation 패키지를 설치하거나 업데이트합니다. 플러그인을 제거하려면 다음 단계를 완료합니다.
- Unity 에디터에서 프로젝트를 열어서 Assets로 이동합니다.
- 사용하고 있는 레벨플레이 SDK 버전에 따라 Assets에서 다음 중 하나를 선택합니다.
- SDK v7.8.0 포함 이전인 경우: IronSource를 오른쪽 클릭하여 Delete를 선택합니다.
- SDK v8.0.0인 경우: LevelPlay를 오른쪽 클릭하여 Delete를 선택합니다.
Ads Mediation 패키지를 제거하지 않고 Unity 플러그인 업데이트
Ads Mediation이 이미 설치된 상태에서 .unitypackage 파일을 통해 최신 버전의 Unity 레벨플레이가 업데이트되었습니다.
해결 방법
Ads Mediation 패키지를 제거한 다음 Unity 플러그인을 설치하거나 업데이트합니다. 다음 단계에 따라 Unity 에디터에서 Ads Mediation 패키지를 제거합니다.
- Unity 에디터에서 프로젝트를 열고 Window > Package Management > Package Manager로 이동합니다.
- Package Manager에서 Packages > In Project를 선택합니다.
- Ads Mediation > Remove를 선택합니다.
- Unity 에디터에서 프로젝트를 열어서 Assets로 이동합니다.
- 사용하고 있는 레벨플레이 SDK 버전에 따라 Assets에서 다음 중 하나를 선택합니다.
- SDK v7.8.0 포함 이전인 경우: IronSource를 오른쪽 클릭하여 Delete를 선택합니다.
- SDK v8.0.0인 경우: LevelPlay를 오른쪽 클릭하여 Delete를 선택합니다.
- 설치된 경우 Mobile Dependency Resolver를 오른쪽 클릭하여 Delete를 선택합니다.
중요한 Ads Mediation 패키지 업데이트
Ads Mediation 패키지가 초기 버전에서 가장 최신 버전으로 업데이트되었습니다.
해결 방법
Ads Mediation 패키지에 중요한 업데이트가 필요하면 원활한 업그레이드 경로를 확보하기 위해 추가 단계가 필요할 수 있습니다.
예를 들어 v1.0.0에서 v8.0.0으로 업데이트를 진행하면 업데이트 시 추가 단계를 거쳐야 합니다. 자세히 알아보려면 Unity 패키지 관리자의 Ads Mediation 패키지 설명을 참고하십시오.
레벨플레이 SDK에서 스크립팅 기호 제거 불가
레벨플레이 SDK에서 스크립팅 기호를 제거했지만, SDK에서 계속해서 자동으로 다시 생성됩니다.
LEVELPLAY_DEPENDENCIES_INSTALLED원인
SDK에서 스크립팅 기호를 제거하면 SDK는 항상 기호를 자동으로 다시 추가합니다. 레벨플레이 SDK Unity 패키지 버전 8.0.0부터 이 스크립팅 기호가 필요합니다.
LEVELPLAY_DEPENDENCIES_INSTALLED해결 방법
이 문제의 경우, 스크립팅 기호가 레벨플레이 SDK 버전 8.0.0부터 필요하기 때문에 알려진 해결 방법이 없습니다. 이 기호는 삭제하면 항상 자동으로 다시 추가됩니다.
종속성 클래스 누락 오류 메시지
Ads Mediation 패키지를 설치한 후 종속성 클래스 오류 메시지가 나타납니다. 다음은 종속성 클래스 누락 경고 메시지 예제입니다.
- The type or namespace name does not exist in the namespace
Core.Unity.Services - The type or namespace name could not be found.
Newtonsoft - The type or namespace name could not be found.
EditorGameServiceFlagEnabler
원인
레벨플레이 SDK Unity 패키지에서 종속성이 제거되거나 설치에 실패하면 이런 문제가 발생할 수 있습니다. 이 종속성이 누락되면 콘솔에는 어떤 종속성 클래스를 찾을 수 없는지 식별하는 오류 메시지가 표시됩니다.
com.unity.services.core해결 방법
누락된 종속성 문제를 해결하는 방법은 두 가지입니다. 이름별로 Services Core 패키지를 수동으로 설치하거나 스크립팅 기호를 제거하는 것입니다.
com.unity.services.coreLEVELPLAY_DEPENDENCIES_INSTALLED패키지 관리자에서 Services Core 패키지 설치
다음 내용에 따라 누락된 종속성 문제를 해결하기 위해 Unity 패키지 관리자에서 Services Core 패키지를 설치합니다.
- Unity 에디터에서 프로젝트를 열고 Window > Package Management > Package Manager로 이동합니다.
- Package Manager 창에서 + 아이콘을 선택하여 드롭다운 메뉴를 열고 **Install package by name...**을 선택하여 패키지 이름을 수동으로 입력합니다.
- Name 필드에 를 입력하고 Install을 선택합니다.
com.unity.services.core
LEVELPLAY_DEPENDENCIES_INSTALLED 스크립팅 기호 제거
LEVELPLAY_DEPENDENCIES_INSTALLEDcom.unity.services.core누락된 종속성 문제를 해결하려면 다음과 같이 레벨플레이 SDK Unity 패키지에서 스크립팅 기호를 제거합니다.
LEVELPLAY_DEPENDENCIES_INSTALLED- Unity 에디터에서 프로젝트를 열고 Edit > Project Settings > Player로 이동합니다.
- Other Settings 창에서 Script Compilation이 나오도록 아래로 스크롤합니다.
- 마이너스 기호(−)를 선택하여 기호를 제거하고 LEVELPLAY_DEPENDENCIES_INSTALLED를 선택합니다.
- Apply를 선택하여 변경 사항을 저장합니다.
에디터 6.0 이상 UPM 패키지 설치 오류
오류
Unity 에디터 6.0 이상에서 Ads Mediation(레벨플레이)용 를 사용하고 있는 경우, Services > Ads Mediation(LevelPlay) > Install 아래에서 Quick Install 버튼을 클릭하면 실수로 UPM 패키지를 설치할 수 있습니다. 이로 인해 컴파일 오류가 발생하고 패키지가 정상적으로 작동하지 않을 수 있습니다.
.unitypackage해결 방법
이를 간단하게 해결할 수 있는 방법은 패키지 관리자에서 UPM 패키지를 제거하는 것입니다.
- Unity 에디터 상단 메뉴에서 Window > Package Management > Package Manager를 선택합니다.
- 설치된 Ads Mediation 패키지를 찾습니다.
- 오른쪽 패널에서 세부 정보를 펼쳐 확인합니다.
- Remove를 클릭하여 UPM 패키지를 제거합니다.
위 단계들을 따라 하면 를 정상적으로 복원하고 문제를 해결할 수 있습니다.
.unitypackageAds Mediation 패키지 제거
Unity 에디터에서 Ads Mediation을 제거하려면 다음 세 가지 작업을 완료합니다.
다음 단계에 따라 Unity 에디터에서 Ads Mediation 패키지를 제거합니다.
- Unity 에디터에서 프로젝트를 열고 Window > Package Management > Package Manager로 이동합니다.
- Package Manager에서 Packages > In Project를 선택합니다.
- Ads Mediation > Remove를 선택합니다.
Ads Mediation 에셋 삭제
Ads Mediation 패키지를 제거할 때 레벨플레이 에셋도 마찬가지로 삭제합니다. 에셋이 설치된 경우 추가 파일 삭제가 필요할 수도 있습니다. 필수 Ads Mediation 에셋을 삭제하는 방법은 다음 지침을 참고하시기 바랍니다.
레벨플레이 에셋
Ads Mediation 패키지를 제거한 후 레벨플레이 에셋을 삭제해야 합니다. 사용하는 레벨플레이 SDK 버전에 따라 프로세스가 약간 달라질 수 있습니다. 다음 단계를 사용하여 레벨플레이 에셋을 제거합니다.
- Unity 에디터에서 프로젝트를 열어서 Assets로 이동합니다.
- 사용하고 있는 레벨플레이 SDK 버전에 따라 Assets에서 다음 중 하나를 선택합니다.
- SDK v7.8.0 포함 이전인 경우: IronSource를 오른쪽 클릭하여 Delete를 선택합니다.
- SDK v8.0.0인 경우: LevelPlay를 오른쪽 클릭하여 Delete를 선택합니다.
Ads Mediation 샘플
Ads Mediation 샘플을 임포트한 경우 Ads Mediation 패키지 제거 시 샘플도 삭제합니다. 다음 단계를 사용하여 Ads Mediation 샘플을 삭제합니다.
- Unity 에디터에서 프로젝트를 열어서 Assets > Samples > Ads Mediation으로 이동합니다.
- Ads Mediation sample을 오른쪽 클릭하여 Delete를 선택합니다.
모바일 종속성 리졸버
설치된 경우 다음 내용에 따라 모바일 종속성 리졸버도 삭제합니다.
- Unity 에디터에서 프로젝트를 열어서 Assets로 이동합니다.
- Mobile Dependency Resolver를 오른쪽 클릭하여 Delete를 선택합니다.
레벨플레이 스크립팅 기호 삭제
Ads Mediation 패키지와 해당 에셋을 삭제한 후 다음 단계를 사용하여 스크립팅 기호를 제거합니다.
LEVELPLAY_DEPENDENCIES_INSTALLED- Unity 에디터의 프로젝트에서 Edit > Project Settings로 이동합니다.
- 설정 목록에서 Player or File > Build Settings > Player Settings로 이동합니다.
- Other Settings > Script Compilation이 나오도록 아래로 스크롤합니다.
- LEVELPLAY_DEPENDENCIES_INSTALLED 스크립팅 기호를 오른쪽 클릭하고 Delete를 선택합니다.