Files
sodalive-ios/docs/plan-task/20260427_Yandex광고SKAdNetwork중복제거및검증.md

3.8 KiB

20260427 Yandex 광고 SKAdNetwork 중복 제거 및 검증

  • Yandex iOS quick-start 공식 문서 확인
  • 저장소 내 Yandex SDK 초기화 위치 확인
  • SodaLive/Resources/Info.plistSodaLive/Resources/Debug/SodaLive-dev-Info.plistSKAdNetworkItems 중복 현황 확인
  • 두 plist의 SKAdNetworkItems를 중복 없이 정리
  • 정리 후 두 plist의 SKAdNetworkItems가 동일한 고유 식별자 집합을 가지는지 확인
  • Yandex 공식 요구사항과 현재 SDK 추가 상태를 다시 대조
  • plist 파싱/유효성 검증 수행

작업 기준

  • 공식 문서: https://ads.yandex.com/helpcenter/ko/dev/ios/quick-start
  • 확인된 SDK 초기화 위치: SodaLive/Sources/App/AppDelegate.swift
  • 확인된 의존성 선언: Podfile, Podfile.lock
  • 수정 대상:
    • SodaLive/Resources/Info.plist
    • SodaLive/Resources/Debug/SodaLive-dev-Info.plist

현재 확인 사항

  • AppDelegate.application(_:didFinishLaunchingWithOptions:)에서 YandexAds.initializeSDK(completionHandler: nil) 호출 중
  • PodfileSodaLive, SodaLive-dev 타깃 모두 pod 'YandexMobileAds', '8.0.0' 선언됨
  • Podfile.lock에도 YandexMobileAds (8.0.0)가 존재함
  • 두 plist 모두 SKAdNetworkItems 총 271개, 고유 222개, 중복 49개 상태임
  • 두 plist는 각각 SodaLive, SodaLive-dev 활성 plist로 연결되어 있어 동일 기준으로 함께 정리해야 함

검증 기록

2026-04-27 1차 조사

  • 무엇: Yandex SDK 공식 요구사항과 저장소 내 연동 상태를 비교하기 위한 사전 조사
  • 왜: plist 중복 제거가 필수 식별자 누락 없이 이뤄져야 하기 때문
  • 어떻게:
    • 공식 문서 확인
    • AppDelegate.swift, Podfile, Podfile.lock 확인
    • 두 plist의 SKAdNetworkItems 중복 개수 집계
  • 실행 명령:
    • rg -n "Yandex|YandexMobileAds|YMAMobileAds|MobileAds" "SodaLive"
    • rg -n "YandexMobileAds|YandexAds" "Podfile" "Podfile.lock" "SodaLive.xcodeproj/project.pbxproj"
    • Python plistlib 스크립트로 두 plist의 SKAdNetworkItems total/unique/duplicates 집계
  • 결과:
    • 코드/의존성 기준 SDK는 이미 추가되어 있음
    • 두 plist에 동일한 중복이 존재함

2026-04-27 2차 정리 및 검증

  • 무엇: 두 plist의 SKAdNetworkItems를 Yandex 공식 XML 기준으로 정리하고 SDK 추가 상태를 재검증
  • 왜: 단순 중복 제거만으로는 공식 목록과 불일치가 남아 있어, 공식 quick-start 기준과 실제 plist를 일치시켜야 했기 때문
  • 어떻게:
    • https://yastatic.net/pcode-static/skadnetwork/skadids.xml에서 공식 식별자 목록을 읽음
    • 두 plist의 SKAdNetworkItems를 공식 228개 목록으로 재구성함
    • plutil -lint와 Python plistlib 비교 스크립트로 중복/누락/초과 여부를 확인함
    • xcodebuildSodaLive, SodaLive-dev Debug 빌드를 수행함
  • 실행 명령:
    • Python plistlib + 공식 XML 파싱 스크립트로 SKAdNetworkItems 재구성
    • plutil -lint "SodaLive/Resources/Info.plist"
    • plutil -lint "SodaLive/Resources/Debug/SodaLive-dev-Info.plist"
    • Python plistlib 스크립트로 공식 목록 일치 여부 확인
    • xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build
    • xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build
  • 결과:
    • 두 plist 모두 total=228, unique=228, duplicates=0, missing=0, extra=0
    • 두 plist 모두 Yandex 공식 XML 목록과 정확히 일치함
    • AppDelegate.swiftYandexAds.initializeSDK(completionHandler: nil) 유지됨
    • Podfile, Podfile.lockYandexMobileAds 8.0.0 선언/설치 상태 확인됨
    • SodaLive, SodaLive-dev Debug 빌드 성공