Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
pod 'BuzzAdBenefit', '~> 1.3.0'

2. Manual Import

cocoa pods 를 사용하지 않을 경우 아래의 방법으로 진행 가능합니다.

step 1) 프로젝트에 framework 추가

[프로젝트 메뉴] -> [General] -> [Embedded Binaries] 섹션에 다음 framework들을 추가합니다.

...

(AFNetworking.framework, SDWebImage.framework, libwebp.framework는 본 저장소 Dependencies 폴더에서 다운받을 수 있습니다.)

step 2) Run script 추가

[프로젝트 메뉴] -> [Build Phases] 탭에서 '+' 버튼을 눌러 New Run Script Phase를 추가하고 아래 스크립트를 붙여 넣습니다. 이 과정은 universal framework로 빌드된 바이너리에서 불필요한 architecture들을 떼어내기 위해 필요합니다.

...

Code Block
languageobjective-c
// Objective-C
BABUserProfile *userProfile = [[BABUserProfile alloc] initWithUserId:YOUR_SERVICE_USER_ID birthYear:1985 gender:BABUserGenderMale];
[BuzzAdBenefit setUserProfile:userProfile];
Code Block
languageswift
// Swift
let userProfile = BABUserProfile(userId: YOUR_SERVICE_USER_ID, birthYear: 1985, gender: BABUserGenderMale)
BuzzAdBenefit.setUserProfile(userProfile)

주의사항

Step 1, 2를 통해 세션키 등록이 완료되면 BABSessionRegisteredNotification notification이 호출됩니다. 세션키는 SDK가 광고를 요청하고 받아오기 위해서 필요한 서버 API Key로서 세션키가 없는 경우 광고 로드가 불가능합니다.

Step 2 와 광고 요청 시점간 간격이 짧은 경우 이 notification을 observe하여 세션키 등록을 확인한 후 광고 요청을 수행할 수 있습니다.

Code Block
languageobjective-c
// Objective-C
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loadBABAd) name:BABSessionRegisteredNotification object:nil];
Code Block
languageswift
// Swift
NotificationCenter.default.addObserver(self, selector: #selector(loadBABAd), name: NSNotification.Name.BABSessionRegistered, object: nil)

Info

iOS 14 이상에서 사용자에게 App Tracking Transparency 권한 허용 팝업을 노출하려면 setUserProfile의 인자로 shouldShowAppTrackingTransparencyDialog 값을 true로 하여 호출하면 됩니다(SDK 1.3.3 이상). 아직 권한 허용 여부를 선택하지 않은 사용자에게 최초 1회만 노출됩니다.

App Tracking Transparency 권한 허용 팝업을 노출하려면 앱의 info.plist 파일에 NSUserTrackingUsageDescription 값을 추가해주어야 합니다.

Step 3: Set UserPreference of the user

...