如要放送廣告並賺取收益,請將 Google Mobile Ads SDK 整合至 iOS 應用程式。如要準備專案,請先匯入並初始化 Google Mobile Ads SDK,再請求廣告。
如果 iOS 應用程式包含 Firebase,請參閱「在 iOS 專案中開始使用 AdMob」。
本指南說明如何匯入及初始化 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鍵,字串值是 AdMob 營利應用程式 ID。詳情請參閱「 找出並複製應用程式 ID 或廣告單元 ID 」。SKAdNetworkItems鍵。這個鍵包含 Googlecstr6suwn9.skadnetwork和特定第三方買家的SKAdNetworkIdentifier值。
完整範例
<key>GADApplicationIdentifier</key>
<!-- Sample AdMob 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 替換為 AdMob 營利應用程式 ID。測試時,請使用先前示例中的範例應用程式 ID。
如果您尚未建立 AdMob 帳戶及註冊應用程式,建議現在完成。
初始化 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 後,即可選取要導入的廣告格式。
AdMob 提供下列廣告格式:
| 廣告格式 | 說明 | 說明文件 |
|---|---|---|
| 橫幅 | 在應用程式版面配置的某個部分顯示矩形廣告。這則廣告會按照設定的時間間隔自動重新整理。使用者停留在同一個畫面時,會定期看到這類廣告。 | 設定橫幅廣告 |
| 插頁式廣告 | 在應用程式中顯示全版廣告。請將這類廣告放置在應用程式介面的自然中斷點和轉換點,例如遊戲應用程式過關後。 | 插頁式廣告 |
| 原生 | 可讓您自訂應用程式中的素材資源,例如廣告標題和行動號召。自訂廣告時,您可以依據應用程式的視覺設計製作廣告。 | 載入原生廣告 |
| 獎勵廣告 | 使用者可以透過玩遊戲、填寫問卷調查或觀看影片,賺取遊戲金幣或點數等應用程式內獎勵。您可以為廣告單元設定獎勵,並指定使用者可獲得的獎勵價值和道具。 | 獎勵廣告 |
| 插頁式獎勵廣告 | 這類廣告可在應用程式轉換時顯示,向使用者提供錢幣或額外生命等獎勵。 | 插頁式獎勵廣告 |
| 應用程式開啟頁面廣告 | 在使用者開啟或切換回應用程式時顯示。廣告會疊在載入畫面上。 | 應用程式開啟頁面廣告 |