-
구글 AdMob 연동하기 - 작업 전 설정/광고 2023. 11. 9. 02:54반응형
안녕하세요 아렉스입니다 !
AdMob을 사용하기 위해서는 계정이 필요합니다 !
https://admob.google.com/home/
Google AdMob: 모바일 앱 수익 창출
인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.
admob.google.com
앱 추가하기
최초로 만든 경우 홈 -> 시작하기
추가하는 경우 앱 -> 앱 추가하기
앱 추가를 하게 되면 플랫폼과 등록 여부, 앱 이름 등 몇가지 기본 사항만 작성하고 앱 추가 버튼을 눌러주면 아주 쉽게 추가됩니다.
공식문서 따라서 iOS 프로젝트에 추가하기
SDK, 라이브러리와 같은 외부종속성을 추가할 때는 공식문서를 기반으로 보는게 가장 정확하다고 생각합니다.
https://developers.google.com/admob/ios/quick-start?hl=ko
시작하기 | iOS | Google for Developers
기본 요건, 설정 세부정보, 광고 유형 개요 등 iOS용 SDK를 시작하는 방법을 알아보세요.
developers.google.com
Firebase도 함께 사용하는 경우의 공식문서
https://firebase.google.com/docs/admob/ios/quick-start?hl=ko
iOS 프로젝트에서 AdMob 시작하기 | Firebase with Google AdMob
Demo Day를 위해 일정을 비워두고 Firebase의 새로운 소식과 기능들을 확인해 보세요. 자세히 알아보기 의견 보내기 iOS 프로젝트에서 AdMob 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으
firebase.google.com
구글 문서를 보다보면 ,, 한글화도 되어있고 정말 쉽고 간단하게 설명해주곤 합니다.
코드예시는 시간이 지남에 따라,
문서를 작성한 시점과 문서를 보는 시점 SDK 버전에 따라서 코드가 에러날 수 있습니다.그럴 때는 공식문서로 가서 최신 가이드대로 따라하시면 해결될거에요
1. 종속성 추가
AdMob은 공식적으로, CocoaPods, SPM, 수동 다운로드를 지원합니다.
SPM은 미디에이션를 지원하지않는다고합니다.
pod 'Google-Mobile-Ads-SDK' https://github.com/googleads/swift-package-manager-google-mobile-ads.git // Up to Next Major Version 권장
2. 타겟 빌드 설정에 Other Linker Flags에 -ObjC 추가
제가 -Objc라고 C를 소문자로 썻다가 에러를 만났어요 ..^^; 다들 조심 하세요 !!
3. info.plist 항목 추가
GADApplicationIdentifier 에 App ID 등록
*(필요시) SKAdNetworkItems 에 광고 추가
XML 예시
더보기<key>GADApplicationIdentifier</key> <string>ca-app-pub-3940256099942544~1458002511</string> <key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4fzdc2evr5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4pfyvq9l8r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2fnua5tdw4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ydx93a7ass.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>5a6flpkh64.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>p78axxw29g.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v72qych5uu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ludvb6z3bs.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>cp8zw746q7.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3sh42y64q3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c6k4g5qg8m.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>s39g8k73mm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qy4746246.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>f38h382jlk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>hs6bdukanm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>yclnxrl5pm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>t38b2kh725.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>7ug5zh24hu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>gta9lk7p23.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>vutu7akeur.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>y5ghdn5j9k.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n6fk4nfna4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v9wttpbfk9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n38lu8286q.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>47vhws6wlr.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbd757ywx3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>9t245vhmpl.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>eh6m2bh4zr.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>a2p9lx4jpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>22mmun2rn5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4468km3ulz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2u9pt9hc89.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8s468mfl3y.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>klf5c3l5u5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ppxm28t8ap.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ecpz2srf59.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>pwa73g5rt2.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>578prtvx9j.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4dzt52r2t5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>e5fvkxwrpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8c4e2ghe7u.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>zq492l623r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
4. 앱 실행시 SDK 초기화
이 작업은 앱 실행 시 한 번만 처리하면 됩니다.
startWithCompletionHandler:를 가능한 한 빨리 호출해야 합니다.
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
5. 광고 형식에 따라 구현
대략적인 수익 순서
배너 < 전면 광고 < 보상형 광고
+ IDFA 수집시 수익 증가 예상만약 따라했는데 아래와 같은 에러가 발생한다면
info.plist GADApplicationIdentifier 확인, Other Linker Flags가 올바르게 -ObjC 기입하셨는지 확인해보세요 !
보상형 광고 구현 사이트가 error로 인해 접속이 힘들다면 !
아래 블로그 글을 참고해주세요
구글 AdMob 보상형 광고 구현하기
안녕하세요 아렉스입니다. 오늘은 구글 광고 종류 중에서 AdMob 보상형 광고 구현에 대해서 공유드립니다. 공식문서가 그렇게 잘 되어있는데.. ! 왜 작성하냐면요,, https://developers.google.com/admob/ios/r
plcprogrammer-dy.tistory.com
' > 광고' 카테고리의 다른 글
구글 AdMob 보상형 광고 구현하기 (0) 2023.11.28