[swift] Swift에서 Firebase의 인앱 광고 구현하기

Firebase는 개발자들에게 다양한 서비스를 제공하는 플랫폼이다. 이 중 하나인 Firebase의 인앱 광고를 Swift에서 구현하는 방법에 대해 알아보겠다.

Firebase 프로젝트 설정

  1. Firebase 콘솔(https://console.firebase.google.com)에 접속한다.
  2. 프로젝트를 만들거나 기존 프로젝트를 선택한다.
  3. “프로젝트 설정”으로 이동한다.
  4. “인 앱 광고” 탭으로 이동한다.
  5. “AdMob”을 선택하고 “시작”을 클릭한다.
  6. “앱 추가”를 클릭하여 앱을 추가한다. Bundle ID를 정확히 입력해야 한다.
  7. Google 정보 확인 단계를 거친 후, 구현할 플랫폼인 iOS를 선택하여 안내에 따라 진행한다.

Firebase SDK 및 AdMob SDK 설치

Firebase와 AdMob을 Swift 프로젝트에 연결하기 위해 다음 단계를 따른다.

  1. Podfile을 열어서 pod 'Firebase/Core'pod 'Firebase/AdMob'를 추가한다. ```swift platform :ios, ‘9.0’

target ‘YourApp’ do use_frameworks! pod ‘Firebase/Core’ pod ‘Firebase/AdMob’ end

2. 터미널에서 `pod install`을 실행하여 Firebase 및 AdMob 라이브러리를 설치한다.

## AdMob 광고 유닛 생성

Firebase 콘솔에서 AdMob 탭으로 이동하여 광고 유닛을 생성해야 한다.

1. "광고 단위 관리"로 이동한다.
2. "광고 유닛 추가"를 선택한다.
3. 원하는 광고 형식을 선택하고, 광고 유닛의 이름을 지정한다.
4. 생성된 광고 유닛을 선택하여 "광고 단위 ID"를 확인한다.

## Swift에서 AdMob 코드 구현

이제 Swift 프로젝트에서 Firebase와 AdMob을 사용하는 코드를 작성해보자.

1. AppDelegate.swift 파일을 열고 Firebase를 설정한다.
```swift
import Firebase

...

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    return true
}
  1. 광고를 표시할 ViewController를 열어 AdMob을 구현한다. ```swift import GoogleMobileAds

class ViewController: UIViewController, GADInterstitialDelegate {

var interstitialAd: GADInterstitial!

override func viewDidLoad() {
    super.viewDidLoad()
    
    interstitialAd = createAndLoadInterstitial()
}

func createAndLoadInterstitial() -> GADInterstitial {
    let interstitial = GADInterstitial(adUnitID: "YOUR_AD_UNIT_ID")
    interstitial.delegate = self
    interstitial.load(GADRequest())
    return interstitial
}

@IBAction func showAdButtonTapped(_ sender: UIButton) {
    if interstitialAd.isReady {
        interstitialAd.present(fromRootViewController: self)
    } else {
        print("Ad wasn't ready")
    }
}

// GADInterstitialDelegate 메서드 구현

func interstitialDidReceiveAd(_ ad: GADInterstitial) {
    print("Ad received")
}

func interstitial(_ ad: GADInterstitial, didFailToReceiveAdWithError error: GADRequestError) {
    print("Fail to receive ad: \(error.localizedDescription)")
}

func interstitialDidDismissScreen(_ ad: GADInterstitial) {
    interstitialAd = createAndLoadInterstitial()
} } ```

위 코드에서 “YOUR_AD_UNIT_ID” 부분을 이전에 확인한 AdMob 광고 단위 ID로 대체해야 한다.

광고 테스트하기

인앱 광고를 테스트하기 위해 다음의 단계를 따른다.

  1. AdMob 광고 유닛에서 “테스트 광고 표시” 스위치를 켠다.
  2. 앱을 빌드하여 시뮬레이터 또는 기기에 설치한다.
  3. 광고를 표시할 버튼이나 이벤트를 트리거한다.
  4. 광고가 표시되는지 확인한다.

정리

Swift에서 Firebase 인앱 광고를 구현하는 방법에 대해 알아보았다. Firebase와 AdMob을 프로젝트에 추가하고, 광고 유닛을 생성한 후에는 Swift 코드를 사용하여 광고를 표시할 수 있다. 이를 통해 앱의 수익을 극대화할 수 있다.

더 자세한 내용은 Firebase 공식 문서를 참조하기 바란다.