NAM (Naver ad Manager) 연동은 Feed 광고 사이에 들어가는 비보상 배너형 광고 입니다.
Podfile에 아래 코드를 설정하세요.
pod 'NAMSDK', '= 7.10.1' pod 'NAMSDK/MediationNDA', '= 7.10.1'
NAM Publisher ID를 발급하세요.
NAM 을 연동하기 위해서는 Publisher ID 발급이 필요합니다. 연동을 위해서는 버즈빌 담당자에게 연락하시기 바랍니다.
NAM Adapter를 설정하세요.
링크를 통해 다운로드 받으세요.
Adapter file을 프로젝트에 넣어주세요.
설정
Adapter 다운로드 후 어플리케이션 프로젝트에 넣어주세요.
Bridging-Header
NAM의 경우 Native를 세팅하는 과정에서 Adapter(.h)의 코드가 필요합니다. swift 파일에 추가하실 때에는 Bridging-Header를 생성해줘야합니다.
#import "NAMAdapter.h"
Build Settings 에서 Objective-C Bridging Header에 Brding-Header.h 파일을 등록해줘야합니다.
AppDelegate에 아래 코드를 추가하세요.
// ... import GFPSDK import AdSupport import AppTrackingTransparency import BuzzvilSDK import BuzzAvatyeAdCash @main class AppDelegate: UIResponder, UIApplicationDelegate { // ... func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { // initialize NAM GFPAdManager.setup(withPublisherCd: "YOUR_NAM_CODE", target: self) { error in if let error = error { // error } } BuzzNaverAdManager.shared.setNaverAdManagerInitializer { adCashNativeAd, nib in guard let xibView = nib.instantiate(withOwner: nil, options: nil).first as? GFPNativeSimpleAdView else { print("BuzzBanner setNaverAdManagerInitializer failure: xibView instantiate failed.") return } let apNAMNativeAdRenderer = APNAMNativeAdRenderer() apNAMNativeAdRenderer.namNativeSimpleAdView = xibView adCashNativeAd.setNAMRenderer(apNAMNativeAdRenderer, superView: xibView) } // ... return true } } extension AppDelegate: GFPAdManagerDelegate { func attStatus() -> GFPATTAuthorizationStatus { if #available(iOS 14.5, *) { func convertATTrackingStatus(_ status: ATTrackingManager.AuthorizationStatus) -> GFPATTAuthorizationStatus { switch status { case .authorized: return .authorized case .denied: return .denied case .notDetermined: return .notDetermined case .restricted: return .restricted @unknown default: return .restricted } } return convertATTrackingStatus(ATTrackingManager.trackingAuthorizationStatus) } else { if ASIdentifierManager.shared().isAdvertisingTrackingEnabled { return .authorized } return .notDetermined } } }