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
File > Add Packages...

Pod 설정

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

$ pod init

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

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

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

  ...
end

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자 한도에서 설정해주시기 바랍니다.

아래 그림과 같이 오퍼월 표시 이전에 사용자 식별자를 입력해 주시기 바랍니다. 로그인 연동 후 오퍼월을 표시해 주세요.

오퍼월 표시 전 로그인 처리

로그인을 지연하여 처리하는 경우

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

오퍼월 표시 후 로그인 처리
Adison.shared.delegate = self
extension ViewController: AdisonOfferwallDelegate {
    func requestLogin(viewController: UIViewController?) {
        // 사용자 식별자를 setUid로 처리해 주세요.    
    }
}

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

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

Adison.shared.uid = nil

Last updated

Was this helpful?