開始使用

選取平台: Android iOS Unity Flutter

本指南適用於想透過 AdMob 營利,但未使用 Firebase 的 iOS 應用程式發布商。如果您打算在應用程式中加入 Firebase (或正在考慮),請改為參閱這份指南的 AdMob 與 Firebase 版本

在應用程式中整合 Google Mobile Ads SDK,是顯示廣告並賺取收益的第一步。整合完畢後,即可開始導入一或多種支援的廣告格式

必要條件

  • 使用 Xcode 16.0 以上版本
  • 指定 iOS 12.0 以上版本

匯入 Mobile Ads SDK

請使用下列其中一種方法匯入 Google Mobile Ads SDK。

Swift Package Manager

如要在專案中新增套件依附元件,請按照下列步驟操作:

  1. 在 Xcode 中,依序前往「File」>「Add Package Dependencies...」,安裝 Google 行動廣告 Swift Package。

  2. 在隨即顯示的提示中,搜尋 Google Mobile Ads Swift Package GitHub 存放區:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. 選取要使用的 Google Mobile Ads Swift 套件版本。 對於新專案,建議使用「Up to Next Major Version」

CocoaPods

繼續操作前,請先參閱「使用 CocoaPods」,瞭解如何建立及使用 Podfile。

如要使用 CocoaPods,請按照下列步驟操作:

  1. 開啟專案的 Podfile,然後將這行程式碼新增至應用程式的 target 建構設定:

    pod 'Google-Mobile-Ads-SDK'
  2. 在終端機中執行:

    pod install --repo-update

手動下載

  1. 下載 Google Mobile Ads SDK,並將下列架構加入 Xcode 專案:Embed & Sign

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. 在專案的建構設定中:

    • /usr/lib/swift 路徑新增至「Runpath Search Paths」
    • -ObjC 連接器旗標新增至「Other Linker Flags」

更新 Info.plist

更新應用程式的 Info.plist 檔案,新增兩個金鑰:

  1. GADApplicationIdentifier 鍵,字串值為在 AdMob 使用者介面中找到的 AdMob 應用程式 ID。

  2. SKAdNetworkItems 鍵,其中包含 Google (cstr6suwn9.skadnetwork) 和已向 Google 提供這些值的特定第三方買家的值。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>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 帳戶註冊應用程式,現在正是好時機。

初始化 Mobile Ads SDK

載入廣告前,請先對 GADMobileAds.sharedInstance 呼叫 start() 方法,初始化 SDK,並在初始化完成後 (或 30 秒逾時後) 回呼完成處理常式。建議盡早呼叫 start()

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];

選取廣告格式

Mobile Ads SDK 現在已匯入並完成初始化,您可以開始導入廣告。AdMob 提供多種廣告格式,您可以根據應用程式的使用者體驗,選擇最適合的格式。

橫幅廣告單元會占用應用程式的部分版面來顯示矩形廣告,且會固定在一段時間後自動重新整理。也就是說,即使使用者一直停留在應用程式的同一個畫面,每隔一段時間還是能看見新的廣告。這也是導入方式最簡單的廣告格式。

導入橫幅廣告

插頁式

您可以將插頁式廣告單元安插至使用者操作應用程式的空檔或轉換點 (例如通過遊戲應用程式關卡後),在應用程式介面上顯示全版廣告。

導入插頁式廣告

原生

您可利用原生廣告,自訂應用程式中顯示廣告標題、行動號召等素材資源的方式。藉由自行設定廣告樣式,您就能以自然、不突兀的方式呈現廣告,打造豐富的使用者體驗。

導入原生廣告

已獲得獎勵

啟用獎勵廣告單元,使用者就能透過玩遊戲、參加問卷調查或觀看影片等方式,贏得應用程式內獎勵,例如金幣、額外生命值或積分。您可以為不同的廣告單元設定不同的獎勵,並指定使用者獲得的獎勵價值和道具。

導入獎勵廣告

插頁式獎勵廣告

插頁式獎勵廣告是全新的獎勵廣告格式,您可以在應用程式自然轉換時自動顯示這類廣告,向使用者發放錢幣或額外生命等獎勵。

與獎勵廣告不同的是,插頁式獎勵廣告不需等使用者選擇觀看即可放送。

獎勵廣告會顯示選擇觀看的提示,插頁式獎勵廣告則是顯示獎勵簡介畫面,使用者可選擇不觀看廣告。

導入插頁式獎勵廣告

應用程式開啟頁面廣告

「應用程式開啟頁面廣告」這種格式會在使用者開啟或切換回應用程式時顯示。廣告會疊在載入畫面上。

導入應用程式開啟頁面廣告