# 20260421 Yandex Mobile Ads SDK 설정 ## 작업 체크리스트 - [x] Yandex Mobile Ads SDK 공식 요구사항과 현재 프로젝트 삽입 지점을 최종 확정한다. QA: 공식 quick start와 `settings.gradle`, `build.gradle`, `app/build.gradle`, `app/src/main/AndroidManifest.xml`, `app/src/main/java/kr/co/vividnext/sodalive/app/SodaLiveApp.kt` 근거로 저장소별 반영 위치를 설명할 수 있어야 한다. - [x] `app` 모듈에 Yandex Mobile Ads SDK 의존성을 추가한다. QA: `app/build.gradle`의 `dependencies`에 SDK가 추가되고, 현재 저장소의 repository 설정과 충돌하지 않아야 한다. - [x] 앱 초기화와 매니페스트 설정을 현재 앱 구조에 맞게 반영한다. QA: 공식 quick start 기준 자동 초기화가 기본값이므로 `SodaLiveApp`/매니페스트 변경 없이도 설정이 성립하며, 불필요한 앱 시작 동작 변경을 만들지 않아야 한다. - [x] App ID가 필요한 경우 사용자가 바로 수정할 수 있는 위치로 노출한다. QA: 공식 quick start 기준 Yandex 전용 App ID 입력은 필요하지 않음을 명시하고, 추후 광고 포맷 구현 시 ad unit ID를 넣을 위치를 별도 안내할 수 있어야 한다. - [x] 빌드 및 수동 검증 결과를 문서 하단에 기록한다. QA: 최소 `./gradlew :app:assembleDebug` 실행 결과와, 가능한 범위의 통합 확인 방법 또는 실제 로그 확인 절차가 누적 기록되어야 한다. ## 범위 메모 - 요청 해석은 "현재 Android 프로젝트에 Yandex Mobile Ads SDK 기본 설정을 추가하고, App ID가 필요하면 즉시 수정 가능한 위치를 마련해 안내"로 한정한다. - 광고 포맷 구현(배너/전면/보상형 등)은 이번 범위에 포함하지 않는다. - 서명/배포/Firebase/기존 광고 외 로직은 요청 범위 밖이므로 건드리지 않는다. ## 검증 계획 - `./gradlew :app:assembleDebug`로 Gradle 설정과 Android 리소스/매니페스트 병합이 정상인지 확인한다. - 필요 시 `./gradlew :app:lintDebug` 또는 관련 진단으로 신규 오류 여부를 확인한다. - 공식 문서의 "Yandex Ads" Logcat 확인 절차를 따라 수동 초기화/통합 확인 방법을 정리한다. ## 검증 기록 - 2026-04-21 - 무엇: Yandex Mobile Ads SDK 설정 작업을 시작하기 전에 작업 범위, 반영 지점, 검증 계획을 문서화했다. - 왜: 저장소 규칙에 따라 `docs` 계획 문서를 먼저 만들고, 그 문서를 기준으로 구현/검증 이력을 누적해야 하기 때문이다. - 어떻게: - 생성 파일: `docs/20260421_YandexMobileAdsSDK설정.md` - 근거 파일: `settings.gradle`, `build.gradle`, `app/build.gradle`, `app/src/main/AndroidManifest.xml`, 공식 문서 `https://ads.yandex.com/helpcenter/ko/dev/android/quick-start` - 결과: 구현 전 체크리스트와 검증 계획을 먼저 고정했다. - 2026-04-21 - 무엇: Yandex Mobile Ads SDK quick-start 범위의 실제 코드 반영 지점을 확정하고 `app` 모듈에 SDK 의존성을 추가했다. - 왜: 공식 문서 기준으로 현재 프로젝트는 repository 요구사항과 Android 버전 요구사항을 이미 만족하고 있었고, 최소 설정 변경은 `app/build.gradle` 의존성 추가만으로 충분했기 때문이다. - 어떻게: - 수정 파일: `app/build.gradle` - 유지 파일: `settings.gradle`, `app/src/main/AndroidManifest.xml`, `app/src/main/java/kr/co/vividnext/sodalive/app/SodaLiveApp.kt` - 적용 내용: `implementation 'com.yandex.android:mobileads:7.18.5'` 추가 - App ID 판단: 공식 quick start에는 Yandex 전용 App ID 설정 단계가 없어 별도 키를 추가하지 않았다. 추후 광고 포맷 구현 시 ad unit ID가 필요하다. - 2026-04-21 - 무엇: Yandex Mobile Ads SDK 의존성 추가 후 debug 빌드와 단위 테스트를 실행해 설정이 현재 프로젝트와 충돌하지 않는지 검증했다. - 왜: dependency-only 변경이라도 실제 Gradle 해석, 의존성 해상도, 매니페스트 병합, 컴파일, 테스트 회귀를 통과해야 설정 완료라고 볼 수 있기 때문이다. - 어떻게: - 실행 명령: `./gradlew :app:assembleDebug :app:testDebugUnitTest` - 결과: `BUILD SUCCESSFUL` - 비고: Agora/Appsflyer 및 기존 코드 관련 경고는 출력됐지만, 이번 변경으로 인한 신규 실패는 없었다. - 수동 확인 방법: 앱 실행 후 Logcat에서 `Yandex Ads`로 검색하면 `integrated successfully` 또는 `initialized successfully` 로그로 통합 상태를 확인할 수 있다. - 진단 도구: `.gradle` 파일은 현재 저장소 LSP 대상이 아니어서 `lsp_diagnostics`는 `No LSP server configured for extension: .gradle`로 확인했다.