如要放送廣告並賺取收益,請將 Google Mobile Ads SDK 整合至 iOS 應用程式。如要準備專案,請先匯入並初始化 Google Mobile Ads SDK,再請求廣告。
本指南說明如何匯入及初始化 Google Mobile Ads SDK,以及選取廣告格式。
必要條件
繼續操作前,請確認以下事項:
- 使用 Xcode 16.0 以上版本。
- 指定 iOS 13.0 以上版本。
匯入 Google Mobile Ads SDK
如要匯入 Google Mobile Ads SDK,請完成下列任一節:
Swift Package Manager
請按照下列步驟,在專案新增套件依附元件:
- 開啟 Xcode。
- 依序前往「File」>「Add Package Dependencies…」。
安裝 Google Mobile Ads SDK Swift Package。
在出現的提示詞框,搜尋「Google Mobile Ads Swift Package GitHub repository」:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git選取要採用的 Google Mobile Ads SDK Swift Package 版本。 新專案建議使用「Up to Next Major Version」。
CocoaPods
請按照下列步驟使用 CocoaPods:
開啟專案的 Podfile,將這行程式碼新增至應用程式的
target建構設定:pod 'Google-Mobile-Ads-SDK'
在終端機執行:
pod install --repo-update
手動下載
如要手動下載 Google Mobile Ads SDK,請按照下列步驟操作:
- 下載 Google Mobile Ads SDK。
- 解壓縮
googlemobileadssdkios.zip套件。 在 Xcode 專案中,新增下列框架:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
在目標的「General」設定中,前往「Frameworks, Libraries, and Embedded Content」。
確認已將
GoogleMobileAds.xcframework和UserMessagingPlatform.xcframework設為「Embed & Sign」。在專案的建構設定中,執行下列操作:
- 將
/usr/lib/swift路徑新增至「Runpath Search Paths」。 - 將
-ObjC連接器標記新增至「Other Linker Flags」。
- 將
更新 Info.plist 檔案
在應用程式的 Info.plist 檔案中,新增下列鍵:
GADApplicationIdentifier鍵,字串值為 Ad Manager 應用程式 ID (可在 Ad Manager 使用者介面中找到),且格式為ca-app-pub-################~##########。SKAdNetworkItems鍵。這個鍵包含 Googlecstr6suwn9.skadnetwork和特定第三方買家的SKAdNetworkIdentifier值。
完整範例
<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</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>2fnua5tdw4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ydx93a7ass.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>wg4vff78zm.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>mlmmfzh3r3.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>su67r6k2v3.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>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>a2p9lx4jpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>22mmun2rn5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>44jx6755aq.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>k674qkevps.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>kbmxgpxpgc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.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>tl55sbb4fm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c3frkrj4fj.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>3rd42ekr43.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>97r2b46745.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qcr597p9d.skadnetwork</string>
</dict>
</array>將 SAMPLE_APP_ID 替換為您的 Ad Manager 應用程式 ID。測試時,請使用前一個範例中的範例應用程式 ID。
為加快應用程式初始化速度,請將收益群組連結至特定應用程式。 如果收益群組指定 iOS,但未連結至應用程式,Google 會將該群組傳送至帳戶中的所有 iOS 應用程式。這種做法可能會降低效能。
初始化 Google Mobile Ads SDK
載入廣告前,請先呼叫 GADMobileAds.sharedInstance 屬性的 start() 方法,初始化 Google Mobile Ads SDK。這個方法會在 Google Mobile Ads SDK 和中介服務轉接程式處理完畢後 (或 30 秒後),呼叫完成處理常式。
以下範例會初始化 Google Mobile Ads SDK:
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
初始化時,Google Mobile Ads SDK 可能會在呼叫 startWithCompletionHandler: 方法時預先載入廣告或初始化第三方 SDK。如需取得歐洲經濟區 (EEA)、英國或瑞士境內使用者的同意聲明,請設定請求專屬標記。如需設定請求專屬標記,請務必在初始化 Google Mobile Ads SDK 前完成。詳情請參閱「指定目標」。
選取廣告格式
匯入 Google Mobile Ads SDK 後,即可選取要導入的廣告格式。
Ad Manager 提供下列廣告格式:
| 廣告格式 | 說明 | 說明文件 |
|---|---|---|
| 橫幅 | 在應用程式版面配置的某個部分顯示矩形廣告。這則廣告會按照設定的時間間隔自動重新整理。使用者停留在同一個畫面時,會定期看到這類廣告。 | 設定橫幅廣告 |
| 插頁式廣告 | 在應用程式中顯示全版廣告。請將這類廣告放置在應用程式介面的自然中斷點和轉換點,例如遊戲應用程式過關後。 | 插頁式廣告 |
| 原生 | 可自訂應用程式中的素材資源,例如廣告標題和行動號召。自訂廣告時,您可以依據應用程式的視覺設計製作廣告。 | 載入原生廣告 |
| 獎勵廣告 | 使用者可以透過玩遊戲、填寫問卷調查或觀看影片,賺取遊戲金幣或點數等應用程式內獎勵。您可以為廣告單元設定獎勵,並指定使用者可獲得的獎勵價值和道具。 | 獎勵廣告 |
| 插頁式獎勵廣告 | 您可在應用程式轉換時顯示這類廣告,向使用者提供獎勵,例如遊戲金幣或額外生命。 | 插頁式獎勵廣告 |
| 應用程式開啟頁面廣告 | 在使用者開啟或切換回應用程式時顯示。廣告會疊在載入畫面上。 | 應用程式開啟頁面廣告 |