Bắt đầu

Bước đầu tiên để hiển thị quảng cáo và kiếm doanh thu là tích hợp SDK Quảng cáo của Google trên thiết bị di động vào ứng dụng. Sau khi tích hợp SDK, bạn có thể hãy tiến hành 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 đế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 của Google trên thiết bị di động.

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. Đang mở cửa 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 Podfile.

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

SDK Quảng cáo của Google trên thiết bị di động hỗ trợ Gói Swift Manager kể từ phiên bản 9.0.0. Làm theo các bước sau các bước để nhập gói Swift:

  1. Trong Xcode, hãy cài đặt Gói Swift 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 thông báo xuất hiện, hãy tìm gói Swift cho quảng cáo trên thiết bị di động của Google Kho lưu trữ GitHub:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Chọn phiên bản của Gói Swift 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 phiên bản Up to Next Major Version (Lên phiên bản lớn tiếp theo).

Sau 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 chúng xuống trong nền. Để biết thêm chi tiết về cách thêm gói phần phụ thuộc, hãy xem bài viết của Apple.

Tải xuống theo cách thủ công

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

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Trong phần cài đặt bản dựng của dự án:

    • Thêm đường dẫn /usr/lib/swift vào Runpath Search Path (Đường dẫn tìm kiếm Runpath).
    • Thêm cờ trình liên kết -ObjC vào Cờ trình liên kết khác.

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 là Ad Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Khoá SKAdNetworkItems có giá trị SKAdNetworkIdentifier cho Google (cstr6suwn9.skadnetwork) và một số người mua bên thứ ba đã 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>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>

Để có hiệu suất khởi chạy tối ưu, điều quan trọng là bạn phải liên kết lợi nhuận các nhóm có ứng dụng cụ thể mà chúng được sử dụng trong đó. Cấu hình nhóm lợi nhuận nhắm mục tiêu iOS và không được liên kết với bất kỳ ứng dụng cụ thể nào sẽ được gửi đến tất cả iOS trong tài khoản của bạn, có thể làm kéo dài thời gian cần thiết để khởi chạy.

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

Khởi 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. Lệnh gọi 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 quá trình khởi chạy hoàn tất (hoặc sau khi hết thời gian chờ 30 giây). Bạn chỉ cần nhập thực hiện một lần, tốt nhất là khi khởi 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 của bạn:

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. Ad Manager cung cấp nhiều định dạng quảng cáo, vì vậy, 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 nhà phát triển SwiftUI, hãy làm theo SwiftUI của chúng tôi hướng dẫn.

Đơ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 của bạn. 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 xem một quảng cáo mới đều đặn, ngay cả khi họ không thay đổi trong ứng dụng của bạn. Đây cũng là định dạng quảng cáo triển khai đơn giản nhất.

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. Đặt chúng ở vị trí tự nhiên điểm ngắt và chuyển tiếp trong giao diện của ứng dụng, chẳng hạn như sau khi hoàn thành cấp độ trong một ứ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 thức 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 của bạn. Bằng cách tự tạo kiểu cho quảng cáo, bạn có thể tạo bố cục 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.

Google Ad Manager cung cấp hai cách để triển khai quảng cáo gốc: kiểu gốc và quảng cáo gốc chuẩn thông qua hiển thị tuỳ chỉnh.

Kiểu gốc đã được thiết kế để đơn giản hoá việc triển khai quảng cáo gốc, và đó là lựa chọn tuyệt vời nếu bạn mới sử dụng định dạng này. Tính năng hiển thị tuỳ chỉnh nhằm tối đa hoá sự thoải mái khi bạn tạo bản trình bày.

Triển khai kiểu gốc Triển khai quảng cáo gốc (hiển thị tuỳ chỉnh)

Đượ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 các cuộc khảo sát hoặc xem video để nhận phần thưởng trong ứng dụng, chẳng hạn như 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, cũng như chỉ định giá trị phần thưởng và vật phẩm 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ó trả thưởng mới cho phép bạn tặng 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 trong quá trình chuyển đổi ứng dụng tự nhiên.

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 có tặng thưởng quảng cáo xen kẽ.

Thay vì đưa ra 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 cần có màn hình giới thiệu công bố phần thưởng và cho phép người dùng chọn không tham gia họ muốn làm như vậy.

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 này sẽ phủ lên màn hình đang tải.

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