Google 모바일 광고 SDK를 앱에 통합하는 것은 광고 게재 및 수익 창출 SDK를 통합한 후에는 하나 이상의 지원되는 광고 형식을 사용합니다.
기본 요건
- Xcode 15.3 이상 사용
- iOS 12.0 이상 타겟팅
모바일 광고 SDK 가져오기
다음 방법 중 하나를 사용하여 Google 모바일 광고 SDK를 가져옵니다.
CocoaPods (권장)
SDK를 iOS 프로젝트로 가져오는 가장 간단한 방법은 CocoaPods 열기 프로젝트의 Podfile에 추가하고 다음 행을 앱의 타겟에 추가하세요.
pod 'Google-Mobile-Ads-SDK'
그런 다음 명령줄에서 다음을 실행합니다.
pod install --repo-update
CocoaPods를 처음 사용하는 경우에는 자세한 내용은 공식 문서를 참고하세요. 가이드를 마치겠습니다
Swift Package Manager
Google 모바일 광고 SDK에서 Swift 패키지 지원 Manager를 사용할 수 있습니다. 팔로우하기 Swift 패키지를 가져오는 단계는 다음과 같습니다.
Xcode에서 파일 > 패키지 추가...를 클릭합니다.
메시지가 표시되면 Google 모바일 광고 Swift 패키지를 검색합니다. GitHub 저장소:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
사용할 Google 모바일 광고 Swift 패키지의 버전을 선택합니다. 새 프로젝트의 경우 Up to Next Major Version(최대 다음 메이저 버전)을 사용하는 것이 좋습니다.
완료되면 Xcode가 패키지 종속 항목 확인을 시작하고 백그라운드에서 다운로드될 수 있습니다. 패키지 추가 방법에 관한 자세한 내용은 Apple의 도움말을 참조하세요.
수동 다운로드
Google 모바일 광고 SDK 다운로드 다음 프레임워크를 Xcode 프로젝트에
Embed & Sign
합니다.GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
프로젝트의 Other Linker Flags에
-ObjC
링커 플래그를 추가합니다. 빌드 설정:
Info.plist 업데이트
앱의 Info.plist
파일을 업데이트하여 두 개의 키를 추가합니다.
문자열 값이 있는
GADApplicationIdentifier
키 Ad Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
입니다.Google용
SKAdNetworkIdentifier
값이 있는SKAdNetworkItems
키 (cstr6suwn9.skadnetwork
) 및 일부 서드 파티 구매자 맡게 되어 있습니다
전체 스니펫
<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>
초기화 성능을 최적화하려면 수익을 그룹을 만들 수 있습니다. 수익 그룹 구성 특정 앱과 연결되지 않은 사용자가 iOS를 타겟팅하는 모든 iOS 앱이 초기화되어 초기화하는 데 필요한 시간이 늘어날 수 있습니다.
실제 앱에서는 샘플 앱 ID를 실제 앱 ID로 Ad Manager 앱 ID입니다. 다음과 같은 경우에 샘플 ID를 사용할 수 있습니다. Hello World 앱에서 SDK를 사용해 보고 있습니다
모바일 광고 SDK 초기화
광고를 로드하기 전에startWithCompletionHandler:
GADMobileAds.sharedInstance
님,
SDK를 초기화하고 완료 핸들러를 한 번 다시 호출합니다.
초기화가 완료된 경우 (또는 30초의 제한 시간 후) 이 작업은
한 번 실행하는 것이 좋으며 앱 실행 시 하는 것이 가장 좋습니다. startWithCompletionHandler:
를 호출해야 합니다.
가능한 한 빨리
다음은 startWithCompletionHandler:
메서드를 호출하는 방법의 예입니다.
내 AppDelegate
:
AppDelegate 예시 (발췌)
Swift
import GoogleMobileAds
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
SwiftUI
import GoogleMobileAds
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
@main
struct YourApp: App {
// To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
// you must create an application delegate and attach it to your `App` struct
// using `UIApplicationDelegateAdaptor`.
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
NavigationView {
ContentView()
}
}
}
}
Objective-C
@import GoogleMobileAds;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
return YES;
}
@end
광고 형식 선택
이제 모바일 광고 SDK를 가져와서 초기화했으므로 여러 가지 옵션을 제공합니다. Ad Manager 앱 사용자에게 가장 적합한 형식을 선택할 수 있습니다 경험해 볼 수 있습니다
SwiftUI 개발자의 경우 SwiftUI 가이드를 참조하세요.
배너
배너 광고 단위에는 앱 화면의 일부분을 차지하는 있습니다. 일정 시간이 지나면 자동으로 새로고침될 수 있습니다. 다시 말해 사용자가 동일한 콘텐츠를 유지하더라도 일정한 간격으로 새 광고를 봅니다. 화면에 나타납니다. 또한 구현하기 가장 간단한 광고 형식이기도 합니다.
전면 광고
전면 광고 단위는 앱에서 전체 페이지 광고를 게재합니다. 자연스러운 장소에 배치하세요. 앱 인터페이스에서 중단 및 전환(예: 레벨 완료 후) 광고를 게재하는 것입니다.
네이티브
네이티브 광고는 광고 제목, 텍스트, 이미지 등 앱에 표시되는 것을 확인할 수 있습니다 광고 스타일을 직접 지정하여 풍부한 사용자의 관심을 유도할 수 있는 자연스럽고 눈에 거슬리지 않는 광고 프레젠테이션을 만듭니다. 경험해 볼 수 있습니다
Google Ad Manager에서는 두 가지 방법으로 네이티브 광고를 구현할 수 있습니다. 표준 네이티브 광고를 게재할 수 있습니다.
네이티브 스타일은 네이티브 광고의 구현을 간소화하기 위해 이 형식을 처음 접하는 경우 좋은 선택이 될 것입니다 맞춤 렌더링은 를 사용하면 프레젠테이션을 최대한 자유롭게 만들 수 있습니다.
네이티브 스타일 구현 네이티브 광고 구현 (맞춤 렌더링)
리워드 제공됨
보상형 광고 단위를 사용하면 사용자가 코인, 생명 추가 생명, 포인트 등의 인앱 리워드 적립 다음과 같이 설정할 수 있습니다. 광고 단위별로 보상을 다르게 하고, 보상 가치 및 사용자가 받은 상품
보상형 전면 광고
보상형 전면 광고는 새로운 유형의 인센티브형 광고 형식으로 자동으로 게재되는 광고에 코인이나 추가 생명과 같은 리워드를 제공하세요. 앱 전환 중에 발생합니다.
보상형 광고와 달리 사용자는 수신 동의하지 않고도 보상형 동영상 광고를 전면 광고에 사용됩니다.
보상형 전면 광고를 사용하려면 보상형 광고에서 선택 메시지 대신 리워드를 공지하고 다음 경우에 사용자에게 선택 해제할 수 있는 인트로 화면 그렇게 하기를 원합니다.
앱 오프닝 광고
앱 오프닝 광고는 사용자가 앱을 열거나 앱으로 다시 전환할 때 표시되는 광고 형식입니다. 있습니다. 광고가 로드 화면 위에 오버레이됩니다.