시작하기
지원 버전
- iOS 13.0 이상
- Xcode 16.0 이상
광고 SDK 적용 하기
Cocoapods 의존성 추가
pod init 이후 생성된 Podfile에 NAMSDK를 추가합니다. NAMSDK Pod과 함께 연동하고 싶은 광고 제공자들의 Mediation Pod을 추가로 설정합니다.
target 'MyApplication' do
pod 'NAMSDK' # SDK 본체
pod 'NAMSDK/MediationNDA' # 네이버 배너/네이티브 광고
pod 'NAMSDK/MediationNDAVideo' # 네이버 비디오 광고
pod 'NAMSDK/MediationNDARich' # 네이버 프리미엄 광고 (since 7.2.0)
pod 'NAMSDKMediationDFP' # 구글 DFP (since 8.0.0)
pod 'NAMSDKMediationIMA' # 구글 IMA (동영상)
pod 'NAMSDKMediationFAN' # 페이스북 FAN (since 8.0.0)
pod 'NAMSDKMediationInMobi' # 인모비 (since 8.0.0)
pod 'NAMSDKMediationUnity' # 유니티 (since 8.0.0)
pod 'NAMSDKMediationAppLovin' # 앱러빈 (since 8.0.0)
pod 'NAMSDKMediationVungle' # 벙글 (since 8.0.0)
pod 'NAMSDKMediationDT' # Digital Turbine (since 8.0.0)
pod 'NAMSDKMediationIronSource' # Iron Source (since 8.0.0)
pod 'NAMSDKMediationAPS' # APS (since 8.0.0)
pod 'NAMSDKMediationLAN' # LAN (since 8.0.0)
pod 'NAMSDKMediationChartBoost' # ChartBoost (since 8.4.0)
pod 'NAMSDKMediationBidMachine' # BidMachine (since 8.4.0)
pod 'NAMSDKMediationPangle' # Pangle (since 8.13.0)
pod 'NAMSDKMediationMoloco' # Moloco (since 8.22.0)
pod 'NAMSDKMediationTeads' # Teads (since 8.22.0)
pod 'NAMSDKMediationMagnitePrebid' # Magnite Prebid (since 8.24.0)
end
Swift Package Manager 의존성 추가
NAMSDK 8.10.0 이상 버전부터 SPM 사용이 가능합니다.
외부 미디에이션을 사용할 경우 SPM 사용이 불가능합니다. 외부 미디에이션을 사용할 경우 Cocoapods 으로 통합하는 것이 좋습니다.
프로젝트에 NAMSDK 패키지 종속 항목을 추가합니다.
- Xcode 에서 File > Add Package Dependencies 을 클릭합니다.
- 우상단 Search or Enter Package URL 에서 NAMSDK Swift 패키지 GitHub 저장소를 검색합니다.
https://github.com/naver/nam-sdk-ios
- 사용할 Swift 패키지 버전을 선택합니다.
- Xcode 에서 App 타겟 > Build Settings > Other Linker Flags 에 -Objc 옵션을 추가합니다.
지원 중인 광고 제공자 목록
내부 광고 제공자
| 광고제공자 이름 | 지원되는 광고타입 | CocoaPods 설정 | SPM 지원 |
|---|---|---|---|
| 네이버 | 배너, 네이티브(NS, NN) | pod NAMSDK/MediationNDA | O |
| 네이버 | 동영상 | pod NAMSDK/MediationNDAVideo | O |
| 네이버 | 네이티브 리치 보상형 | pod NAMSDK/MediationNDARich | O |
CocoaPods는 광고 형식별로 서브스펙(MediationNDA, MediationNDAVideo, MediationNDARich)을 각각 추가해야 하지만,
SPM은 이들이 모두 NAMSDK 패키지 하나에 포함되어 있어 별도 추가가 필요 없습니다.
외부 광고 제공자
NAMSDK와 NAMSDKMediation 간 버전 호환성은 미디에이션 네트워크 버전에서 확인 후 적용 부탁드립니다.
| 광고제공자 이름 | 지원되는 광고타입 | CocoaPods 설정 | SPM 지원 |
|---|---|---|---|
| 구글 DFP | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationDFP | X |
| 구글 IMA | 동영상 | pod NAMSDKMediationIMA | X |
| 페이스북 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationFAN | X |
| 인모비 | 배너, 네이티브 | pod NAMSDKMediationInMobi | X |
| 유니티 | 배너, 전면형, 보상형 | pod NAMSDKMediationUnity | X |
| 앱러빈 | 배너, 전면형, 보상형 | pod NAMSDKMediationAppLovin | X |
| 벙글 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationVungle | X |
| DigitalTurbine | 배너, 전면형, 보상형 | pod NAMSDKMediationDT | X |
| IronSource | 전면형, 보상형 | pod NAMSDKMediationIronSource | X |
| APS | 보상형 | pod NAMSDKMediationAPS | X |
| LAN | 네이티브(NS, NN), 전면형, 보상형 | pod NAMSDKMediationLAN | X |
| ChartBoost | 배너, 전면형, 보상형 | pod NAMSDKMediationChartBoost | X |
| BidMachine | 배너, 전면형, 보상형 | pod NAMSDKMediationBidMachine | X |
| Pangle | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationPangle | X |
| Moloco | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationMoloco | X |
| Teads | 네이티브(NS, NN) | pod NAMSDKMediationTeads | X |
| Magnite Prebid | 배너 | pod NAMSDKMediationMagnitePrebid | X |
ATS(App Transport Security) 설정
iOS 9부터 도입 된 App Transport Security (ATS)는 앱이 HTTPS를 통해서만 네트워크 요청을 하도록 기본설정 되어있습니다. HTTP를 사용하는 광고파트너들의 광고동작를 허용하기 위해, Info.plist 파일에 아래내용을 추가합니다.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Google DFP 연동시 주의사항
구글 DFP를 연동 하시는 경우, 아래 내용을 추가로 Info.plist 파일에 추가해야 합니다. 그렇지 않을 경우, "The Google Mobile Ads SDK was initialized incorrectly."와 같은 메시지와 함께 동작이 중단됩니다.
<key>GADIsAdManagerApp</key>
<true/>
구글 DFP 10 버전 부터 아래와 같이 추가 설정이 필요합니다.
- Info.plist에서 모든 Ad Manager 앱의 Ad Manager 앱 ID에 필요하며 ca-app-pub-################~########## 형식이 필요합니다. 자세한 내용은 Info.plist 업데이트를 참고하세요.
- https://developers.google.com/ad-manager/mobile-ads-sdk/ios/migration?hl=ko#requirement_of_ad_manager_app_id
Developers DA.SSP.SDK개발