기술 자료

지원

레벨플레이 연동 관련 문제 해결

일반적인 레벨플레이 연동 문제를 해결합니다.
읽는 시간 2분최근 업데이트: 23일 전

Unity 에디터와 레벨플레이를 연동할 때 몇 가지 문제가 생길 수도 있습니다. 이 가이드를 참고로 해결할 수 있는 문제 유형은 다음과 같습니다.

LevelPlayBannerPosition으로 배너 광고 위치 지정

오류

열거형이나 정수로
LevelPlayBannerPosition
을 사용할 때 컴파일 오류가 발생하는 경우 그 이유는 버전 8.8.0에서
LevelPlayBannerPosition
이 열거형에서 클래스로 업데이트되었기 때문입니다. 이 변경 사항은 코드에서 배너 위치를 참조해야 하는 방식에 영향을 줍니다.

해결 방법

레벨플레이 Unity 패키지 버전 8.8.0 및 8.8.1에서
LevelPlayBannerPosition
은 열거형에서 클래스로 변경되었습니다. 업데이트된 API는 9개의 사전 정의된 배너 위치를 지원하며,
LevelPlayBannerPosition
오브젝트를 생성하여 정확한 좌표(x, y)를 지정할 수 있습니다.
Unity 에디터 콘솔에서
LevelPlayBannerPosition
컴파일 오류가 표시되면 다음 예시를 참조하여 발생 가능한 원인과 해결 방법을 알아보십시오.

예제 1: 파라미터 기본값 오류

기본 열거형 값이 있는 파라미터로
LevelPlayBannerPosition
을 전달할 때 컴파일 오류가 발생할 수 있습니다. 이 문제를 해결하려면 대신 null을 사용합니다.
// Use null for the default value, or pass a value explicitlypublic LevelPlayBannerAd(string adUnitId, LevelPlayBannerPosition position = null)

예제 2: 잘못된 전환 또는 열거형 비교

코드가 switch 문을 사용하거나
LevelPlayBannerPosition
값을 열거형이나 정수로 비교하는 경우 컴파일 오류가 발생할 수 있습니다. 예제는 아래와 같습니다.
switch (position) { case LevelPlayBannerPosition.BottomCenter: }
이제
LevelPlayBannerPosition
이 클래스이므로 이 로직을 직접 오브젝트 비교로 대체합니다.
if (position == LevelPlayBannerPosition.BottomCenter) { /* Handle case */ }
레이아웃 로직, 로깅, 분석 목적으로 필요한 경우
Description
프로퍼티를 사용하여 배너 위치를 비교할 수도 있습니다. 예제는 아래와 같습니다.
if (position.Description == "BottomCenter") { Debug.Log("Banner is at bottom-center.");}

중복된 클래스 오류 메시지

프로젝트를 만들거나 테스트할 때 중복된 클래스 오류 메시지(CSO433)가 나타납니다. 이 오류 메시지로 중복된 클래스와 해당 클래스가 나타나는 어셈블리를 식별할 수 있습니다. 다음은 중복된 클래스 오류 메시지 예제입니다.
  • The type
    IronSourceMediationSettings
    exists in both
    Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    and
    '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 패키지를 설치하거나 업데이트합니다. 플러그인을 제거하려면 다음 단계를 완료합니다.
  1. Unity 에디터에서 프로젝트를 열어서 Assets로 이동합니다.
  2. Assets에서 취해야 하는 조치는 다음과 같이 사용하는 아이언소스 SDK 버전에 따라 다릅니다.
  • 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 패키지를 제거합니다.
  1. Unity 에디터에서 프로젝트를 열고 Window > Package Manager로 이동합니다.
  2. Package Manager에서 Packages > In Project를 선택합니다.
  3. Ads Mediation > Remove를 선택합니다.
  4. Unity 에디터에서 프로젝트를 열어서 Assets로 이동합니다.
  5. Assets에서 취해야 하는 조치는 다음과 같이 사용하는 아이언소스 SDK 버전에 따라 다릅니다.
  • SDK v7.8.0 포함 이전인 경우: IronSource를 오른쪽 클릭하여 Delete를 선택합니다.
  • SDK v8.0.0인 경우: LevelPlay를 오른쪽 클릭하여 Delete를 선택합니다.
  1. 설치된 경우 Mobile Dependency Resolver를 오른쪽 클릭하여 Delete를 선택합니다.

