Mulai

Mengintegrasikan Google Mobile Ads SDK ke dalam aplikasi adalah langkah pertama untuk menampilkan iklan dan memperoleh pendapatan. Setelah mengintegrasikan SDK, Anda dapat menerapkan satu atau beberapa format iklan yang didukung.

Prasyarat

  • Menggunakan Xcode 14.1 atau versi yang lebih tinggi
  • Menargetkan iOS 11.0 atau yang lebih tinggi

Mengimpor Mobile Ads SDK

CocoaPods (lebih disarankan)

Cara paling sederhana untuk mengimpor SDK ke dalam 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 mereka 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 di bawah ini untuk mengimpor paket Swift.

  1. Di Xcode, instal Google Mobile Ads Swift Package dengan membuka File > Add Packages....

  2. Pada perintah yang muncul, telusuri repositori GitHub Paket Swift Google Mobile Ads:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Pilih versi Paket Swift Google Mobile Ads yang ingin Anda gunakan. Untuk project baru, sebaiknya gunakan Up to Next Major Version.

Setelah selesai, Xcode akan mulai menyelesaikan dependensi paket Anda dan mendownloadnya di latar belakang. Untuk detail selengkapnya tentang cara menambahkan dependensi paket, lihat artikel Apple.

Download manual

  1. Download dan ekstrak framework SDK secara langsung, lalu impor framework berikut ke project Xcode Anda:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Tambahkan flag linker -ObjC ke Other Linker Flags di setelan build project Anda:

Mengupdate Info.plist Anda

Update file Info.plist aplikasi Anda untuk menambahkan dua kunci:

  1. Kunci GADApplicationIdentifier dengan nilai string Ad Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Kunci SKAdNetworkItems dengan nilai SKAdNetworkIdentifier 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 mendapatkan performa inisialisasi yang optimal, penting untuk mengaitkan grup hasil dengan aplikasi tertentu tempat grup hasil tersebut digunakan. Konfigurasi grup hasil yang menargetkan iOS dan tidak terkait dengan aplikasi tertentu akan dikirim ke semua aplikasi iOS di akun Anda, sehingga berpotensi memperpanjang waktu yang diperlukan untuk melakukan inisialisasi.

Menginisialisasi Mobile Ads SDK

Sebelum memuat iklan, panggil metode startWithCompletionHandler: pada GADMobileAds.sharedInstance, yang menginisialisasi SDK dan memanggil kembali pengendali penyelesaian setelah inisialisasi selesai (atau setelah waktu tunggu 30 detik). Langkah ini hanya perlu dilakukan sekali, idealnya saat peluncuran aplikasi. Anda harus memanggil startWithCompletionHandler: sedini mungkin.

Berikut adalah contoh cara memanggil metode startWithCompletionHandler: di AppDelegate Anda:

Contoh AppDelegate.m (kutipan)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }

}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Jika menggunakan mediasi, Anda dapat menunggu hingga pengendali penyelesaian dipanggil sebelum memuat iklan, karena hal ini akan memastikan bahwa semua adaptor mediasi telah diinisialisasi.

Pilih format iklan

Mobile Ads SDK kini 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.

Iklan kotak yang muncul di bagian atas atau bawah layar perangkat. Iklan banner tetap ditampilkan di layar saat pengguna berinteraksi dengan aplikasi, dan dapat diperbarui secara otomatis setelah jangka waktu tertentu. Jika periklanan seluler merupakan hal yang baru bagi Anda, iklan Banner adalah pilihan pertama yang baik.

Mengimplementasikan Banner

Interstisial

Iklan layar penuh yang menutupi antarmuka aplikasi hingga pengguna menutupnya. Fitur ini paling baik digunakan pada jeda alami dalam alur eksekusi aplikasi, seperti di antara level game atau tepat setelah tugas selesai.

Menerapkan Interstisial

Native

Iklan yang dapat disesuaikan, yang cocok dengan tampilan dan nuansa aplikasi. Anda yang menentukan cara dan lokasi penempatan iklan, sehingga tata letaknya lebih konsisten dengan desain aplikasi.

Google Ad Manager menawarkan dua cara untuk menerapkan iklan native: Gaya Native dan Rendering Kustom.

Gaya Native telah didesain untuk membuat penerapan iklan native semudah mungkin, dan merupakan pilihan tepat jika Anda baru mengenal format ini. Rendering Kustom dirancang untuk memaksimalkan kebebasan yang Anda miliki dalam membuat presentasi.

Mengimplementasikan Gaya Native Menerapkan Rendering Kustom

Diberikan sebagai reward

Iklan yang memberikan reward kepada pengguna karena telah menonton video singkat serta berinteraksi dengan iklan dan survei yang dapat dimainkan. Bagus untuk memonetisasi pengguna yang tidak dipungut biaya.

Menerapkan Iklan Reward Menerapkan Iklan Reward (API baru)