미디에이션과 Chartboost 통합

이 가이드에서는 Google 모바일 광고 SDK를 사용하여 AdMob 미디에이션, 폭포식 구조 통합을 다루는 Chartboost의 광고를 로드하고 표시하는 방법을 보여줍니다. 광고 단위의 미디에이션 구성에 Chartboost를 추가하는 방법과 Chartboost SDK 및 어댑터를 앱에 통합하는 방법을 다룹니다. iOS

지원되는 통합 및 광고 형식

Chartboost의 미디에이션 어댑터에는 다음과 같은 기능이 있습니다.

통합
입찰
폭포
형식
배너
전면 광고
리워드 제공됨
네이티브

요구사항

  • iOS 배포 타겟 12.0 이상

1단계: Chartboost UI에서 구성 설정

Chartboost 계정에 가입하고 계정이 인증되면 로그인합니다. 그런 다음 앱 관리 탭으로 이동합니다.

Chartboost 앱 대시보드

새 앱 추가 버튼을 클릭하여 앱을 만듭니다.

앱 관리

나머지 양식을 작성하고 앱 추가 버튼을 클릭하여 앱을 완성합니다.

새 앱 양식

앱이 생성되면 대시보드로 이동합니다. 앱의 앱 ID앱 서명을 기록해 둡니다.

앱 설정

AdMob에서는 AdMob 광고 단위 ID를 설정할 때 Chartboost 사용자 ID사용자 서명이 필요합니다. 이러한 매개변수는 Chartboost UI에서 Chartboost 미디에이션을 클릭하여 찾을 수 있습니다.

Chartboost 미디에이션 대시보드

리소스 > API 탐색기 탭으로 이동하여 인증 섹션 아래에 있는 사용자 ID사용자 서명을 기록합니다.

Chartboost API 탐색기

테스트 모드 사용 설정

Chartboost UI에서 앱 관리 탭으로 이동하여 목록에서 앱을 선택하고 앱 설정 수정을 클릭하면 앱에서 테스트 모드를 사용 설정할 수 있습니다.

앱 설정 수정

앱 설정에서 앱의 테스트 모드를 전환할 수 있습니다.

Chartboost 테스트 모드

테스트 모드가 사용 설정되면 앞서 만든 광고 단위 ID를 사용하여 광고를 요청하고 Chartboost 테스트 광고를 받을 수 있습니다.

Chartboost 테스트 광고를 수신할 수 있게 되면 앱이 Chartboost의 게시자 앱 검토에 표시됩니다. Chartboost에서 수익을 창출하려면 게시자 앱 검토가 Chartboost에서 승인되어야 합니다.

2단계: AdMob UI에서 Chartboost 수요 설정

광고 단위의 미디에이션 설정 구성

광고 단위의 미디에이션 구성에 Chartboost를 추가해야 합니다.

먼저 AdMob 계정에 로그인합니다. 그런 다음 미디에이션 탭으로 이동합니다. 수정하려는 기존 미디에이션 그룹이 있는 경우 해당 미디에이션 그룹의 이름을 클릭하여 수정한 후 Chartboost를 광고 소스로 추가로 건너뜁니다.

새 미디에이션 그룹을 만들려면 미디에이션 그룹 만들기를 선택합니다.

광고 형식과 플랫폼을 입력한 다음 계속을 클릭합니다.

미디에이션 그룹에 이름을 지정하고 타겟팅할 위치를 선택합니다. 그런 다음 미디에이션 그룹 상태를 사용 설정됨으로 설정하고 광고 단위 추가를 클릭합니다.

이 미디에이션 그룹을 하나 이상의 기존 AdMob 광고 단위와 연결합니다. 그런 다음 완료를 클릭합니다.

이제 선택한 광고 단위로 채워진 광고 단위 카드가 표시됩니다.

Chartboost를 광고 소스로 추가


광고 소스 섹션의 폭포식 구조 카드에서 광고 소스 추가를 선택합니다. 그런 다음 Chartboost를 선택합니다.

Chartboost를 선택하고 최적화 스위치를 사용 설정합니다. 이전 섹션에서 가져온 사용자 ID사용자 서명을 입력하여 Chartboost의 광고 소스 최적화를 설정합니다. 그런 다음 Chartboost의 eCPM 값을 입력하고 계속을 클릭합니다.



Chartboost 매핑이 이미 있는 경우 이를 선택할 수 있습니다. 그렇지 않은 경우 매핑 추가를 클릭합니다.

그런 다음 이전 섹션에서 얻은 앱 ID, 앱 서명, 광고 위치를 입력합니다. 그런 다음 완료를 클릭합니다.

