Bắt đầu

Hướng dẫn này dành cho những nhà xuất bản muốn kiếm tiền từ ứng dụng iOS thông qua AdMob và không sử dụng Firebase. Nếu bạn dự định đưa Firebase vào ứng dụng của mình (hoặc bạn đang cân nhắc việc đó), hãy xem phiên bản AdMob với Firebase của hướng dẫn này.

Bước đầu tiên để hiển thị quảng cáo và tạo doanh thu là tích hợp SDK Quảng cáo của Google trên thiết bị di động. Sau khi tích hợp SDK, bạn có thể tiếp tục triển khai một hoặc nhiều định dạng quảng cáo được hỗ trợ.

Điều kiện tiên quyết

  • Sử dụng Xcode 15.3 trở lên
  • Nhắm mục tiêu đến iOS 12.0 trở lên

Nhập SDK quảng cáo trên thiết bị di động

Sử dụng một trong các phương pháp sau để nhập SDK quảng cáo trên thiết bị di động của Google.

CocoaPods (ưu tiên)

Cách đơn giản nhất để nhập SDK vào một dự án iOS là sử dụng CocoaPods. Mở Podfile của dự án và thêm dòng này vào mục tiêu của ứng dụng:

pod 'Google-Mobile-Ads-SDK'

Sau đó, từ dòng lệnh, hãy chạy:

pod install --repo-update

Nếu bạn mới sử dụng CocoaPods, hãy xem tài liệu chính thức để biết thông tin về cách tạo và sử dụng Podfiles.

Trình quản lý gói Swift

SDK quảng cáo trên thiết bị di động của Google hỗ trợ Trình quản lý gói Swift kể từ phiên bản 9.0.0. Hãy làm theo các bước sau để nhập gói Swift:

  1. Trong Xcode, hãy cài đặt Gói Swift cho quảng cáo trên thiết bị di động của Google bằng cách chuyển đến Tệp > Thêm gói....

  2. Khi lời nhắc xuất hiện, hãy tìm kiếm kho lưu trữ GitHub về Gói Swift cho quảng cáo trên thiết bị di động của Google:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Chọn phiên bản của Gói Swift cho quảng cáo trên thiết bị di động của Google mà bạn muốn sử dụng. Đối với các dự án mới, bạn nên sử dụng tính năng Lên đến phiên bản lớn tiếp theo.

Khi bạn hoàn tất, Xcode sẽ bắt đầu phân giải các phần phụ thuộc của gói và tải các phần phụ thuộc đó xuống ở chế độ nền. Để biết thêm thông tin chi tiết về cách thêm các phần phụ thuộc của gói, hãy xem bài viết của Apple.

Tự tải xuống

  1. Tải SDK quảng cáo trên thiết bị di động của Google và Embed & Sign các khung sau xuống dự án Xcode của bạn:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Thêm cờ trình liên kết -ObjC vào Cờ trình liên kết khác trong chế độ cài đặt bản dựng của dự án:

Cập nhật tệp Info.plist

Cập nhật tệp Info.plist của ứng dụng để thêm hai khoá:

  1. Khoá GADApplicationIdentifier có giá trị chuỗi củaAdMob app ID found in the AdMob UI.

  2. Khoá SKAdNetworkItems có các giá trị SKAdNetworkIdentifier cho Google (cstr6suwn9.skadnetwork) và những người mua bên thứ ba chọn lọc đã cung cấp các giá trị này cho Google.

Đoạn mã hoàn chỉnh

<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>4pfyvq9l8r.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>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>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>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>n6fk4nfna4.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>eh6m2bh4zr.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>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ecpz2srf59.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>mlmmfzh3r3.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>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Nếu bạn chưa tạo tài khoản AdMobđăng ký ứng dụng, thì giờ là thời điểm thích hợp để thực hiện.

Trong một ứng dụng thực tế, hãy thay thế mã ứng dụng mẫu bằng mã ứng dụngAdMob thực tế của bạn. Bạn có thể sử dụng mã nhận dạng mẫu nếu chỉ đang thử nghiệm với SDK trong ứng dụng Hello World.

Chạy SDK quảng cáo trên thiết bị di động

