iOS/swift

23. [iOS/Swift] AdMob banner(배너) 광고 구현하기

drizzle0925 2021. 12. 3. 17:01
728x90

배너 광고 구현하기

 

BannerAd라는 프로젝트를 생성합니다.

 

cocopods이 필요하므로 터미널을 열어 프로젝트를 설치한 폴더로 이동합니다.

코코팟 설치가 아직이라면 아래 링크를 참고해주세요.

https://like-a-drizzle.tistory.com/123

 

07. [iOS/Swift] CocoaPods과 Pod install 방법

CocoaPods 이란? CocoaPods는 Swift 및 Objective-C Cocoa 프로젝트의 종속성 관리자이다. 프로젝트에 필요한 라이브러리를 CocoaPod을 통해 쉽게 관리하고 사용할 수 있다. CocoaPods 설치 맥에서 터미널을 실행.

like-a-drizzle.tistory.com

 

아래 명령어를 입력하여 코코팟을 초기화합니다.

pod init

 

 

Podfile이 생성된 모습입니다.

 

Podfile을 수정하기 위해 엽니다.

open Podfile

 

다음 코드를 추가하고 파일을 저장합니다.

pod 'Google-Mobile-Ads-SDK'

 

파일을 저장했다면 터미널로 돌아와서 아래 명령어를 입력합니다.

pod install

 

정상적으로 진행되는 분은 이 부분은 건너뛰어도 됩니다. 혹시 에러가 발생했는데 M1칩셋을 사용하는 분들이라면 이 글을 참고해주세요.

 

 

오류가 발생했을 때 M1을 사용하시는 분이시라면 아래 명령어를 입력해보세요

arch -x86_64 pod install --repo-update

 

정상적으로 설치되었습니다.

 

.xcworkspace로 된 파일을 xcode로 엽니다.

 

프로젝트를 열었다면 ViewController로 이동합니다.

 

구글 AdMob 사이트로 이동합니다.

https://admob.google.com/ 

 

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com

 

구글 계정으로 로그인하신 뒤 앱 > 앱 추가를 클릭합니다.

 

플랫폼 > iOS를 선택

지원도는 앱 스토어에 앱이 등록되어 있나요? > 있다면 예, 없다면 아니요를 선택하고 계속을 클릭합니다.

 

앱 이름을 작성하고 앱 추가를 클릭합니다.

 

완료를 클릭합니다.

 

앱 설정을 누르면 앱 ID를 확인할 수 있습니다. 나중에 필요하므로 메모하거나 이 위치를 기억해 둡니다!

 

 

xcode로 다시 돌아옵니다.

AppDelegate 파일을 엽니다.

 

아래 코드를 추가합니다.

import GoogleMobileAds

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
    GADMobileAds.sharedInstance().start(completionHandler: nil)
        
    return true
}

 

그러고 나서 앱을 실행하면 충돌이 발생합니다. google의 광고 식별자를 찾을 수 없기 때문입니다.

앱 아이디를 식별하도록 앱 아이디를 넣어줘야 합니다.

위에서 메모한 앱 아이디를 info 파일에 추가합니다.

 

info 오른쪽 클릭 > Open As > Source Code를 클릭합니다.

 

아래 코드를 추가해줍니다.

<key>GADApplicationIdentifier</key>
<string>앱 ID</string>

 

앱을 다시 실행해보면 충돌하지 않고 제대로 실행되는 것을 확인할 수 있습니다.

 


배너 광고 생성

배너 광고를 등록하기 위해서는 배너 광고를 생성해야 됩니다. 구글 애드몹 사이트로 이동합니다.

오른쪽 메뉴 > 광고 단위 > 시작하기 클릭

 

배너를 선택

 

광고 단위 이름을 작성 > 광고 단위 만들기 클릭

 

1번과 2번에 있는 아이디를 기억합니다.

완료를 누릅니다.

 

xcode의 ViewController로 이동합니다.

 

아래 코드를 입력합니다.

adUnitID는 테스트 아이디를 입력했습니다. (서비스 운영전에 실제 아이디를 등록해서 심사에 넣으면 됩니다.)

import UIKit
import GoogleMobileAds

class ViewController: UIViewController {
    
    private let banner: GADBannerView = {
        let banner = GADBannerView()
        banner.adUnitID = "ca-app-pub-3940256099942544/2934735716"
        banner.load(GADRequest())
        banner.backgroundColor = .secondarySystemBackground
        return banner
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        banner.rootViewController = self
        view.addSubview(banner)
    }

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        banner.frame = CGRect(x: 0, y: view.frame.size.height-50, width: view.frame.size.width, height: 50).integral
    }

}

 

결과물

 

 

AdMob의 테스트 아이디는 아래 사이트에서 확인하면 됩니다.

https://developers.google.com/admob/ios/test-ads?hl=ko 

 

테스트 광고 사용 설정  |  iOS  |  Google Developers

테스트 광고 사용 설정 이 가이드에는 광고 통합 과정에서 테스트 광고를 수신하는 방법이 나와 있습니다. 개발 중에는 테스트 광고를 사용하여 광고를 클릭해도 Google 광고주에게 비용이 청구

developers.google.com

 

728x90