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자 한도에서 설정해주시기 바랍니다.
아래 그림과 같이 오퍼월 표시 이전에 사용자 식별자를 입력해 주시기 바랍니다. 로그인 연동 후 오퍼월을 표시해 주세요.

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

Adison.shared.delegate = self
extension ViewController: AdisonOfferwallDelegate {
func requestLogin(viewController: UIViewController?) {
// 사용자 식별자를 setUid로 처리해 주세요.
}
}
로그인 연동 해제가 필요한 경우
사용자가 로그아웃을 하거나 서비스를 탈퇴하는 경우에는 애디슨 오퍼월에 사용 식별값 해제하여 연결 관계를 끊을 수 있습니다.
로그아웃, 탈퇴 등의 경우 SDK에서도 반드시 로그인 연동을 해제해 주셔야 합니다.
Adison.shared.uid = nil
Last updated
Was this helpful?