Để phân phát quảng cáo và kiếm doanh thu, hãy tích hợp Google Mobile Ads SDK vào ứng dụng iOS của bạn. Để chuẩn bị dự án, hãy nhập và khởi chạy Google Mobile Ads SDK trước khi yêu cầu quảng cáo.
Nếu bạn đưa Firebase vào ứng dụng iOS, hãy xem bài viết Bắt đầu sử dụng AdMob trong dự án iOS.
Hướng dẫn này trình bày cách nhập và khởi chạy Google Mobile Ads SDK, cũng như cách chọn định dạng quảng cáo.
Điều kiện tiên quyết
Trước khi tiếp tục, hãy đảm bảo bạn có những điều sau:
- Sử dụng Xcode 16.0 trở lên.
- Nhắm đến iOS 13.0 trở lên.
Nhập Google Mobile Ads SDK
Để nhập Google Mobile Ads SDK, hãy hoàn tất một trong các phần sau:
Trình quản lý gói Swift (Đề xuất)
Để thêm phần phụ thuộc gói vào dự án, hãy làm theo các bước sau:
- Mở Xcode.
- Chuyển đến File > Add Package Dependencies... (Tệp > Thêm phần phụ thuộc gói...)
Cài đặt Gói Swift Google Mobile Ads SDK.
Khi thông báo nhắc xuất hiện, hãy tìm kiếm kho lưu trữ GitHub cho Gói Swift quảng cáo trên thiết bị di động của Google:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitChọn phiên bản của Gói Swift Google Mobile Ads SDK 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 lớn tiếp theo.
CocoaPods
Để sử dụng CocoaPods, hãy làm theo các bước sau:
Mở Podfile của dự án, rồi thêm dòng này vào cấu hình bản dựng
targetcủa ứng dụng:pod 'Google-Mobile-Ads-SDK'Trong một cửa sổ dòng lệnh, hãy chạy lệnh sau:
pod install --repo-update
Định cấu hình mục tiêu triển khai cho Xcode 27
Xcode 27 yêu cầu mục tiêu triển khai tối thiểu là iOS 15.0 cho tất cả mục tiêu. Vì Google Mobile Ads SDK hỗ trợ iOS 13.0, nên bản dựng Xcode 27 sẽ không thành công khi sử dụng CocoaPods.
Để giải quyết vấn đề này, hãy làm theo các bước sau:
Mở
Podfilecủa dự án, rồi thêm một hookpost_installđặt mục tiêu triển khai thành15.0. Nếu bạn có một khốipost_install, hãy thêm vòng lặp bên trong vào khối hiện có.Ví dụ sau đây đặt khoá
IPHONEOS_DEPLOYMENT_TARGETthành15.0cho tất cả mục tiêu nhóm:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' end end endĐể cài đặt lại các nhóm, hãy chạy lệnh sau:
pod install --repo-update
Tự tải xuống
Để tự tải Google Mobile Ads SDK xuống, hãy làm như sau:
- Tải xuống Google Mobile Ads SDK.
- Giải nén gói
googlemobileadssdkios.zip. Trong dự án Xcode, hãy thêm các khung sau:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
Trong phần cài đặt General (Chung) của mục tiêu, hãy chuyển đến Frameworks, Libraries, and Embedded Content (Khung, thư viện và nội dung nhúng).
Xác nhận rằng bạn đã đặt
GoogleMobileAds.xcframeworkvàUserMessagingPlatform.xcframeworkthành Embed & Sign (Nhúng và ký).Trong phần cài đặt bản dựng của dự án, hãy làm như sau:
- Thêm đường dẫn
/usr/lib/swiftvào Runpath Search Paths (Đường dẫn tìm kiếm Runpath). - Thêm cờ trình liên kết
-ObjCvào Other Linker Flags (Cờ trình liên kết khác).
- Thêm đường dẫn
Cập nhật tệp Info.plist
Trong tệp Info.plist của ứng dụng, hãy thêm các khoá sau:
Khoá
GADApplicationIdentifiercó giá trị chuỗi là mã ứng dụng AdMob của bạn. Để biết thông tin chi tiết, hãy xem bài viết Tìm và sao chép mã ứng dụng hoặc mã đơn vị quảng cáo .Khoá
SKAdNetworkItems. Khoá này bao gồm các giá trịSKAdNetworkIdentifiercho Googlecstr6suwn9.skadnetworkvà một số người mua bên thứ ba.
Ví dụ hoàn chỉnh
<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>wg4vff78zm.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>Thay thế SAMPLE_APP_ID bằng mã ứng dụng AdMob của bạn. Trong khi thử nghiệm, hãy sử dụng mã ứng dụng mẫu xuất hiện trong ví dụ trước.
Nếu bạn chưa tạo tài khoản AdMob và đăng ký ứng dụng yet, now's a great time to do so.
Khởi chạy Google Mobile Ads SDK
Trước khi tải quảng cáo, hãy khởi chạy Google Mobile Ads SDK bằng cách gọi phương thức start()
từ thuộc tính GADMobileAds.sharedInstance. Lệnh gọi phương thức này sẽ gọi một trình xử lý hoàn thành sau khi Google Mobile Ads SDK và bộ chuyển đổi dàn xếp hoàn tất quá trình xử lý hoặc sau 30 giây.
Ví dụ sau đây khởi chạy Google Mobile Ads SDK:
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];
Khi khởi chạy, Google Mobile Ads SDK có thể tải trước quảng cáo hoặc khởi chạy SDK của bên thứ ba
khi gọi phương thức startWithCompletionHandler:. Nếu bạn cần xin sự đồng ý của người dùng ở Khu vực kinh tế Châu Âu (EEA), Vương quốc Anh (UK) hoặc Thuỵ Sĩ, hãy đặt các cờ dành riêng cho yêu cầu. Nếu bạn cần đặt
các cờ dành riêng cho yêu cầu, hãy đảm bảo bạn đặt các cờ đó trước khi khởi chạy
Google Mobile Ads SDK. Để biết thông tin chi tiết, hãy xem bài viết Nhắm mục tiêu.
Chọn định dạng quảng cáo
Sau khi nhập Google Mobile Ads SDK, bạn có thể chọn một định dạng quảng cáo để triển khai.
AdMob cung cấp các định dạng quảng cáo sau:
| Định dạng quảng cáo | Mô tả | Tài liệu |
|---|---|---|
| Biểu ngữ | Hiển thị quảng cáo hình chữ nhật trong một phần của bố cục ứng dụng. Quảng cáo này tự động làm mới theo các khoảng thời gian đã đặt. Người dùng sẽ thấy các quảng cáo này theo định kỳ khi ở trên cùng một màn hình. | Thiết lập quảng cáo biểu ngữ |
| 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 quảng cáo này tại các điểm ngắt và điểm chuyển tiếp tự nhiên trong giao diện ứng dụng của bạn, chẳng hạn như sau khi người dùng hoàn thành một cấp độ trong một ứng dụng trò chơi. | Quảng cáo xen kẽ |
| Mã gốc | Cho phép bạn tuỳ chỉnh các thành phần, chẳng hạn như dòng tiêu đề và lời kêu gọi hành động, trong ứng dụng của mình. Khi tuỳ chỉnh quảng cáo, bạn sẽ tạo ra những quảng cáo phù hợp với thiết kế trực quan của ứng dụng. | Tải quảng cáo gốc |
| Được thưởng | Người dùng kiếm được phần thưởng trong ứng dụng, chẳng hạn như tiền xu hoặc điểm, bằng cách chơi trò chơi, thực hiện các cuộc khảo sát hoặc xem video. Bạn có thể đặt phần thưởng cho các đơn vị quảng cáo và chỉ định giá trị phần thưởng cũng như vật phẩm mà người dùng nhận được. | Quảng cáo có tặng thưởng |
| Quảng cáo xen kẽ có tặng thưởng | 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 xuất hiện trong quá trình chuyển đổi ứng dụng. | Quảng cáo xen kẽ có tặng thưởng |
| Quảng cáo khi mở ứng dụng | 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 tải. | Quảng cáo khi mở ứng dụng |