리워드 비디오 광고
1 : 준비
프로젝트 설정을 통해 광고 연동을 위한 준비를 한다.
2 : SDK 초기화
앱 구동시 최초 SDK 를 초기화하여야 광고 요청이 가능하다.
사이트에서 발급받은
Media ID
를 입력한다.
import UIKit
import AdPieSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
{
// SDK 초기화
AdPieSDK.sharedInstance().initWithMediaId("YOUR_MEDIA_ID")
return true
}
}
3 : 광고 요청
ViewController에 광고 요청을 위한 객체를 생성한다.
사이트에서 발급받은 Slot ID를 입력한다.
광고 요청과 표출로 메소드가 각각 나누어져 있기에, 요청을 미리하고 표출을 필요할 때 한다.(Preload)
타겟팅 적용으로 보다 높은 수익을 얻을 수 있다.
import UIKit
import AdPieSDK
class ViewController: UIViewController, APRewardedAdDelegate {
var rewardedAd: APRewardedAd!
override func viewDidLoad() {
super.viewDidLoad()
// 광고 객체 생성 (Slot ID 입력)
rewardedAd = APRewardedAd(slotId: "YOUR_SLOT_ID")
// 델리게이트 등록
rewardedAd.delegate = self
// 광고 요청
rewardedAd.load()
}
}
4 : 광고 표출 (광고 이벤트 수신)
광고 호출에 대한 콜백을 받을 수 있다.
ViewController에서
APRewardedAdDelegate
프로토콜을 도입(adopt)한다.광고 객체의 delegate 프로퍼티에 콜백(이벤트)를 수신받을 객체를 설정한다.
델리게이트의 메소드 중 성공, 실패에 대한 메소드는 필수사항으로 반드시 구현해야 하며, 나머지 메소드는 필요에 따라서 구현한다.
광고를 요청하기 위해서는
load
를 호출하고, 표출하기 위해서는 swift에서는present
메소드를 호출하고, Objective-C 언어에서는presentFromRootViewController:
메소드를 호출한다.에러코드를 통해 광고 실패에 대한 이유를 알 수 있다.
import UIKit
import AdPieSDK
class ViewController: UIViewController, APRewardedAdDelegate {
...
// MARK: - APRewardedAd delegates
func rewardedAdDidLoad(_ rewardedAd: APRewardedAd!) {
// 광고 로딩 완료 후 이벤트 발생
// 광고 요청 후 즉시 노출하고자 할 경우 아래의 코드를 추가한다.
if rewardedAd.isReady() {
// 광고 표출
rewardedAd.present(fromRootViewController: self)
}
}
func rewardedAdDidFail(toLoad rewardedAd: APRewardedAd!,
withError error: Error!)
{
// 광고 요청 또는 표출 실패 후 이벤트 발생
// error code : error._code
// error message : error.localizedDescription
}
func rewardedAdWillPresentScreen(_ rewardedAd: APRewardedAd!) {
// 광고 표출 이벤트 발생
}
func rewardedAdWillDismissScreen(_ rewardedAd: APRewardedAd!) {
// 광고가 표출한 뒤 종료하기 전에 이벤트 발생
}
func rewardedAdDidDismissScreen(_ rewardedAd: APRewardedAd!) {
// 광고가 표출한 뒤 종료한 후 이벤트 발생
}
func rewardedAdDidEarnReward(_ rewardedAd: APRewardedAd!) {
// 리워드광고 보상 이벤트 발생
}
func rewardedAdWillLeaveApplication(_ rewardedAd: APRewardedAd!) {
// 광고 클릭 후 이벤트 발생
}
}
5 : SSV (Server-side verification) 설정
SSV 설정은 선택사항으로 필요한 경우에만 설정하여 사용할 수 있다.
SSV 설정은 보상 이벤트가 발생될 때 개발사에서 등록한 Callback URL을 Server to Server 방식으로 호출을 하기 위한 설정이다.
SSV 설정에 대한 호출 조건은 아래와 같다.
대시보드를 통해 Callback URL (SSV URL)이 등록되어 있어야 한다.
비디오 시청 완료 후 보상 이벤트가 발생해야 한다.
필요한 경우, 광고 요청 전에 SDK를 통해 USER ID 및 CUSTOM DATA 정보를 설정한다.
클라이언트에서 설정한 USER ID 와 CUSTOM DATA 정보가 있다면 Callback URL (SSV URL)에 포함되어 호출하도록 적용되어 있다.
(예시) https://callback_url?param=value&userid=valule&customdata=value
해당 설정은 반드시 광고 요청 전에 호출해야 정상적으로 데이터가 Callback URL (SSV URL)에 포함된다.
SDK v1.3.7 이상에서 동작하며 이전 버전에서는 동작하지 않는다.
rewardedAd.setUserIdForSSV(userId: "<USER_ID>")
rewardedAd.setCustomDataForSSV(customData: "<CUSTOM_DATA>")
Last updated