開始使用

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

將 Google Mobile Ads SDK 整合到應用程式中, 來顯示廣告及賺取收益整合 SDK 後 繼續導入一或多個 支援的廣告格式

必要條件

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

匯入 Mobile Ads SDK

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

CocoaPods (建議)

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

pod 'Google-Mobile-Ads-SDK'

接著,從指令列執行下列指令:

pod install --repo-update

如果是 CocoaPods 新手,請參閱 詳情請參閱官方文件。 說明如何建立及使用 Podfiles

Swift 套件管理工具

Google Mobile Ads SDK 支援 Swift 套件 Manager (自版本 9.0.0 起)。請按照這些 匯入 Swift 套件的步驟:

  1. 在 Xcode 中,前往以下網址安裝 Google 行動廣告 Swift 套件: 檔案 >新增套件...

  2. 在隨即顯示的提示中,搜尋「Google 行動廣告 Swift Package」 GitHub 存放區:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. 選取您想要使用的 Google 行動廣告 Swift 套件版本。 如要建立新專案,建議您使用直到下一個主要版本

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

手動下載

  1. 下載 Google Mobile Ads SDK 和 Embed & Sign 以下框架至 Xcode 專案:

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

    • /usr/lib/swift 路徑新增至「Runpath Search Paths」(執行路徑搜尋路徑)
    • -ObjC 連結器標記新增至「Other Linker Flags」(其他連接器旗標)

更新 Info.plist

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

  1. GADApplicationIdentifier鍵,其中包含 AdMob app ID found in the AdMob UI

  2. 包含 SKAdNetworkIdentifier 值的 SKAdNetworkItems 鍵,用於 Google (cstr6suwn9.skadnetwork) 和 特定第三方買方 向 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>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>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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

如果您尚未建立 AdMob 帳戶註冊 那麼

在實際應用程式中,請將範例應用程式 ID 替換為實際的AdMob 應用程式 ID。如果下列情況,您可以使用範例 ID 您只是在 Hello World 應用程式中用 SDK 進行實驗。

初始化 Mobile Ads 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

選取廣告格式

Mobile Ads SDK 現已匯入和初始化完成,您隨時可以開始 導入廣告。 AdMob 提供多種 因此您能根據應用程式使用者的需求,選擇最合適的廣告格式 無須專人管理

SwiftUI 開發人員請參閱 SwiftUI 指南

橫幅廣告單元會佔用應用程式的部分區域來顯示矩形廣告 版面配置。而且會經過一段時間後自動重新整理。也就是說 使用者每隔一段時間就會看見新廣告 套用適當工具這種廣告格式的導入方式最簡單。

導入橫幅廣告

插頁式

插頁式廣告單元會在您應用程式中顯示全頁廣告。自然地展示 例如應用程式介面的破關和轉場效果 看看如何製作新的遊戲廣告

導入插頁式廣告

原生

原生廣告可讓您自訂應用程式中廣告標題和行動號召等素材資源的呈現方式。自行設定廣告樣式 製作不會突兀的自然廣告簡報,並加入內容豐富的使用者 無須專人管理

導入原生廣告

已獲得獎勵

獎勵廣告單元可讓使用者玩遊戲、參加問卷調查或觀看影片 獲得應用程式內獎勵,例如金幣、額外生命或點數。您可以設定 為不同的廣告單元提供不同的獎勵,並指定獎勵價值 使用者收到的項目

導入獎勵廣告

插頁式獎勵廣告

插頁式獎勵廣告是一種全新的獎勵廣告格式 透過自動顯示的廣告提供獎勵,例如金幣或額外生命 在應用程式自然轉換點中運作時

與獎勵廣告不同的是,使用者不需要選擇觀看獎勵廣告 插頁式廣告。

在獎勵廣告中不會顯示選擇觀看提示,插頁式獎勵廣告並不會顯示 說明獎勵的簡介畫面,並讓使用者選擇是否要 自己想要做的事

導入插頁式獎勵廣告

應用程式開啟頁面廣告

應用程式開啟頁面廣告是一種廣告格式,會在使用者開啟或切換回應用程式時顯示 應用程式。廣告會重疊在載入畫面。

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