중요한 Ads Mediation 패키지 업데이트

Ads Mediation 패키지가 초기 버전에서 가장 최신 버전으로 업데이트되었습니다.

해결 방법

Ads Mediation 패키지에 중요한 업데이트가 필요하면 원활한 업그레이드 경로를 확보하기 위해 추가 단계가 필요할 수 있습니다. 예를 들어 v1.0.0에서 v8.0.0으로 업데이트를 진행하면 업데이트 시 추가 단계를 거쳐야 합니다. 자세히 알아보려면 Unity 패키지 관리자의 Ads Mediation 패키지 설명을 참고하십시오.

아이언소스 SDK에서 스크립팅 기호 제거 불가

아이언소스 SDK에서
LEVELPLAY_DEPENDENCIES_INSTALLED
스크립팅 기호를 제거했지만 SDK에 자동으로 다시 나타납니다.

원인

SDK에서
LEVELPLAY_DEPENDENCIES_INSTALLED
스크립팅 기호를 제거하면 SDK는 항상 기호를 자동으로 다시 추가합니다. 버전 8.0.0인 아이언소스 SDK Unity 패키지부터 이 스크립팅 기호가 필요합니다.

해결 방법

스크립팅 기호가 아이언소스 SDK 버전 8.0.0부터 필요하기 때문에 이 문제의 경우 알려진 해결 방법이 없습니다. 이 기호는 삭제하면 항상 자동으로 다시 추가됩니다.

종속성 클래스 누락 오류 메시지

Ads Mediation 패키지를 설치한 후 종속성 클래스 오류 메시지가 나타납니다. 다음은 종속성 클래스 누락 경고 메시지 예제입니다.
  • The type or namespace name
    Core
    does not exist in the namespace
    Unity.Services
    .
  • The type or namespace name
    Newtonsoft
    could not be found.
  • The type or namespace name
    EditorGameServiceFlagEnabler
    could not be found.

원인

아이언소스 SDK Unity 패키지에서
com.unity.services.core
종속성이 제거되거나 설치가 완료되지 않으면 발생할 수 있습니다. 이 종속성이 누락되면 콘솔에는 어떤 종속성 클래스를 찾을 수 없는지 식별하는 오류 메시지가 표시됩니다.

해결 방법

누락된
com.unity.services.core
종속성 문제를 해결하는 방법은 두 가지입니다. 이름별로 Services Core 패키지를 수동으로 설치하거나
LEVELPLAY_DEPENDENCIES_INSTALLED
스크립팅 기호를 제거하는 것입니다.

패키지 관리자에서 Services Core 패키지 설치

다음 내용에 따라 누락된 종속성 문제를 해결하기 위해 Unity 패키지 관리자에서 Services Core 패키지를 설치합니다.
  1. Unity 에디터에서 프로젝트를 열고 Window > Package Manager로 이동합니다.
  2. Package Manager 창에서 + 아이콘을 선택하여 드롭다운 메뉴를 열고 Install package by name... 을 선택하여 패키지 이름을 수동으로 입력합니다.
  3. Name 필드에
    com.unity.services.core
    를 입력하고 Install을 선택합니다.

LEVELPLAY_DEPENDENCIES_INSTALLED 스크립팅 기호 제거

LEVELPLAY_DEPENDENCIES_INSTALLED
스크립팅 기호를 사용하여 Services Core 패키지를 복원할 수도 있습니다. 제거가 완료되면 스크립팅 기호가 자동으로 다시 추가됩니다. 재설치 프로세스를 진행하면
com.unity.services.core
패키지 역시 자동으로 다시 설치됩니다. 에디터에 Services Core 패키지가 표시되지 않으면 이 방법을 사용합니다.
누락된 종속성 문제를 해결하기 위해 다음과 같이 아이언소스 SDK Unity 패키지에서
LEVELPLAY_DEPENDENCIES_INSTALLED
스크립트 기호를 삭제합니다.
  1. Unity 에디터에서 프로젝트를 열고 Edit > Project Settings > Player로 이동합니다.
  2. Other Settings 창에서 Script Compilation이 나오도록 아래로 스크롤합니다.
  3. 마이너스 기호()를 선택하여 기호를 제거하고 LEVELPLAY_DEPENDENCIES_INSTALLED를 선택합니다.
  4. Apply를 선택하여 변경 사항을 저장합니다.