애드유닛은 앱에서 광고를 표시할 지면과 광고 포맷을 설정한 단위입니다. DARO 2.0 SDK에는 업데이트된 대시보드의 Ad Unit Key를 복사해 입력하세요. 앱 설정에 쓰는 Integration Key와는 다른 값입니다. API 인자
adUnitId, unitId, key와 예제의 YOUR_AD_UNIT_ID는 이름을 그대로 사용하지만, 입력할 값은 해당 애드유닛의 Ad Unit Key입니다. 기존 애드유닛 ID를 사용한 연동도 계속 지원합니다. 리포트·콜백의 식별자를 새 연동용 키와 혼동하지 마세요.시작하기 전에
2.0.0 미만의 레거시 SDK를 사용 중이라면 마이그레이션 가이드를 먼저 확인하세요.요구사항
- Flutter 3.24.0 이상, Dart 3.5.0 이상
- Android minSdkVersion 23, Kotlin 2.2 이상
- iOS 13.0 이상. 사용하는 Flutter 버전의 최소 지원 버전이 더 높다면 그 요구사항을 따르세요.
패키지 설치하기
pubspec.yaml에 패키지 버전을 지정합니다.
네이티브 설정 자동 구성
daro_flutter의 configure·doctor 명령으로 네이티브 설정을 적용하고 확인할 수 있습니다.
패키지를 설치한 뒤 앱 루트의 pubspec.yaml 옆에 daro.yaml을 작성합니다. 플랫폼별 앱의 Integration Key를 사용하고, 사용하지 않는 플랫폼은 생략하세요.
integration_key를 지정합니다. Android SafeDK 오류가 발생하면 아래 SafeDK 빌드 오류 해결 절차를 따르세요.
앱 루트에서 다음 명령을 실행합니다.
configure는 Android·iOS 필수 설정을 적용합니다. SDK 업데이트나 Integration Key 변경 후 다시 실행하세요.doctor는 설정을 점검합니다. 문제가 발견되면 출력된 안내에 따라 수정하세요.- 자동 설정은 기본 Flutter 프로젝트를 대상으로 합니다. 프로젝트 구조를 변경해 자동 설정이 지원되지 않으면 아래 수동 절차를 따르세요.
- 기존 수동 DARO 설정과 중복되지 않도록 정리하고, 자동으로 적용된 설정은 다시 추가하지 마세요.
- iOS 추적 권한 설명 등 앱에 필요한 권한 설정은 별도로 완료한 뒤 SDK 초기화하기로 진행하세요.
- 앱을 빌드하고 실행하여 SDK 초기화와 광고 동작을 확인하세요.
SafeDK 빌드 오류 해결
Android Release 빌드에서safedk* 또는 process…Manifest 태스크의 Configuration Cache 오류가 발생하면 daro_flutter 2.0.1 이상으로 업데이트하고 daro.yaml의 Android 항목에 다음 옵션을 추가하세요.
configure가 Android 프로젝트에 DARO 플러그인 2.0.3을 적용하고 android/gradle.properties에 daro.safedkConfigurationCacheWorkaround=true를 반영합니다. Android 네이티브 SDK는 2.0.2를 사용합니다.
옵션에 false를 지정하면 우회를 끕니다. 옵션을 생략하면 기존 Gradle 값을 유지하므로, 이미 켠 우회를 끄려면 false를 지정하고 configure를 다시 실행하세요. 처음부터 옵션을 지정하지 않았고 기존 Gradle 값도 없다면 우회는 비활성 상태입니다. true와 false는 따옴표 없이 작성합니다.
수동으로 Android 프로젝트를 설정한 앱은 Android 시작하기의 SafeDK 오류 해결 안내를 참고해 플러그인 2.0.3과 Gradle 속성을 직접 적용하세요.
Android 프로젝트 설정하기
Android 시작하기에 따라 저장소, DARO Gradle 플러그인과 Integration Key를 설정하세요.daro_flutter가 제공하는 네이티브 SDK 의존성을 사용합니다.
- 프로젝트 설정은
android/디렉토리에 적용합니다. - 앱 모듈에
so.daro플러그인을 적용합니다. android/app/src/main/AndroidManifest.xml의<application>에 앱의 Integration Key를 추가합니다.
iOS 프로젝트 설정하기
iOS 시작하기에 따라 빌드 도구를 설치하고ios/Runner/Info.plist에 Integration Key, SKAdNetworkItems, 추적 권한 안내 문구를 설정하세요.
daro_flutter가 DaroAds 의존성을 제공하므로 동일한 SDK를 Podfile에 중복 추가하지 마세요. 기존 post_install 블록에 다음 훅을 추가하고 Flutter의 빌드 설정을 유지합니다.
flutter pub get 실행 후 ios/ 디렉토리에서 다음 명령을 실행합니다.
SDK 초기화하기
앱의 동의 수집 흐름을 완료한 뒤 아래 함수에 사용자 선택과 적용 대상 판단을 전달하세요. GDPR은DaroGdprStatus, CCPA는 DaroCcpaStatus, COPPA는 DaroCoppaStatus를 사용하며, 옵트인을 기본값으로 가정하지 않습니다. COPPA를 포함한 설정이 완료된 다음 초기화하세요. 상태 변경 시 해당 동의 문자열도 함께 전달합니다. MyApp은 앱의 루트 위젯입니다. 앱의 진입점에서 WidgetsFlutterBinding.ensureInitialized()를 호출한 뒤 동의 수집에 필요한 플러그인을 사용하고, 결과가 준비되면 startAppWithPrivacy를 호출하세요.
광고 노출 확인하기
app-ads.txt 설정을 완료하고 실제 기기에서 사용하는 광고 포맷의 로드, 노출, 닫힘 및 콜백을 확인하세요.- 배너 / MREC 광고
- 네이티브 광고: Android와 iOS 각각에서 팩토리를 등록해야 합니다.
- 인터스티셜 광고
- 리워드 비디오 광고
- 라이트 팝업 광고
- 앱 오프닝 광고

