開始使用

本指南的適用對象為想透過 AdMob 利用 iOS 應用程式營利,但未使用 Firebase 的發布商。如果您打算在應用程式中納入 Firebase (或您考慮這麼做),請參閱本指南的 AdMob 和 Firebase 版本。

將 Google Mobile Ads SDK 整合至應用程式,是顯示廣告和賺取收益的第一步。整合 SDK 後,您就可以繼續導入一或多個支援的廣告格式

必要條件

  • 使用 Xcode 13.2.1 以上版本
  • 指定 iOS 10.0 以上版本

匯入 Mobile Ads SDK

CocoaPods (偏好)

將 SDK 匯入 iOS 專案最簡單的方法就是使用 CocoaPods。開啟專案的 Podfile,然後將這一行新增至應用程式的目標:

pod 'Google-Mobile-Ads-SDK'

然後透過指令列執行:

pod install --repo-update

如果您是 CocoaPods 的新手,請參閱他們的 官方說明文件,瞭解如何建立及使用 Podfile。

Swift 套件管理員

Google Mobile Ads SDK 從 9.0.0 版開始支援 Swift Package Manager。請按照下列步驟匯入 Swift 套件。

  1. 在 Xcode 中前往「File > Add Packages...」,即可安裝 Google Mobile Ads Swift Package。

  2. 在提示訊息中,搜尋 Google Mobile Ads Swift Package GitHub 存放區:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. 選取要使用的 Google 行動廣告 Swift Package 版本。 對於新專案,建議您使用「Next to Next Major Version」

完成後,Xcode 就會開始解析套件依附元件,並在背景下載。如要進一步瞭解如何新增套件依附元件,請參閱Apple 的文章

手動下載

  1. 直接下載及解壓縮 SDK 架構,然後將下列架構匯入 Xcode 專案:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. 在專案的建構設定中,將 -ObjC 連接器標記新增至「Other Linker Flags」

更新 Info.plist

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

  1. 含有AdMob 應用程式 ID 字串值的 GADApplicationIdentifier 鍵 (位於AdMob 使用者介面中)。
  2. 含有 Google (cstr6suwn9.skadnetwork) 值的 SKAdNetworkIdentifier 金鑰的 SKAdNetworkItems 鍵,並選取其他向 Google 提供這些值的買家
<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>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>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>3sh42y64q3.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>prcb7njmu6.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>9rd848q2bz.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>n6fk4nfna4.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>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>av6w8kgt66.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>424m5254lk.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>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>3qcr597p9d.skadnetwork</string>
    </dict>
  </array>

如果您尚未建立 AdMob 帳戶註冊應用程式,現在正是最佳做法。

初始化 Mobile Ads SDK

載入廣告前,請呼叫 GADMobileAds.sharedInstance 上的 startWithCompletionHandler: 方法,該方法會初始化 SDK,並在初始化完成後 (或 30 秒逾時後) 回呼完成處理常式。這項操作只需要執行一次,最好在應用程式啟動時執行。您應該盡早呼叫 startWithCompletionHandler:

以下範例說明如何在 AppDelegate 中呼叫 startWithCompletionHandler: 方法:

AppDelegate.m 範例 (摘錄)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }

}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

使用中介服務時,建議您等到呼叫完成處理常式完成後再載入廣告,否則所有中介服務轉接程式都會初始化。

選取一個廣告格式

系統現在已匯入並初始化 Mobile Ads SDK,接著您就可以開始導入廣告。 AdMob 提供多種廣告格式,讓您選擇最符合應用程式使用者體驗的廣告格式。

顯示在裝置螢幕頂端或底部的矩形廣告。 橫幅廣告會在使用者與應用程式互動時保持顯示,且可在特定時間後自動重新整理。如果你剛開始使用行動廣告,不妨從這裡著手著手。

導入橫幅廣告

插入式檔案

這類全螢幕廣告會覆蓋應用程式介面,直到使用者關閉為止。 它們最適合在應用程式執行流程中的自然暫停階段,例如遊戲關卡之間或工作完成後。

導入插頁式廣告

原生

可自訂符合您應用程式外觀和風格的廣告。您可以決定廣告的位置和位置,讓版面配置與應用程式的設計更一致。

導入 Native Ads

已獲得獎勵

獎勵在使用者觀看短片並與可試玩廣告及問卷調查互動的廣告。適合透過免費遊戲使用者營利,

導入獎勵廣告 導入獎勵廣告 (新版 API)