Trước khi tải quảng cáo, hãy gọi phương thức startWithCompletionHandler: trên GADMobileAds.sharedInstance. Phương thức này sẽ khởi chạy SDK và gọi lại một trình xử lý hoàn thành sau khi chạy xong (hoặc sau thời gian chờ 30 giây). Bạn chỉ cần thực hiện việc này một lần, tốt nhất là khi bắt đầu chạy ứng dụng. Bạn nên gọi startWithCompletionHandler: càng sớm càng tốt.

Dưới đây là ví dụ về cách gọi phương thức startWithCompletionHandler: trong AppDelegate:

AppDelegate mẫu (phần trích dẫn)

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

Chọn định dạng quảng cáo

SDK quảng cáo trên thiết bị di động hiện đã được nhập và khởi chạy, đồng thời bạn đã sẵn sàng triển khai quảng cáo. AdMob cung cấp nhiều định dạng quảng cáo để bạn có thể chọn một định dạng phù hợp nhất với trải nghiệm người dùng của ứng dụng.

Đối với các nhà phát triển SwiftUI, hãy làm theo hướng dẫn về SwiftUI.

Đơn vị quảng cáo biểu ngữ hiển thị quảng cáo hình chữ nhật chiếm một phần bố cục của ứng dụng. Những quảng cáo này có thể tự động làm mới sau một khoảng thời gian nhất định. Điều này có nghĩa là người dùng sẽ xem quảng cáo mới theo định kỳ, ngay cả khi họ ở trên cùng một màn hình trong ứng dụng. Đây cũng là định dạng quảng cáo đơn giản nhất để triển khai.

Triển khai quảng cáo biểu ngữ

Quảng cáo xen kẽ

Đơn vị quảng cáo xen kẽ hiển thị quảng cáo toàn trang trong ứng dụng của bạn. Hãy đặt các quảng cáo này tại các điểm ngắt và chuyển tiếp tự nhiên trong giao diện của ứng dụng, chẳng hạn như sau khi hoàn thành cấp độ trong ứng dụng trò chơi.

Triển khai quảng cáo xen kẽ

Mã gốc

Quảng cáo gốc là quảng cáo mà bạn có thể tuỳ chỉnh cách các thành phần như dòng tiêu đề và lời kêu gọi hành động hiển thị trong ứng dụng. Bằng cách tự tạo kiểu cho quảng cáo, bạn có thể tạo bản trình bày quảng cáo tự nhiên, không phô trương và có thể làm phong phú trải nghiệm người dùng.

Triển khai quảng cáo gốc

Được thưởng

Đơn vị quảng cáo có tặng thưởng cho phép người dùng chơi trò chơi, thực hiện bản khảo sát hoặc xem video để nhận phần thưởng trong ứng dụng, chẳng hạn như tiền xu, thêm mạng hoặc điểm. Bạn có thể đặt các phần thưởng khác nhau cho các đơn vị quảng cáo khác nhau, đồng thời chỉ định giá trị phần thưởng và mục mà người dùng nhận được.

Triển khai quảng cáo có tặng thưởng

Quảng cáo xen kẽ có tặng thưởng

Quảng cáo xen kẽ có tặng thưởng là một loại định dạng quảng cáo có tặng thưởng mới, cho phép bạn cung cấp phần thưởng (chẳng hạn như tiền xu hoặc thêm mạng) cho những quảng cáo tự động xuất hiện tại các điểm chuyển tiếp tự nhiên của ứng dụng.

Không giống như quảng cáo có tặng thưởng, người dùng không bắt buộc phải chọn xem quảng cáo xen kẽ có tặng thưởng.

Thay vì hiển thị lời nhắc chọn xem trong quảng cáo có tặng thưởng, quảng cáo xen kẽ có tặng thưởng yêu cầu phải có màn hình giới thiệu thông báo về phần thưởng và cho phép người dùng chọn không xem nếu muốn.

Triển khai quảng cáo xen kẽ có tặng thưởng

Quảng cáo khi mở ứng dụng

Quảng cáo khi mở ứng dụng là một định dạng quảng cáo xuất hiện khi người dùng mở hoặc quay lại ứng dụng của bạn. Quảng cáo sẽ phủ lên màn hình tải.

Triển khai quảng cáo khi mở ứng dụng