Mengintegrasikan Google Mobile Ads SDK ke dalam aplikasi adalah langkah pertama untuk menampilkan iklan dan memperoleh pendapatan. Setelah SDK mengintegrasikan, Anda dapat melanjutkan untuk menerapkan satu atau beberapa format iklan yang didukung.
Prasyarat
- Menggunakan Xcode 15.3 atau yang lebih baru
- Menargetkan iOS 12.0 atau yang lebih tinggi
Mengimpor Mobile Ads SDK
Gunakan salah satu metode berikut untuk mengimpor Google Mobile Ads SDK.
CocoaPods (lebih disarankan)
Cara paling sederhana untuk mengimpor SDK ke project iOS adalah dengan menggunakan CocoaPods. Buka Podfile project Anda dan tambahkan baris ini ke target aplikasi Anda:
pod 'Google-Mobile-Ads-SDK'
Kemudian dari command line, jalankan:
pod install --repo-update
Jika Anda baru menggunakan CocoaPods, lihat dokumentasi resmi untuk mengetahui info tentang cara membuat dan menggunakan Podfile.
Swift Package Manager
Google Mobile Ads SDK mendukung Swift Package Manager mulai versi 9.0.0. Ikuti langkah-langkah berikut untuk mengimpor paket Swift:
Di Xcode, instal Google Mobile Ads Swift Package dengan membuka File > Add Packages....
Pada perintah yang muncul, telusuri repositori GitHub Paket Swift Google Mobile Ads:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Pilih versi Swift Package Google Mobile Ads yang ingin Anda gunakan. Untuk project baru, sebaiknya gunakan Versi Utama Berikutnya.
Setelah selesai, Xcode akan mulai me-resolve dependensi paket Anda dan mendownloadnya di latar belakang. Untuk mengetahui detail selengkapnya tentang cara menambahkan dependensi paket, lihat artikel Apple.
Download manual
Download Google Mobile Ads SDK dan
Embed & Sign
framework berikut ke dalam project Xcode Anda:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
Tambahkan flag linker
-ObjC
ke Other Linker Flags pada setelan build project Anda:
Mengupdate Info.plist Anda
Update file Info.plist
aplikasi Anda untuk menambahkan dua kunci:
Kunci
GADApplicationIdentifier
dengan nilai stringAd Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
Anda.Kunci
SKAdNetworkItems
dengan nilaiSKAdNetworkIdentifier
untuk Google (cstr6suwn9.skadnetwork
) dan pembeli pihak ketiga tertentu yang telah memberikan nilai ini ke Google.
Cuplikan lengkap
<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>
Untuk performa inisialisasi yang optimal, sebaiknya kaitkan grup hasil dengan aplikasi tertentu yang digunakan. Konfigurasi grup hasil yang menargetkan iOS dan tidak terkait dengan aplikasi tertentu akan dikirim ke semua aplikasi iOS di akun Anda, yang berpotensi memperpanjang waktu yang diperlukan untuk melakukan inisialisasi.
Di aplikasi yang sebenarnya, ganti ID aplikasi contoh dengan ID aplikasi Ad Manager yang sebenarnya. Anda dapat menggunakan ID contoh ini jika hanya bereksperimen dengan SDK di aplikasi Hello World.
Menginisialisasi Mobile Ads SDK
Sebelum memuat iklan, panggil metode startWithCompletionHandler:
di
GADMobileAds.sharedInstance
yang melakukan inisialisasi SDK dan memanggil kembali pengendali penyelesaian setelah
inisialisasi selesai (atau setelah waktu tunggu 30 detik). Langkah ini hanya perlu dilakukan sekali, idealnya saat aplikasi diluncurkan. Anda harus memanggil startWithCompletionHandler:
sedini mungkin.
Berikut adalah contoh cara memanggil metode startWithCompletionHandler:
di
AppDelegate
Anda:
Contoh Tailwind (kutipan)
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
Pilih format iklan
Mobile Ads SDK sekarang telah diimpor dan diinisialisasi, dan Anda siap untuk menerapkan iklan. Ad Manager menawarkan sejumlah format iklan yang berbeda, sehingga Anda dapat memilih format yang paling sesuai dengan pengalaman pengguna aplikasi Anda.
Untuk developer SwiftUI, ikuti panduan SwiftUI kami.
Banner
Unit iklan banner menampilkan iklan persegi panjang yang menempati sebagian tata letak aplikasi. Iklan dapat dimuat ulang secara otomatis setelah jangka waktu tertentu. Artinya, pengguna melihat iklan baru secara berkala, meskipun mereka tetap berada di layar yang sama dalam aplikasi Anda. Format iklan ini juga merupakan format iklan yang paling sederhana untuk diterapkan.
Interstisial
Unit iklan interstisial menampilkan iklan satu halaman penuh di aplikasi Anda. Tempatkan iklan tersebut pada jeda dan transisi alami di antarmuka aplikasi, seperti setelah menyelesaikan level di aplikasi game.
Penutur asli
Iklan native adalah iklan yang dapat Anda gunakan untuk menyesuaikan cara aset seperti judul dan pesan ajakan (CTA) ditampilkan dalam aplikasi. Dengan menata gaya iklan sendiri, Anda dapat membuat tampilan iklan yang tampak alami dan tidak mengganggu untuk memperkaya pengalaman pengguna.
Google Ad Manager menawarkan dua cara untuk menerapkan iklan native: gaya native dan iklan native standar melalui rendering kustom.
Gaya native telah didesain untuk menyederhanakan penerapan iklan native, dan merupakan pilihan yang tepat jika Anda baru mengenal format tersebut. Rendering kustom telah dirancang untuk memaksimalkan kebebasan yang Anda miliki dalam membuat presentasi.
Menerapkan gaya native Menerapkan iklan native (rendering kustom)
Diberikan sebagai reward
Unit iklan reward memungkinkan pengguna bermain game, mengikuti survei, atau menonton video untuk mendapatkan reward dalam aplikasi, seperti koin, nyawa tambahan, atau poin. Anda dapat menetapkan reward berbeda untuk berbagai unit iklan, serta menentukan nilai reward dan item yang diterima pengguna.
Interstisial reward
Interstisial reward adalah jenis format iklan berinsentif baru yang memungkinkan Anda menawarkan reward, seperti koin atau nyawa tambahan, untuk iklan yang muncul secara otomatis selama transisi aplikasi yang alami.
Tidak seperti iklan reward, pengguna tidak harus memilih untuk melihat interstisial reward.
Sebagai ganti dialog keikutsertaan di iklan reward, interstisial reward memerlukan layar pengantar yang mengumumkan reward dan memberi pengguna kesempatan untuk memilih tidak ikut jika mereka ingin melakukannya.
Menerapkan iklan interstisial reward
Iklan di layar pembuka aplikasi
Iklan di layar pembuka aplikasi adalah format iklan yang muncul saat pengguna membuka atau beralih kembali ke aplikasi Anda. Iklan ditempatkan di atas layar pemuatan.