시작하기
지원 버전
- iOS 13.0 이상
- Xcode 12.0 이상
NAMSDK 4.3.0 부터 Xcode 12.0 이상을 사용하셔야 합니다. (iOS 14 대응)
외부 광고를 사용할 경우 Xcode 최신 버전 사용을 권장합니다.
- NAMSDK 6.0.0 부터 DFP 사용 시 Xcode 14.1 이상을 사용하셔야 합니다.
- NAMSDK 7.0.0 부터 Unity, IronSource 사용 시 Xcode 15 이상을 사용하셔야 합니다.
- NAMSDK 8.0.0 부터 Xcode 16 이상을 사용하셔야 합니다.
광고 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 '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)
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 사용 시
내부 광고 제공자
| 광고제공자 이름 | 지원되는 광고타입 | CocoaPods 설정 |
|---|---|---|
| 네이버 | 배너, 네이티브(NS, NN) | pod NAMSDK/MediationNDA |
| 네이버 | 동영상 | pod NAMSDK/MediationNDAVideo |
| 네이버 | 네이티브 리치 보상형 | pod NAMSDK/MediationNDARich |
외부 광고 제공자
NAMSDK와 NAMSDKMediation 간 버전 호환성은 미디에이션 네트워크 버전에서 확인 후 적용 부탁드립니다.
| 광고제공자 이름 | 지원되는 광고타입 | CocoaPods 설정 |
|---|---|---|
| 구글 DFP | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationDFP |
| 페이스북 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationFAN |
| 인모비 | 배너, 네이티브 | pod NAMSDKMediationInMobi |
| 유니티 | 배너, 전면형, 보상형 | pod NAMSDKMediationUnity |
| 앱러빈 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationAppLovin |
| 벙글 | 전면형, 보상형 | pod NAMSDKMediationVungle |
| DigitalTurbine | 배너, 전면형, 보상형 | pod NAMSDKMediationDT |
| IronSource | 전면형, 보상형 | pod NAMSDKMediationIronSource |
| APS | 보상형 | pod NAMSDKMediationAPS |
| LAN | 네이티브(NS, NN), 전면형, 보상형 | pod NAMSDKMediationLAN |
| ChartBoost | 배너, 전면형, 보상형 | pod NAMSDKMediationChartBoost |
| BidMachine | 배너, 전면형, 보상형 | pod NAMSDKMediationBidMachine |
| Pangle | 배너, 네이티브, 전면형, 보상형 | pod NAMSDKMediationPangle |
SPM 사용 시
| 광고제공자 이름 | 지원되는 광고타입 |
|---|---|
| 네이버 | 배너, 네이티브(NS, NN) |
| 네이버 | 동영상 |
| 네이버 | 네이티브 리치 보상형 |
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
Deprecated
Cocoapods 의존성 추가 (~v7)
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 'NAMSDK/MediationDFP' # 구글 DFP
pod 'NAMSDK/MediationFAN' # 페이스북 FAN
pod 'NAMSDK/MediationInMobi' # 인모비
pod 'NAMSDK/MediationUnity' # 유니티
pod 'NAMSDK/MediationAppLovin' # 앱러빈 (since 5.0.0)
pod 'NAMSDK/MediationVungle' # 벙글 (since 6.0.0)
pod 'NAMSDK/MediationDT' # Digital Turbine (since 6.5.0)
pod 'NAMSDK/MediationIronSource' # Iron Source (since 7.2.0)
pod 'NAMSDK/MediationAPS' # APS (since 7.2.0)
pod 'NAMSDK/MediationLAN' # LAN (since 7.7.0)
end
지원 중인 광고 제공자 목록 (~v7)
| 광고제공자 이름 | 지원되는 광고타입 | cocoapods 설정 |
|---|---|---|
| 네이버 | 배너, 네이티브(NS, NN) | pod NAMSDK/MediationNDA |
| 네이버 | 동영상 | pod NAMSDK/MediationNDAVideo |
| 네이버 | 네이티브 리치 보상형 | pod NAMSDK/MediationNDARich |
| 구글 DFP | 배너, 네이티브, 전면형, 보상형 | pod NAMSDK/MediationDFP |
| 페이스북 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDK/MediationFAN |
| 인모비 | 배너, 네이티브 | pod NAMSDK/MediationInMobi |
| 유니티 | 배너, 전면형, 보상형 | pod NAMSDK/MediationUnity |
| 앱러빈 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDK/MediationAppLovin |
| 벙글 | 배너, 네이티브, 전면형, 보상형 | pod NAMSDK/MediationVungle |
| DigitalTurbine | 배너, 전면형, 보상형 | pod NAMSDK/MediationDT |
| IronSource | 전면형, 보상형 | pod NAMSDK/MediationIronSource |
| APS | 보상형 | pod NAMSDK/MediationAPS |
| LAN | 네이티브(NS, NN), 전면형, 보상형 | pod NAMSDK/MediationLAN |
Developers DA.SSP.SDK개발