iOS 보상형 광고
Last updated
Last updated
로컬 환경에서 배너 노출을 확인하고 싶다면, 아래의 TEST_UNIT_ID를 사용해주세요.
자세한 예시는 에서 확인하실 수 있습니다. 테스트 유닛 아이디는 프로덕션 배포시 반드시 실제 광고 유닛으로 교체해 주셔야 합니다.
Rewarded
PUBLIC_TEST_UNIT_ID_REWARDED
let rewardedAd = AdropRewardedAd(unitId: "PUBLIC_TEST_UNIT_ID_REWARDED")
rewardedAd.delegate = self
rewardedAd.load()
...
// 광고를 표시해야 할 경우 show 함수를 호출하세요.
rewardedAd.show(fromRootViewController: self, userDidEarnRewardHandler: { type, amount in
print("earned reward type: \(type) amount: \(amount)")
})
self.rewardedAd = [[AdropRewardedAd alloc] initWithUnitId:@"PUBLIC_TEST_UNIT_ID_REWARDED"];
self.rewardedAd.delegate = self;
[self.rewardedAd load];
...
// 광고를 표시해야 할 경우 show 함수를 호출하세요.
[self.rewardedAd showFromRootViewController:self userDidEarnRewardHandler:^(NSInteger type, NSInteger amount) {
NSLog(@"earned reward type: %ld amount: %ld", type, amount);
}];
class AdropRewardedAdWrapper: AdropRewardedAdDelegate {
var rewardedAd: AdropRewardedAd?
var errorHandler: (String) -> Void
init(_ unitId: String, handler: @escaping (String) -> Void ) {
self.rewardedAd = AdropRewardedAd(unitId: unitId)
self.errorHandler = handler
rewardedAd?.delegate = self
}
func onAdReceived(_ ad: AdropAds.AdropRewardedAd) {
print("onAdReceived \(ad.creativeId)")
}
func onAdFailedToReceive(_ ad: AdropAds.AdropRewardedAd, _ error: AdropAds.AdropErrorCode) {
print("onAdFailedToReceive \(AdropErrorCodeToString(code: error))")
self.errorHandler(AdropErrorCodeToString(code: error))
}
func load() {
rewardedAd?.delegate = self
rewardedAd?.load()
}
func show(fromRootViewController: UIViewController, userDidEarnRewardHandler: @escaping AdropUserDidEarnRewardHandler) {
rewardedAd?.show(fromRootViewController: fromRootViewController, userDidEarnRewardHandler:userDidEarnRewardHandler)
}
}
struct RewardedAdView: View {
@State var adropRewardedAdWrapper :AdropRewardedAdWrapper? = nil
var body: some View {
NavigationView {
VStack {
Button {
adropRewardedAdWrapper = AdropRewardedAdWrapper("PUBLIC_TEST_UNIT_ID_REWARDED") { _ in }
adropRewardedAdWrapper?.load()
} label: {
Text("load")
}
.padding(.all)
Button {
adropRewardedAdWrapper?.show(fromRootViewController: (UIApplication.shared.windows.first?.rootViewController)!){
type, amount in
print("earned reward!11(type: \(type) amount: \(amount))")
}
} label: {
Text("show")
}
.padding(.all)
Spacer()
}
.navigationTitle("RewardedAd Example")
}
}
}
console에서 발급받은 unitId가 한 번이라도 request 가 들어가면 성공적으로 연결됩니다.
광고 유닛에 연결된 광고가 없다면, 배너가 랜더링 되지 않습니다. 따라서 배너가 정상적으로 랜더링 되는지 확인하고 싶으면, TEST_UNIT_ID 를 사용해 주세요.
TEST_UNIT_ID 를 사용하면 배너 랜더링 확인은 할 수 있지만, console과 연결되지는 않습니다. 따라서 성공적인 연결을 확인하려면 콘솔에 등록한 광고 유닛의 아이디를 적용해 주시고, 하단 이미지 처럼 콘솔을 확인해 주세요.