Chartboost 광고 위치(이름이 지정된 위치)는 앱에서 광고를 게재할 위치를 나타내는 간단한 이름입니다. AdMob은 설정에 지정된 위치로 요청을 보냅니다. 요청이 전송되면 Chartboost는 보고 목적으로 위치를 플랫폼에 추가합니다. 또한 사용자는 게임에서 호출하기 전에 Chartboost 플랫폼에서 직접 새 광고 위치를 만들 수 있습니다.

Chartboost UI의 기본 설정 페이지에서 고급 설정을 클릭하면 광고 위치를 확인할 수 있습니다. 자세한 내용은 Chartboost의 [이름 지정된 위치](//docs.chartboost.com/ko/monetization/publishing/ad-locations/) 가이드를 참고하세요.
마지막으로 완료를 클릭하여 Chartboost를 광고 소스로 추가한 다음 저장을 클릭합니다.

GDPR 및 미국 주 규정 광고 파트너 목록에 Chartboost 추가

GDPR 설정미국 주 규정 설정의 단계에 따라 AdMob UI의 GDPR 및 미국 주 규정 광고 파트너 목록에 Chartboost를 추가합니다.

3단계: Chartboost SDK 및 어댑터 가져오기

  • 프로젝트의 Podfile에 다음 줄을 추가합니다.

    pod 'GoogleMobileAdsMediationChartboost'
    
  • 명령줄에서 다음을 실행합니다.

    pod install --repo-update
    

수동 통합

  • 최신 버전의 Chartboost SDK를 다운로드하고 프로젝트에서 Chartboost.frameworkCHAMoatMobileAppKit.framework를 연결합니다.

  • 변경사항의 다운로드 링크에서 Chartboost 어댑터의 최신 버전을 다운로드하고 프로젝트에서 ChartboostAdapter.framework를 연결합니다.

  • 프로젝트에 다음 프레임워크를 추가합니다.

    • StoreKit
    • Foundation
    • CoreGraphics
    • WebKit
    • AVFoundation
    • UIKit

4단계: Chartboost SDK에 개인 정보 보호 설정 구현

Google EU 사용자 동의 정책에 따라 개발자는 기기 식별자 및 개인 정보 사용과 관련하여 유럽 경제 지역 (EEA) 사용자에게 특정 정보를 공개하고 동의를 얻어야 합니다. 이 정책에는 EU 온라인 개인 정보 보호 지침 및 개인 정보 보호법 (GDPR)의 요구사항이 반영되어 있습니다. 동의를 얻으려면 개인 정보를 수집, 수신 또는 사용할 수 있는 미디에이션 체인의 각 광고 네트워크를 식별하고 각 네트워크의 사용에 관한 정보를 제공해야 합니다. 현재 Google은 이러한 네트워크에 사용자의 동의 여부를 자동으로 전달할 수 없습니다.

SDK 버전 8.2.0에서 Chartboost는 addDataUseConsent 메서드를 추가했습니다. 다음 샘플 코드는 데이터 사용 동의를 CHBGDPRConsentNonBehavioral로 설정합니다. 이 메서드를 호출하는 경우 Google 모바일 광고 SDK를 통해 광고를 요청하기 전에 호출하는 것이 좋습니다.

Swift

let dataUseConsent = CHBDataUseConsent.GDPR(CHBDataUseConsent.GDPR.Consent.nonBehavioral)
Chartboost.addDataUseConsent(dataUseConsent)

Objective-C

CHBGDPRDataUseConsent *dataUseConsent = [CHBGDPRDataUseConsent gdprConsent:CHBGDPRConsentNonBehavioral];
[Chartboost addDataUseConsent:dataUseConsent];

각 메서드에 제공할 수 있는 값과 자세한 내용은 Chartboost의 GDPR 도움말iOS 개인 정보 보호 방법 을 참고하세요.

미국 주 개인 정보 보호법

미국 주 개인 정보 보호법 은 사용자에게 법률에 정의된 바에 따라 '개인 정보'의 '판매'를 거부할 권리를 부여합니다. 개인 정보 판매 거부 권리는 '판매'하는 회사의 홈페이지에 명시된 'Do Not Sell My Personal Information(내 개인 정보 판매 거부)' 링크를 통해 행사할 수 있습니다. 미국 주 개인 정보 보호법 준수 가이드에서는 Google 광고 게재에 제한적인 데이터 처리를 사용 설정하는 기능을 제공하지만 Google은 미디에이션 체인의 각 광고 네트워크에 이 설정을 적용할 수 없습니다. 따라서 개인 정보 판매에 참여할 수 있는 미디에이션 체인의 각 광고 네트워크를 파악하고 각 네트워크의 안내에 따라 규정을 준수해야 합니다.

SDK 버전 8.2.0에서 Chartboost는 addDataUseConsent 메서드를 추가했습니다. 다음 샘플 코드는 데이터 사용 동의를 CHBCCPAConsentOptInSale로 설정합니다. 이 메서드를 호출하는 경우 Google 모바일 광고 SDK를 통해 광고를 요청하기 전에 호출하는 것이 좋습니다.

Swift

let dataUseConsent = CHBDataUseConsent.CCPA(CHBDataUseConsent.CCPA.Consent.optInSale)
Chartboost.addDataUseConsent(dataUseConsent)

Objective-C

CHBCCPADataUseConsent *dataUseConsent = [CHBCCPADataUseConsent ccpaConsent:CHBCCPAConsentOptInSale];
[Chartboost addDataUseConsent:dataUseConsent];

각 메서드에서 제공할 수 있는 값과 자세한 내용은 Chartboost의 CCPA 도움말iOS 개인 정보 보호 방법 을 참고하세요.

오류 코드

어댑터가 Chartboost에서 광고를 수신하지 못하는 경우 다음 클래스에서 GADResponseInfo.adNetworkInfoArray

GADMAdapterChartboost
GADMediationAdapterChartboost

다음은 광고를 로드하지 못했을 때 Chartboost 어댑터에서 발생하는 코드와 함께 표시되는 메시지입니다.

오류 코드 이유
101 AdMob UI에 구성된 Chartboost 서버 매개변수가 누락되거나 잘못되었습니다.
102 Chartboost SDK가 초기화 오류를 반환했습니다.
103 Chartboost 광고는 표시 시점에 캐시되지 않습니다.
104 요청된 광고 크기가 Chartboost에서 지원하는 배너 크기와 일치하지 않습니다.
105 기기의 OS 버전이 Chartboost SDK의 최소 지원 OS 버전보다 낮습니다.
200-299 Chartboost SDK 캐시 오류 자세한 내용은 코드를 참고하세요.
300-399 Chartboost SDK에 오류가 표시됩니다. 자세한 내용은 코드를 참고하세요.
400-499 Chartboost SDK 클릭 오류 자세한 내용은 코드를 참고하세요.

Chartboost iOS 미디에이션 어댑터 변경 로그

버전 9.8.0.0

  • Chartboost SDK 버전 9.8.0과의 호환성을 확인했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 11.11.0
  • Chartboost SDK 버전 9.8.0

버전 9.7.0.1

  • CFBundleShortVersionString가 4개가 아닌 3개의 구성요소를 갖도록 업데이트되었습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 11.10.0
  • Chartboost SDK 버전 9.7.0

버전 9.7.0.0

  • Chartboost SDK 버전 9.7.0과의 호환성을 확인했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 11.2.0
  • Chartboost SDK 버전 9.7.0

버전 9.6.0.1

  • 이제 최소 iOS 버전 12.0이 필요합니다.
  • 이제 Google 모바일 광고 SDK 버전 11.0 이상이 필요합니다.
  • ChartboostAdapter.xcframework 내 프레임워크에 Info.plist를 포함했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 11.0.1
  • Chartboost SDK 버전 9.6.0

버전 9.6.0.0

  • Chartboost SDK 버전 9.6.0과의 호환성을 확인했습니다.
  • 지원 중단된 메서드 GADMobileAds.sharedInstance.sdkVersionGADMobileAds.sharedInstance.versionNumber로 대체했습니다.
  • GADMediationInterstitialAd 구현을 추가했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 10.14.0
  • Chartboost SDK 버전 9.6.0

버전 9.5.1.0

  • Chartboost SDK 버전 9.5.1과의 호환성을 확인했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 10.12.0
  • Chartboost SDK 버전 9.5.1

버전 9.4.0.0

  • Chartboost SDK 버전 9.4.0과의 호환성을 확인했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 10.7.0
  • Chartboost SDK 버전 9.4.0

버전 9.3.1.0

  • Chartboost SDK 버전 9.3.1과의 호환성을 확인했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 10.7.0
  • Chartboost SDK 버전 9.3.1

버전 9.3.0.0

  • Chartboost SDK 버전 9.3.0과의 호환성을 확인했습니다.
  • 이제 최소 iOS 버전 11.0이 필요합니다.
  • 이제 Google 모바일 광고 SDK 버전 10.4.0 이상이 필요합니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 10.4.0
  • Chartboost SDK 버전 9.3.0

버전 9.2.0.0

  • ChartboostAdapter 헤더 파일에서 GADMChartboostExtras 가져오기를 삭제했습니다.
  • Chartboost SDK 버전 9.2.0과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 10.0.0 이상이 필요합니다.
  • armv7 아키텍처 지원이 삭제되었습니다.
  • 이제 최소 iOS 버전 11.0이 필요합니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 10.0.0
  • Chartboost SDK 버전 9.2.0

버전 9.1.0.0

  • Chartboost SDK 버전 9.1.0과의 호환성을 확인했습니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 9.11.0
  • Chartboost SDK 버전 9.1.0

버전 9.0.0.0

  • Chartboost SDK 버전 9.0.0과의 호환성을 확인했습니다.
  • Google 모바일 광고 SDK 버전 9.10.0과의 호환성을 확인했습니다.
  • didRewardUser API를 사용하도록 어댑터를 업데이트했습니다.
  • 이제 Google 모바일 광고 SDK 버전 9.8.0 이상이 필요합니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 9.10.0
  • Chartboost SDK 버전 9.0.0

버전 8.5.0.2

  • Google 모바일 광고 SDK 버전 9.0.0과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 9.0.0 이상이 필요합니다.

빌드 및 테스트 대상:

  • Google 모바일 광고 SDK 버전 9.0.0
  • Chartboost SDK 버전 8.5.0

버전 8.5.0.1.0

  • CocoaPods의 버전 8.5.0.1을 참조하는 Chartboost SDK 8.5.0과의 호환성을 확인했습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 8.13.0
  • Chartboost SDK 버전 8.5.0

버전 8.5.0.0

  • Chartboost SDK 8.5.0과의 호환성을 확인했습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 8.12.0
  • Chartboost SDK 버전 8.5.0

버전 8.4.2.0

  • Chartboost SDK 8.4.2와의 호환성을 확인했습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 8.6.0
  • Chartboost SDK 버전 8.4.2

버전 8.4.1.1

  • Google 모바일 광고 SDK 버전 8.0.0 이상으로 종속 항목이 완화되었습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 8.4.0
  • Chartboost SDK 버전 8.4.1

버전 8.4.1.0

  • Chartboost SDK 8.4.1과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 8.1.0 이상이 필요합니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 8.1.0
  • Chartboost SDK 버전 8.4.1

버전 8.4.0.1

  • 표준화된 어댑터 오류 코드 및 메시지를 추가했습니다.
  • .xcframework 형식을 사용하도록 어댑터를 업데이트했습니다.
  • 이제 Google 모바일 광고 SDK 버전 8.0.0 이상이 필요합니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 8.0.0
  • Chartboost SDK 버전 8.4.0

버전 8.4.0.0

  • Chartboost SDK 8.4.0과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 7.68.0 이상이 필요합니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.68.0
  • Chartboost SDK 버전 8.4.0

버전 8.3.1.0

  • Chartboost SDK 8.3.1과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 7.66.0 이상이 필요합니다.
  • 이제 최소 iOS 버전이 10.0이어야 합니다.
  • 적응형 배너 요청을 지원하도록 어댑터를 업데이트했습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.66.0
  • Chartboost SDK 버전 8.3.1

버전 8.2.1.0

  • Chartboost SDK 8.2.1과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 7.64.0 이상이 필요합니다.
  • 이제 최소 iOS 버전 9.0이 필요합니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.64.0
  • Chartboost SDK 버전 8.2.1

버전 8.2.0.0

  • Chartboost SDK 8.2.0과의 호환성을 확인했습니다.
  • 이제 Google 모바일 광고 SDK 버전 7.61.0 이상이 필요합니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.61.0
  • Chartboost SDK 버전 8.2.0

버전 8.1.0.1

  • 필요한 최소 Google 모바일 광고 SDK 버전을 7.60.0으로 업데이트했습니다.
  • Chartboost의 새 API를 사용하도록 어댑터를 업데이트하고 지원 중단된 API를 삭제했습니다.
  • 이제 어댑터가 동일한 Chartboost 위치를 사용하여 동일한 형식의 광고를 여러 개 로드하는 기능을 지원합니다.
  • AdMob 또는 Ad Manager UI에서 리워드가 재정의되지 않은 경우 보상형 광고의 리워드 값은 이제 0 대신 Chartboost UI에 지정된 값이 됩니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.60.0
  • Chartboost SDK 버전 8.1.0

버전 8.1.0.0

  • Chartboost SDK 8.1.0과의 호환성을 확인했습니다.
  • 필요한 최소 Google 모바일 광고 SDK 버전을 7.59.0으로 업데이트했습니다.
  • i386 아키텍처 지원이 삭제되었습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.59.0
  • Chartboost SDK 버전 8.1.0

버전 8.0.4.0

  • Chartboost SDK 8.0.4와의 호환성을 확인했습니다.

빌드 및 테스트 대상

  • Google 모바일 광고 SDK 버전 7.52.0
  • Chartboost SDK 버전 8.0.4

버전 8.0.1.1

  • 배너 광고를 요청할 때 채우기가 반환되지 않는 문제를 수정했습니다.

버전 8.0.1.0

  • Chartboost SDK 8.0.1과의 호환성을 확인했습니다.
  • 배너 광고 요청 지원을 추가했습니다.

버전 7.5.0.1

  • Chartboost SDK를 올바르게 초기화하는 코드를 추가했습니다.

버전 7.5.0.0

  • Chartboost SDK 7.5.0과의 호환성을 확인했습니다.
  • 새 보상형 API를 사용하도록 어댑터를 업데이트했습니다.
  • 여러 전면 광고 요청을 처리하도록 어댑터를 업데이트했습니다.
  • 이제 Google 모바일 광고 SDK 버전 7.42.2 이상이 필요합니다.

버전 7.3.0.0

  • Chartboost SDK 7.3.0과의 호환성을 확인했습니다.

버전 7.2.0.1

  • 어댑터에 adapterDidCompletePlayingRewardBasedVideoAd: 콜백을 추가했습니다.

버전 7.2.0.0

  • Chartboost SDK 7.2.0과의 호환성을 확인했습니다.

버전 7.1.2.0

  • Chartboost SDK 7.1.2와의 호환성을 확인했습니다.

버전 7.1.1.0

  • Chartboost SDK 7.1.1과의 호환성을 확인했습니다.

버전 7.1.0.0

  • Chartboost SDK 7.1.0과의 호환성을 확인했습니다.

버전 7.0.4.0

  • Chartboost SDK 7.0.4와의 호환성을 확인했습니다.

버전 7.0.3.0

  • Chartboost SDK 7.0.3과의 호환성을 확인했습니다.

버전 7.0.2.0

  • Chartboost SDK 7.0.2와의 호환성을 확인했습니다.
  • 두 가지 새로운 Chartboost 오류 코드에 대한 지원이 추가되었습니다.

버전 7.0.1.0

  • Chartboost SDK 7.0.1과의 호환성을 확인했습니다.

버전 7.0.0.0

  • Chartboost SDK 7.0.0과의 호환성을 확인했습니다.

버전 6.6.3.0

  • Chartboost SDK 6.6.3과의 호환성을 확인했습니다.
  • 'armv7s' 아키텍처 지원을 삭제했습니다.
  • ChartboostAdapter.framework를 모듈로 가져올 때 비모듈식 Chartboost SDK를 가져오는 게시자에게 Swift 컴파일 문제가 발생하는 버그가 수정되었습니다.

버전 6.6.2.0

  • Chartboost SDK 6.6.2와의 호환성을 확인했습니다.

버전 6.6.1.0

  • Chartboost SDK 6.6.1과의 호환성을 확인했습니다.

버전 6.6.0.0

  • Chartboost SDK 6.6.0과의 호환성을 확인했습니다.

버전 6.5.2.1

  • 비트코드 지원을 사용 설정했습니다.
  • 이제 Chartboost 어댑터를 프레임워크로 배포합니다.
  • 프로젝트에서 ChartboostAdapter.framework를 가져오려면 타겟의 빌드 설정에서 Allow Non-modular Includes in Framework ModulesYES로 설정해야 합니다.

버전 6.5.2.0

  • 버전 이름 지정 시스템을 [Chartboost SDK 버전].[어댑터 패치 버전]으로 변경했습니다.
  • 필요한 최소 Chartboost SDK를 v6.5.1로 업데이트했습니다.
  • 필요한 최소 Google 모바일 광고 SDK를 v7.10.1로 업데이트했습니다.
  • 여러 Chartboost 광고 위치를 지원하는 버그가 수정되었습니다.
  • 이제 앱은 전면 광고가 닫히려고 할 때 interstitialWillDismissScreen: 콜백을 수신합니다.
  • 이제 앱은 보상형 동영상 광고가 열릴 때 rewardBasedVideoAdDidOpen: 콜백을 수신합니다.

버전 1.1.0

  • Chartboost 부가기능에서 Chartboost 광고 위치를 삭제했습니다. 이제 미디에이션을 위해 Chartboost를 구성할 때 AdMob 콘솔에서 광고 위치가 지정됩니다.

버전 1.0.0

  • 첫 출시입니다. 보상형 동영상 광고 및 전면 광고를 지원합니다.