-
구글 AdMob 보상형 광고 구현하기/광고 2023. 11. 28. 12:41반응형
안녕하세요 아렉스입니다.
오늘은 구글 광고 종류 중에서 AdMob 보상형 광고 구현에 대해서 공유드립니다.
공식문서가 그렇게 잘 되어있는데.. ! 왜 작성하냐면요,,
https://developers.google.com/admob/ios/rewarded?hl=ko
이렇게 서버 에러만 하루종일 나오더라구요 ..
예..
[iOS] 구글 AdMob 연동하기 - 작업 전 설정
아예 처음이라면 이전 포스팅 보고 와주세요 !
광고 단위 설정하기
광고 형식 - 리워드 선택
(선택) 서버와 보상 연계시 call back URL 설정
여기에 나오는 광고 단위 id를 사용할거에요
구현
구현 흐름은 아래와 같습니다.
- 보상형 광고 단위 ID를 통해 광고를 load 요청
- 성공 시 GADRewardedAd 객체 초기화
- GADRewardedAd present
- userDidEarnRewardHandler 를 통한 reward 처리
import Foundation import GoogleMobileAds class RewardedHelper: NSObject, GADFullScreenContentDelegate { private var rewardedAd: GADRewardedAd? func loadRewardedAd() { let request = GADRequest() GADRewardedAd.load(withAdUnitID: "ca-app-pub-1234424121799999/123467899", request: request) { [self] ad, error in if let error = error { print("Failed to load reward ad with error: \(error.localizedDescription)") return } rewardedAd = ad rewardedAd?.fullScreenContentDelegate = self print(#function, "Rewarded loaded") } } func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { loadRewardedAd() } func showRewardedAd(viewController: UIViewController) { if rewardedAd != nil { rewardedAd!.present(fromRootViewController: viewController, userDidEarnRewardHandler: { let reward = self.rewardedAd!.adReward print("\(reward.amount) \(reward.type)") }) } else { print("RewardedAd wasn't ready") } } }
실제로 사용하는 곳도 예시를 들어보겠습니다.import UIKit final class ViewController: UIViewController { private var rewardHelper = RewardedHelper() override func viewDidLoad() { // 버튼 인스턴스 생성 및 추가 rewardHelper.loadRewardedAd() } } // MARK: - User Interaction extension ViewController { @objc private func tappedButton() { rewardHelper.showRewardedAd(viewController: self) } }
짠 ~ 리워드가 표출 되는 것을 볼 수 있습니다 ..!
' > 광고' 카테고리의 다른 글
구글 AdMob 연동하기 - 작업 전 설정 (2) 2023.11.09