오퍼월 광고
아래 가이드에서는 Offerwall 광고를 통합하고 표시하는 방법을 설명합니다.
기본 요건
시작 가이드에 따라 필요한 과정을 완료합니다.
추가 요구사항:
NestAdsSDK v2.7.7 이상 ~ v2.8.0 미만 (v2.7.8에서 Quiz, Mission 지원)
NestAdsOfferwallSDK v1.0.0 이상 (v1.0.0에서 Quiz, Mission 지원)
설치
Swift Package Manager
NestAdsOfferwallSDK를 프로젝트에 추가합니다:
Xcode에서
File→Add Package Dependencies...선택검색창에 URL 입력:
https://github.com/wisebirds/nestads-offerwall-ios-sdk버전 선택:
1.0.0이상
또는 Package.swift에 직접 추가:
dependencies: [
.package(url: "https://github.com/wisebirds/nestads-ios-sdk", .upToNextMinor(from: "2.7.7")),
.package(url: "https://github.com/wisebirds/nestads-offerwall-ios-sdk", from: "1.0.0")
]테스트 광고 게재위치
Placement Code(게재위치 코드)는 어드민의 인벤토리 > 게재위치 메뉴에서 게재위치를 등록 시 시스템을 통해 자동으로 생성됩니다.
Offerwall 통합하기
1. AppDelegate에서 초기화
Offerwall SDK를 사용하려면 AppDelegate에서 OfferwallConfig를 통해 초기화해야 합니다.
중요: AppDelegate에서 반드시 import NestAdsOfferwallSDK를 추가해야 합니다. 이것이 없으면 런타임에 SDK를 찾을 수 없습니다.
2. 사용자 로그인
Offerwall을 표시하기 전에 반드시 사용자 로그인을 완료해야 합니다.
3. Offerwall 표시하기
로그인 완료 후 원하는 시점에 Offerwall을 표시할 수 있습니다.
4. Delegate 이벤트 처리
Offerwall의 이벤트를 수신하려면 NestAdsOfferwallDelegate를 구현합니다.
로그아웃
사용자가 로그아웃할 때 Offerwall에서도 로그아웃 처리를 해야 합니다.
상태 확인
Offerwall의 현재 상태를 확인할 수 있습니다.
전체 예제
Quiz 광고
필수 설정
Quiz를 사용하기 위해서는 먼저 Offerwall을 초기화하고 사용자 로그인을 완료해야 합니다.
1. Offerwall 초기화 (AppDelegate)
2. 사용자 로그인
Quiz 사용하기
Quiz 응답 모델
NestAdsOfferwallQuizResponse는 다음 정보를 포함합니다:
success
Bool
응답 성공 여부
events
[NestAdsOfferwallQuizEvent]
Quiz 이벤트 목록
titleText
String?
완료 후 표시할 제목
completedImageUrl
String?
완료 이미지 URL
message
String?
응답 메시지
NestAdsOfferwallQuizEvent는 다음 정보를 포함합니다:
id
String
Quiz 고유 ID
title
String
Quiz 제목
eventDescription
String?
Quiz 설명
Mission 광고
필수 설정
Mission을 사용하기 위해서는 먼저 Offerwall을 초기화하고 사용자 로그인을 완료해야 합니다.
1. Offerwall 초기화 (AppDelegate)
위의 Quiz 섹션에서 설명한 Offerwall 초기화를 진행하세요.
2. 사용자 로그인
위의 Quiz 섹션에서 설명한 사용자 로그인을 진행하세요.
Mission 사용하기
Mission 응답 모델
NestAdsOfferwallMissionResponse는 다음 정보를 포함합니다:
success
Bool
응답 성공 여부
missions
[NestAdsOfferwallMissionModel]
Mission 목록
current
Int
현재 진행도
total
Int
총 Mission 개수
rewardUrl
String?
리워드 URL
titleText
String?
제목 텍스트
descriptionText
String?
설명 텍스트
NestAdsOfferwallMissionProgress는 다음 정보를 포함합니다:
current
Int
현재 진행도
total
Int
총 진행도
percentage
Float
진행률 (%)
isCompleted
Bool
완료 여부
NestAdsOfferwallMissionModel는 다음 정보를 포함합니다:
id
String
Mission 고유 ID
title
String
Mission 제목
missionDescription
String
Mission 설명
point
Int
보상 포인트
status
String?
Mission 상태
progress
Int?
현재 진행도
total
Int?
총 진행도
type
NestAdsOfferwallMissionType
Mission 타입
imageUrl
String
이미지 URL
landingUrl
String
랜딩 URL
Mission 메서드
load()
Mission 데이터 로드
clickMission(_:from:)
Mission 실행
triggerRewardButtonClick(from:)
리워드 버튼 클릭 트리거
refreshMissionList(unitId:)
Mission 리스트 새로고침
destroy()
Mission 리소스 정리
setDelegate(_:)
Mission 이벤트 Delegate 설정
포인트 연동(S2S)
마이비 애드체인을 사용하는 파트너는 서버 간(S2S) 연동을 통해 포인트 적립 및 사용자 정보 조회 기능을 구현해야 합니다.
자세한 설명은 Adchain doc을 참고 부탁드립니다.
관련 레퍼런스
OfferwallConfig - Offerwall 초기화 설정
NestAds.Offerwall - Offerwall API
NestAdsOfferwallDelegate - Offerwall 이벤트 Delegate
NestAdsOfferwallError - Offerwall 에러 모델
NestAds - NestAds 클래스
문제 해결
"NestAdsOfferwallSDK not available" 경고
원인: AppDelegate에서 SDK를 import하지 않았거나 패키지가 제대로 추가되지 않음
해결책:
AppDelegate.swift에
import NestAdsOfferwallSDK추가Xcode에서
Product→Clean Build Folder(Cmd+Shift+K)프로젝트 재빌드
Offerwall이 열리지 않음
다음 사항을 확인하세요:
빌드 오류: "Module 'NestAdsOfferwallSDK' not found"
해결책:
Xcode에서
File→Packages→Resolve Package Versions프로젝트 설정에서
Frameworks, Libraries, and Embedded Content에 SDK가 추가되어 있는지 확인Clean build folder 후 재빌드
Last updated