Başla

Bu kılavuz, AdMob ile bir iOS uygulamasından para kazanmak isteyen ve Firebase kullanmayan yayıncılara yöneliktir. Uygulamanıza Firebase'i dahil etmeyi planlıyorsanız (veya kullanmayı düşünüyorsanız) bu kılavuzun Firebase ile AdMob sürümünü inceleyin.

Google Mobile Ads SDK'sını bir uygulamaya entegre etmek, reklam görüntüleme ve gelir elde etmenin ilk adımıdır. SDK'yı entegre ettikten sonra desteklenen reklam biçimlerinden birini veya daha fazlasını uygulamaya devam edebilirsiniz.

Ön koşullar

  • Xcode 15.3 veya sonraki bir sürümü kullanın
  • iOS 12.0 veya sonraki sürümleri hedefleme

Mobile Ads SDK'sını içe aktarma

Google Mobile Ads SDK'sını içe aktarmak için aşağıdaki yöntemlerden birini kullanın.

CocoaPods (tercih edilen)

SDK'yı bir iOS projesine aktarmanın en basit yolu CocoaPods'u kullanmaktır. Projenizin Podfile'ını açın ve bu satırı uygulamanızın hedefine ekleyin:

pod 'Google-Mobile-Ads-SDK'

Ardından komut satırında şu komutu çalıştırın:

pod install --repo-update

CocoaPods'u kullanmaya yeni başladıysanız Podfiles oluşturma ve kullanma hakkında bilgi için resmi belgelerini inceleyin.

Swift Paket Yöneticisi

Google Mobile Ads SDK'sı, 9.0.0 sürümünden itibaren Swift Package Manager'ı destekler. Swift paketini içe aktarmak için şu adımları uygulayın:

  1. Xcode'da Dosya > Paket Ekle... seçeneğine giderek Google Mobile Ads Swift Paketini yükleyin.

  2. Görüntülenen istemde Google Mobile Ads Swift Package GitHub deposunu arayın:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Kullanmak istediğiniz Google Mobile Ads Swift Paketi sürümünü seçin. Yeni projeler için Bir Sonraki Ana Sürüm'ü kullanmanızı öneririz.

İşiniz bittiğinde Xcode, paket bağımlılıklarınızı çözümlemeye ve bunları arka planda indirmeye başlar. Paket bağımlılıklarının nasıl ekleneceği hakkında daha fazla bilgi için Apple'ın makalesine bakın.

Manuel indirme

  1. Google Mobile Ads SDK'sını ve aşağıdaki çerçeveleri Embed & SignXcode projenize indirin:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Projenizin derleme ayarlarında Diğer Bağlayıcı İşaretleri'ne -ObjC bağlayıcı işaretini ekleyin:

Info.plist dosyanızı güncelleyin

İki anahtar eklemek için uygulamanızın Info.plist dosyasını güncelleyin:

  1. AdMob app ID found in the AdMob UIdize değerine sahip bir GADApplicationIdentifier anahtarı.

  2. Google (cstr6suwn9.skadnetwork) için SKAdNetworkIdentifier değerlerine sahip bir SKAdNetworkItems anahtarı ve bu değerleri Google'a sağlayan belirli üçüncü taraf alıcılar.

Snippet'i tamamla

<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>

Henüz AdMob hesabı oluşturmadıysanız ve uygulama kaydetmediyseniz şimdi tam zamanı.

Gerçek bir uygulamada, örnek uygulama kimliğini gerçekAdMob uygulama kimliğinizle değiştirin. Hello World uygulamasında SDK ile yalnızca deneme yapıyorsanız örnek kimliği kullanabilirsiniz.

Mobile Ads SDK'sını başlatma

Reklamları yüklemeden önce, GADMobileAds.sharedInstance üzerinde startWithCompletionHandler: yöntemini çağırın. Bu yöntem SDK'yı başlatır ve başlatma tamamlandığında (veya 30 saniyelik zaman aşımından sonra) bir tamamlama işleyicisi geri çağırır. Bu işlemin yalnızca bir kez yapılması gerekir. İdeal olarak uygulama lansmanı sırasında. startWithCompletionHandler: numaralı telefonu en kısa sürede aramalısınız.

Aşağıda, AppDelegate öğenizde startWithCompletionHandler: yöntemini nasıl çağıracağınıza ilişkin bir örnek verilmiştir:

Örnek AppDelegate (alıntı)

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

Reklam biçimi seçin

Mobile Ads SDK'sı içe aktarılıp başlatıldı. Artık bir reklam uygulamaya hazırsınız. AdMob , bir dizi farklı reklam biçimi sunar. Böylece uygulamanızın kullanıcı deneyimine en uygun olanı seçebilirsiniz.

SwiftUI geliştiricileri için SwiftUI kılavuzumuzu izleyin.

Banner reklam birimleri, uygulama düzeninin bir kısmını kaplayan dikdörtgen reklamlar gösterir. Belirli bir süre sonra otomatik olarak yenilenebilirler. Diğer bir deyişle, kullanıcılar uygulamanızda aynı ekranda kalsalar bile düzenli aralıklarla yeni bir reklamı görürler. Aynı zamanda, uygulanması en basit reklam biçimidir.

Banner reklam uygulama

Geçişli

Geçiş reklam birimleri, uygulamanızda tam sayfa reklamlar gösterir. Bu reklamları, bir oyun uygulamasında seviye atlanması gibi doğal aralara ve geçişlere yerleştirin.

Geçiş reklamlarını uygulama

Yerel biçim

Yerel reklamlar, başlıklar ve harekete geçirici mesajlar gibi öğelerin uygulamalarınızda sunulma şeklini özelleştirebileceğiniz reklamlardır. Reklamın stilini kendiniz belirleyerek, zengin bir kullanıcı deneyimine katkıda bulunabilecek doğal ve rahatsız edici olmayan reklam sunumları oluşturabilirsiniz.

Doğal reklam uygulama

Ödül olarak verildi

Ödüllü reklam birimleri, kullanıcıların jeton, ek can veya puan gibi uygulama içi ödüller kazanmak için oyun oynamasına, anket yanıtlamasına veya video izlemesine olanak tanır. Farklı reklam birimleri için farklı ödüller ayarlayabilir ve kullanıcının aldığı ödül değerlerini ve öğelerini belirtebilirsiniz.

Ödüllü reklamları uygulama

Ödüllü geçiş reklamı

Ödüllü geçiş reklamı, doğal uygulama geçişlerinde otomatik olarak görünen reklamlar için jeton veya ekstra can gibi ödüller sunmanıza olanak tanıyan yeni bir teşvik reklam biçimidir.

Ödüllü reklamların aksine kullanıcıların ödüllü geçiş reklamı görüntülemeyi etkinleştirmesi gerekmez.

Ödüllü reklamlardaki etkinleştirme istemi yerine ödüllü geçiş reklamlarında ödülü bildiren ve kullanıcılara dilediklerinde devre dışı bırakma seçeneği sunan bir giriş ekranı gerekir.

Ödüllü geçiş reklamlarını uygulama

Uygulama açılışı

Uygulama açılışı, kullanıcılar uygulamanızı açtığında veya uygulamanıza geri döndüğünde görünen bir reklam biçimidir. Reklam, yükleme ekranının üzerindedir.

Uygulama açılış reklamlarını uygulama