iOS SDK 설정

iOS SDK는 CocoaPod과 Swift Package Manager를 이용할 수 있습니다. 아래의 가이드를 통해 SDK 의존성을 설정해 주시기 바랍니다.

Swift Package Manager

Xcode의 상단 메뉴에서 File > Add Packages... 를 선택하고, 아래 주소를 이용하여 Package를 추가해 줍니다.

https://github.com/adison-ads/adison-offerwall-ios-sdk

Dependency Rule은 Exact Version을 선택하고, 최신 버전은 iOS SDK 릴리즈 정보를 확인하여 주시기 바랍니다.

Pod 설정

CocoaPod이 없는 경우 https://cocoapods.org 에서 설치 후 초기화를 진행합니다:

$ pod init

pod 파일에 AdisonOfferwallSDK을 추가합니다.

target 'OfferwallSample' do
  # Swift를 사용하지 않거나 동적 프레임워크를 사용하지 않는 경우 다음 행에 주석을 추가합니다
  use_frameworks!

  # AdisonOfferwallSDK를 위한 Pods
  pod 'AdisonOfferwallSDK', '{SDK_VER}'

  ...
end

적용할 최신 버전은 iOS SDK 릴리즈 정보를 확인하여 주시기 바랍니다.

Podfile.lock으로 버전이 고정된 경우 갱신을 위해 pod을 업데이트합니다.

$ pod update

최신 pod 목록을 가져와서 라이브러리를 설치합니다.

$ pod repo update
$ pod install

또는

$ pod install --repo-update

Objective-C 설정

AdiSON 오퍼월 SDK 는 Swift로 작성되었기 때문에, Xcode 프로젝트에서 다음과 같이 Swift 라이브러리를 추가해야 합니다. [Build Settings > Always Embed Swift Standard Libraries]yes로 설정합니다.

SDK 적용

AdiSON 오퍼월에서는 앱별로 app_id를 발급합니다. 발급된 app_id를 사용하여 Application이나 해당 ViewController 생성 시점에 초기화를 진행해 주시기 바랍니다.

import AdisonOfferwallSDK

Adison.shared.initialize(appId: appId)
Adison.shared.setServer(.development)

오퍼월 표시

modal로 오퍼월을 표시합니다.

Adison.shared.presentOfferwall(from: self)

로그인 연동

Adison.shared.uid = "573E010013647A49B8F6B3E35E8B3C4"
  • uid는 추후 적립 처리가 가능하도록 별도로 암호화 한 사용자 식별값을 설정해주시기 바랍니다.

  • 개인정보(이메일, 이름, 전화번호, 식별가능한 사용자 ID 등)을 사용하면 안됩니다.

  • uid는 총 80자 한도에서 설정해주시기 바랍니다.

  • 개인정보보호를 위한 별도의 약관을 표시하고 이를 동의한 사용자만 설정해주시기 바랍니다.

uid는 약관 동의한 사용자의 경우만 식별자를 입력해 주시기 바랍니다.

아래 그림과 같이 오퍼월 표시 이전에 사용자 식별자를 입력해 주시기 바랍니다. 약관 동의가 필요한 경우는 관련 처리를 먼저 수행하고 로그인 연동 후 오퍼월을 표시해 주세요.

약관 동의를 지연하여 처리하는 경우

약관 동의는 사용자의 적극적인 참여를 유도하기 위해 오퍼월을 먼저 경험한 이후 사용자 식별자가 필수인 시점(광고 참여와 문의하기 이동) 전으로 지연하여 처리가 가능합니다. delegate를 등록하고 사용자 식별자 입력 전에 오퍼월을 표시하면 해당 시점에 requestLogin()을 콜백으로 호출하여 약관 처리를 요청합니다. 매체 앱에서 약관을 표시하고 동의한 사용자의 식별자를 입력해 주세요. 로그인 연동 이후 해당 화면을 종료하고 오퍼월 화면으로 재진입하면 내부에서 식별자 변경을 인지하여 사용자의 기존 액션을 이어서 진행합니다.

Adison.shared.delegate = self
extension ViewController: AdisonOfferwallDelegate {
    func requestLogin() {
        // 매체 앱에서 약관을 표시하고 동의한 사용자 식별자를 setUid로 처리해 주세요.    
    }
}

로그인 연동 해제가 필요한 경우

사용자가 로그아웃을 하거나 개인정보 철회, 서비스 탈퇴하는 경우에는 애디슨 오퍼월에 사용 식별값 해제하여 연결 관계를 끊을 수 있습니다.

로그아웃, 탈퇴, 사용자 동의 철회의 경우 SDK에서도 반드시 로그인 연동을 해제해 주셔야 합니다.

Adison.shared.uid = nil

Last updated