> ## Documentation Index
> Fetch the complete documentation index at: https://guide.daro.so/llms.txt
> Use this file to discover all available pages before exploring further.

# 마이그레이션 가이드

> 2.0.0 미만의 레거시 Flutter SDK에서 DARO 2.0 SDK로 전환하는 순서를 안내합니다.

**DARO 2.0 SDK로 업데이트**

* 대시보드와 앱 설정을 먼저 전환한 뒤 SDK 의존성과 코드를 변경하세요.
* 전체 전환 순서는 [DARO 2.0 SDK 마이그레이션 가이드](/ko/new-daro-sdk/migration-guide), 지원 기간은 [2.0.0 미만의 레거시 SDK 지원 안내](/ko/new-daro-sdk/legacy-support)에서 확인할 수 있습니다.

<Warning>
  기존 애드유닛 ID는 DARO 2.0 SDK에서도 계속 사용할 수 있으며 다시 발급할 필요가 없습니다. 새로 연동하거나 값을 복사할 때는 업데이트된 대시보드의 Ad Unit Key를 사용하세요. 2.0.0 미만의 레거시 SDK를 사용하는 앱 버전에는 기존 애드유닛 ID를 유지하고, 새로 생성한 애드유닛의 키를 전달하지 마세요.
</Warning>

## 1. 대시보드 업데이트

* DARO 대시보드에서 전환할 앱을 확인하고 업데이트를 완료하세요.
* Android와 iOS 앱 각각의 **Integration Key**와 Ad Unit Key를 확인하세요.

## 2. 기존 키 파일과 설정 제거

* 프로젝트에서 사용하던 `daro-services.json`, `daro-service.json`, `daro-key.txt`, `android-daro-key.txt`, `ios-daro-key.txt`를 제거하세요.
* 해당 파일을 참조하는 기존 연동 설정도 제거하세요.
* iOS는 Xcode에 등록된 파일 참조와 빌드 리소스도 확인하세요.

## 3. DARO 연동 도구 설정

* [Android 마이그레이션 가이드](/ko/sdk-integration-v2/android/migration-guide)와 [iOS 마이그레이션 가이드](/ko/sdk-integration-v2/ios_new/migration-guide)에 따라 빌드 도구를 설정하세요.
* Android 앱 모듈에 `so.daro` 플러그인을 적용하세요.
* iOS는 [Flutter 시작하기](/ko/sdk-integration-v2/flutter/get-started)의 `post_install` 훅을 기존 Flutter 설정에 합치세요.

## 4. Integration Key 및 앱 설정

* Android와 iOS에는 대시보드에서 확인한 해당 플랫폼 앱의 Integration Key를 각각 사용하세요.
* Android는 `AndroidManifest.xml`의 `DARO_INTEGRATION_KEY`에 키를 입력하세요.
* iOS는 소스 `Info.plist`의 `DaroIntegrationKey`에 키를 입력하세요.
* 구체적인 설정 예제는 [Flutter 시작하기](/ko/sdk-integration-v2/flutter/get-started)를 참고하세요.
* iOS 훅 설정과 아래 SDK 업데이트를 마친 뒤 `pod install`을 실행하세요.

## 5. app-ads.txt 업데이트

* [app-ads.txt 설정 가이드](/ko/app-ads-txt-settings)에 따라 대시보드에서 제공하는 최신 내용을 게시하세요.
* 대시보드에 등록한 웹사이트에서 파일에 접근할 수 있는지 확인하세요.

## 6. SDK 의존성과 코드 변경

* [Flutter 시작하기](/ko/sdk-integration-v2/flutter/get-started)에 안내된 `daro_flutter` 버전으로 `pubspec.yaml`을 업데이트하세요.
* iOS에 2.0.0 미만의 레거시 SDK를 직접 지정한 Podfile 항목이 있다면 제거하고 `daro_flutter`가 제공하는 의존성을 사용하세요.
* 다음 명령으로 패키지를 설치하세요.

```bash theme={null}
flutter pub get
```

### 초기화

* `DaroFlutter.initialize()` 완료 이후에만 광고를 로드하고 위젯을 표시하세요.
* 초기화 예제는 [Flutter 시작하기](/ko/sdk-integration-v2/flutter/get-started)를 참고하세요.

### 광고 포맷별 확인

* `DaroInterstitialAd`, `DaroRewardedAd`, `DaroAppOpenAd`, `DaroLightPopupAd` 생성자의 `placement` 인자를 제거하세요.
* 아래 포맷 가이드에서 로드·표시·종료 처리를 함께 확인하세요.

| 광고 포맷 | 확인할 내용 |
| - | - |
| [배너 / MREC](/ko/sdk-integration-v2/flutter/ad-formats/banner) | 초기화 완료 후 광고 위젯을 표시하세요. |
| [네이티브](/ko/sdk-integration-v2/flutter/ad-formats/native) | 팩토리 구현과 등록을 업데이트하고, Android의 `createAdBinder`와 iOS의 `createNativeAdView`에서 AdChoices 위치 인자를 받아 전달하세요. |
| [인터스티셜 광고](/ko/sdk-integration-v2/flutter/ad-formats/interstitial) | `DaroInterstitialAd`의 생성자와 로드·표시·종료 처리를 확인하세요. |
| [리워드 비디오 광고](/ko/sdk-integration-v2/flutter/ad-formats/rewarded) | `DaroRewardedAd`의 생성자와 보상 콜백을 확인하세요. |
| [앱 오프닝](/ko/sdk-integration-v2/flutter/ad-formats/appopen) | `DaroAppOpenAd`의 생성자와 로드·표시·종료 처리를 확인하세요. |
| [라이트 팝업](/ko/sdk-integration-v2/flutter/ad-formats/lightpopup) | `DaroLightPopupAd`의 생성자와 로드·표시·종료 처리를 확인하세요. |

## 배포 전 확인

* Android와 iOS 앱을 각각 다시 빌드하세요.
* 실제 기기에서 초기화와 사용 중인 모든 광고 포맷의 로드·표시·종료 및 콜백을 확인하세요.
* 리워드 비디오 광고를 사용한다면 보상 콜백도 확인하세요.
* 2.0.0 미만의 레거시 SDK를 사용하는 배포 버전에는 기존 Ad Unit ID를 유지하세요.

## 개인정보 보호 API 전환

`hasGdprConsent`, `doNotSell`, `isTaggedForChildDirectedTreatment`의 불리언 설정을 `setGdpr(DaroGdprStatus)`, `setCcpa(DaroCcpaStatus)`, `setCoppa(DaroCoppaStatus)`로 전환하세요. 동의 상태·적용 대상 여부를 앱에서 판단하고 각 호출을 `await`한 뒤 초기화합니다. [초기화 예제](/ko/sdk-integration-v2/flutter/get-started#sdk-초기화하기)를 참고하세요.
