LevelPlay Unity 패키지/SDK 통합
편집기 측 검사는 가정보다 실제 프로젝트를 기준으로 수행하세요. 프로젝트 파일을 읽거나 사용자에게 편집기에서 확인하도록 요청하세요. 이 스킬에서 생성된 C# 스크립트는 사용자가 프로젝트에 저장할 MonoBehaviour 파일이며, 인라인 실행용이 아닙니다.
이 스킬은 LevelPlay 통합 경로만 다룹니다. 다른 중개 SDK는 다루지 않습니다. 사용자가 대안에 대해 명시적으로 묻는 경우 대안이 존재함을 인정하고 해당 벤더의 자체 문서를 안내하세요. 경쟁 제품에 대해 설명, 특성화 또는 주장하지 마세요.
이 스킬에 설명된 단계와 파일만 제공하세요. 일반 지식을 바탕으로 단계를 사전에 추가하거나 파일을 만들거나 권장하지 마세요. 사용자가 이 스킬의 범위를 벗어난 질문을 하는 경우 먼저 스킬과 참조 파일을 확인하여 다루지 않는지 확인하세요. 다루지 않는 경우 일반 지식을 사용하여 응답하되, 추가 단계나 파일을 통합 워크플로우에 포함시키지 마세요.
통합 워크플로우를 순차적으로, 한 번에 한 단계씩 따르세요. 현재 단계에 대한 질문만 하세요. 미래 단계에 대한 정보를 미리 수집하지 마세요. 각 체크포인트에서 사용자의 응답을 기다린 후 진행하세요.
LevelPlay는 Unity의 광고 중개 플랫폼입니다. 게임을 여러 광고 네트워크에 동시에 연결하고, 여러 광고 네트워크와 입찰자를 대상으로 통합 경매를 실행하여 각 노출에 대한 경쟁을 극대화합니다. 이 가이드는 전체 통합 과정을 안내합니다: SDK 설치, Android 및 iOS 종속성 구성, 프로젝트에서 LevelPlay 초기화, 리워드, 전면, 배너 광고 구현. 이미 일부가 설정된 경우 관련 단계로 건너뛸 수 있습니다.
이 SKILL.md는 워크플로우의 기본 축입니다. 결정, 체크포인트, 정확한 질문을 포함합니다. 더 긴 코드, 전체 API 세부 사항, 에지 케이스는 references/에 있으며 관련 단계에서 연결됩니다. 해당 단계에 도달하면 연결된 참조를 읽으세요. 일반 지식으로 대답하지 마세요.
통합 워크플로우
0. 새 통합 또는 마이그레이션?
질문: "새로운 LevelPlay 통합을 시작하시나요, 기존 통합을 마이그레이션(이전 SDK 버전 또는 Unity Ads에서)하시나요, 아니면 기존 설정을 문제 해결하시나요?"
- 새 통합: 1단계로 진행합니다.
- 마이그레이션(SDK 업그레이드, IronSource.Agent API 교체, Unity Ads에서 마이그레이션, 또는 Maven Central Android 빌드 오류 수정):
references/migration-sdk-9.md를 읽으세요. 다섯 가지 시나리오 중 어떤 것이 적용되는지 질문하세요: A = SDK 업그레이드, B = init API 마이그레이션, C = 광고 단위 API 마이그레이션, D = Maven Central 빌드 오류, E = Unity Ads 마이그레이션. 그런 다음 해당 시나리오를 따르세요. 모든 코드 변경을 적용한 후, 마이그레이션 완료 체크리스트(참조의 C5 섹션)를 수행하세요. 레거시 코드에 해당하는 줄이 없어 줄 단위 변환에서 놓칠 수 있는 요구 사항을 잡습니다. 그런 다음 사용자에게 Unity 콘솔에서 컴파일 오류를 확인하도록 요청하고, 결과를 제시하기 전에 나타나는 오류를 수정하세요. 콘솔을 볼 수 없는 경우 차단하거나 계속 재시도하지 마세요. 변경한 파일을 나열하고, 찾아야 할 사항을 말한 후 계속 진행하세요. - 기존 설정 문제 해결 또는 추가(ATT, GDPR, ILRD, 테스트 스위트, 새 통합의 빌드 오류, 또는 이미 작동 중인 통합에 기능 추가): 사용자가 필요한 것을 식별하고 "상세 참조를 읽어야 할 때"에서 관련 단계 또는 참조로 직접 이동하세요.
1. Unity 환경 확인
Assets/ 및 ProjectSettings/ 디렉토리가 존재하는지 확인하여 사용자가 Unity 프로젝트에서 작업 중인지 확인하세요. Unity 프로젝트가 아닌 경우 사용자에게 Unity 프로젝트 디렉토리로 이동하도록 안내하세요. 해당 디렉토리가 발견되지 않았지만 사용자가 올바른 위치에 있다고 생각하는 경우 질문: "프로젝트 루트에 있지 않은 것 같습니다. Unity 프로젝트의 최상위 폴더로 이동하여 Assets/ 및 ProjectSettings/가 보이는지 확인해 주시겠습니까?"
2. 비즈니스 목표 이해
광고 단위를 구현하기 전에 사용자의 최적화 우선순위를 결정하여 적절한 광고 단위 전략을 권장하세요. 질문:
"주요 최적화 목표는 무엇인가요?"
- 수익 중심: 광고 수익과 노출 기회 극대화
- UX 중심: 게임플레이 흐름과 사용자 만족도 우선
- 균형: 수익과 UX 모두 최적화
- 아직 잘 모르겠음: 균형을 기본값으로 사용하고 진행하세요. 8단계에서 사용자가 확신하지 못했기 때문에 균형을 사용 중이라고 간략히 언급하고, 이제 형식 옵션을 보았으므로 다른 선호도를 표시하도록 초대하세요.
이 답변을 기록하여 8단계에서 나중에 전략 권장에 사용하세요.
3. UPM을 통해 LevelPlay SDK 설치
SDK가 이미 설치된 것으로 보이는 경우: 이를 신뢰하지 말고 사용자에게 패키지 관리자 창을 읽도록 요청하지 마세요. Packages/packages-lock.json을 읽고 com.unity.services.levelplay를 찾으세요. 있는 경우 해결된 버전을 말하고 4단계로 진행하세요. 없는 경우 설치되지 않은 것입니다. 대화에서 가정한 내용과 관계없이 아래 설치를 계속하세요.
Unity 패키지 관리자를 사용하여 LevelPlay Unity 패키지 설치 안내:
- Unity 열기 → Window > Package Manager
- Unity Registry 드롭다운 또는 Services 탭 선택
- 패키지 관리자 검색창에 Ads Mediation 입력
- 패키지 이름이 정확히 일치하는지 확인하세요. 올바른 패키지 제목은 Ads Mediation입니다. 다음 패키지를 설치하지 마세요:
- Ads IAP Mediation Adaptor (별도의 인앱 구매 패키지, LevelPlay SDK 아님)
- Advertisement Legacy (더 이상 사용되지 않는 패키지, 현재 LevelPlay 통합과 호환되지 않음)
- Install 버튼 클릭
- 패키지 다운로드 및 가져오기 대기
패키지를 설치할 때 Mobile Dependency Resolver를 설치하라는 프롬프트가 표시될 수 있습니다. 나타나면 Import를 클릭하세요. 이에 대한 자세한 내용은 다음 단계에서 다룹니다.
그런 다음 프로젝트를 읽어 해결되었는지 확인하세요. 사용자에게 묻지 마세요. 패키지 ID는 com.unity.services.levelplay입니다(패키지 관리자 표시 이름은 Ads Mediation이며, ID는 프로젝트 파일에 기록된 것입니다). 두 파일을 모두 확인하세요:
- **
Packages/manifest.json**은 프로젝트가 요청한 것을 나열합니다.com.unity.services.levelplay가dependencies아래에 나타나야 합니다. - **
Packages/packages-lock.json**은 Unity가 실제로 해결한 것을 기록합니다. 동일한 ID가 구체적인 버전과 함께 여기에 나타나야 합니다. 이 파일이 "설치되었는지"에 대한 답변을 제공하며 신뢰할 수 있는 파일입니다.
둘 다 프로젝트의 일반 JSON이므로 이 검사에는 편집기, CLI, 사용자의 도움이 필요하지 않습니다. 파일을 읽으세요.
이는 형식적인 절차가 아니라 엄격한 게이트입니다.
com.unity.services.levelplay가packages-lock.json에 나타날 때까지 LevelPlay 코드를 한 줄도 작성, 생성, 붙여넣지 마세요. 앞서서 건너뛰면 올바르게 보이지만 컴파일되지 않고 모든 LevelPlay 참조에서CS0246오류가 발생하는 코드가 생성됩니다.