오퍼월 광고

아래 가이드에서는 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를 프로젝트에 추가합니다:

  1. Xcode에서 FileAdd Package Dependencies... 선택

  2. 검색창에 URL 입력:

    https://github.com/wisebirds/nestads-offerwall-ios-sdk
  3. 버전 선택: 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를 통해 초기화해야 합니다.

appKey, appSecret 은 발급 과정이 필요합니다. 담당자에게 문의 부탁드립니다.


2. 사용자 로그인

Offerwall을 표시하기 전에 반드시 사용자 로그인을 완료해야 합니다.

파라미터 설명:

  • userId - [필수] 사용자 고유 ID

  • gender - [선택] 성별. Gender 상수 사용 권장

    • NestAdsGenderUnknown (0) - 알 수 없음 (기본값)

    • NestAdsGenderMale (1) - 남성

    • NestAdsGenderFemale (2) - 여성

  • birthYear - [선택] 출생 연도. 타겟 광고 최적화에 활용됩니다.


3. Offerwall 표시하기

로그인 완료 후 원하는 시점에 Offerwall을 표시할 수 있습니다.


4. Delegate 이벤트 처리

Offerwall의 이벤트를 수신하려면 NestAdsOfferwallDelegate를 구현합니다.


로그아웃

사용자가 로그아웃할 때 Offerwall에서도 로그아웃 처리를 해야 합니다.


상태 확인

Offerwall의 현재 상태를 확인할 수 있습니다.


전체 예제


Quiz 광고

필수 설정

Quiz를 사용하기 위해서는 먼저 Offerwall을 초기화하고 사용자 로그인을 완료해야 합니다.

1. Offerwall 초기화 (AppDelegate)

이미 Offerwall을 설정했다면 이 단계는 생략하셔도 됩니다.

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을 참고 부탁드립니다.


관련 레퍼런스


문제 해결

"NestAdsOfferwallSDK not available" 경고

원인: AppDelegate에서 SDK를 import하지 않았거나 패키지가 제대로 추가되지 않음

해결책:

  1. AppDelegate.swift에 import NestAdsOfferwallSDK 추가

  2. Xcode에서 ProductClean Build Folder (Cmd+Shift+K)

  3. 프로젝트 재빌드

Offerwall이 열리지 않음

다음 사항을 확인하세요:

빌드 오류: "Module 'NestAdsOfferwallSDK' not found"

해결책:

  1. Xcode에서 FilePackagesResolve Package Versions

  2. 프로젝트 설정에서 Frameworks, Libraries, and Embedded Content에 SDK가 추가되어 있는지 확인

  3. Clean build folder 후 재빌드

Last updated