Google Mobile Ads SDK'sını ayarlama

Reklam yayınlamak ve gelir elde etmek için Google Mobile Ads SDK SDK'sını iOS uygulamanıza entegre edin. Projenizi hazırlamak için reklam isteğinde bulunmadan önce Google Mobile Ads SDK SDK'sını içe aktarıp başlatırsınız.

Firebase'i iOS uygulamanıza dahil ederseniz iOS projenizde AdMob'u kullanmaya başlama başlıklı makaleyi inceleyin.

Bu kılavuzda Google Mobile Ads SDK'nın içe aktarılması ve başlatılması ile reklam biçimi seçimi ele alınmaktadır.

Ön koşullar

Devam etmeden önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Xcode 16.0 veya sonraki bir sürümü kullanın.
  • Hedef iOS 13.0 veya sonraki sürümler olmalıdır.

Google Mobile Ads SDK içe aktarma

Google Mobile Ads SDK öğesini içe aktarmak için aşağıdaki bölümlerden birini tamamlayın:

Swift Package Manager (önerilir)

Projenize paket bağımlılığı eklemek için aşağıdaki adımları uygulayın:

  1. Xcode'u açın.
  2. File > Add Package Dependencies... (Dosya > Paket Bağımlılıkları Ekle...) seçeneğine gidin.
  3. Google Mobile Ads SDK Swift paketini yükleyin.

  4. Görünen istemde Google Mobile Ads Swift Package GitHub deposunu arayın:

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

CocoaPods

CocoaPods'u kullanmak için aşağıdaki adımları uygulayın:

  1. Projenizin Podfile dosyasını açın ve bu satırı uygulamanızın target build yapılandırmasına ekleyin:

    pod 'Google-Mobile-Ads-SDK'
    
  2. Terminalde aşağıdaki komutu çalıştırın:

    pod install --repo-update

Xcode 27 için dağıtım hedefini yapılandırma

Xcode 27, tüm hedefler için minimum iOS 15.0 dağıtım hedefi gerektirir. Google Mobile Ads SDK, iOS 13.0'ı desteklediğinden CocoaPods kullanılırken Xcode 27 derlemeleri başarısız oluyor.

Bu sorunu çözmek için aşağıdaki adımları izleyin:

  1. Projenizin Podfile dosyasını açın ve dağıtım hedefini 15.0 olarak ayarlayan bir post_install kancası ekleyin. post_install bloğunuz varsa iç döngüyü mevcut bloğunuza ekleyin.

    Aşağıdaki örnekte, tüm pod hedefleri için IPHONEOS_DEPLOYMENT_TARGET anahtarı 15.0 olarak ayarlanır:

    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
    
  2. Pod'larınızı yeniden yüklemek için aşağıdaki komutu çalıştırın:

    pod install --repo-update

Manuel indirme

Google Mobile Ads SDK dosyasını manuel olarak indirmek için aşağıdakileri yapın:

  1. İndir'i Google Mobile Ads SDK tıklayın.
  2. googlemobileadssdkios.zip paketini çıkarın.
  3. Xcode projenize aşağıdaki çerçeveleri ekleyin:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. Hedefinizin Genel ayarlarında Framework'ler, Kitaplıklar ve Yerleştirilmiş İçerik'e gidin.

  5. GoogleMobileAds.xcframework ve UserMessagingPlatform.xcframework değerlerini Yerleştir ve İmzala olarak ayarladığınızı onaylayın.

  6. Projenizin derleme ayarlarında aşağıdakileri yapın:

    • /usr/lib/swift yolunu Runpath Search Paths'e ekleyin.
    • -ObjC bağlayıcı işaretini Diğer Bağlayıcı İşaretleri'ne ekleyin.

Info.plist dosyanızı güncelleyin

Uygulamanızın Info.plist dosyasına aşağıdaki anahtarları ekleyin:

Eksiksiz örnek

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

SAMPLE_APP_ID kısmını AdMob uygulama kimliğinizle değiştirin. Test sırasında önceki örnekte gösterilen örnek uygulama kimliğini kullanın.

Henüz AdMob hesabı oluşturmadıysanız ve uygulama kaydetmediyseniz bu işlemleri şimdi yapabilirsiniz.

Google Mobile Ads SDK başlatılıyor

Reklamları yüklemeden önce Google Mobile Ads SDK özelliğinden start() yöntemini çağırarak GADMobileAds.sharedInstance özelliğini başlatın. Bu yöntem, Google Mobile Ads SDK ve aracılık bağdaştırıcıları işlemeyi bitirdikten sonra veya 30 saniye sonra bir tamamlama işleyicisi çağırır.

Aşağıdaki örnekte Google Mobile Ads SDK başlatılıyor:

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

İlk kullanıma hazırlama sırasında Google Mobile Ads SDK, startWithCompletionHandler: yöntemi çağrıldığında reklamları önceden yükleyebilir veya üçüncü taraf SDK'larını ilk kullanıma hazırlayabilir. Avrupa Ekonomik Alanı (AEA), Birleşik Krallık (BK) veya İsviçre'deki kullanıcılardan izin almanız gerekiyorsa isteğe özel işaretler ayarlayın. İsteğe özel işaretler ayarlamanız gerekiyorsa Google Mobile Ads SDK öğesini başlatmadan önce işaretleri ayarladığınızdan emin olun. Ayrıntılı bilgi için Hedefleme başlıklı makaleyi inceleyin.

Bir reklam biçimi seçin

İçe aktarma işleminden sonra Google Mobile Ads SDK, uygulanacak bir reklam biçimi seçebilirsiniz.

AdMob aşağıdaki reklam biçimlerini sunar:

Reklam biçimi Açıklama Belgeler
Banner Uygulama düzeninizin bir bölümünde dikdörtgen reklamlar gösterir. Bu reklam, belirli aralıklarla otomatik olarak yenilenir. Kullanıcılar aynı ekranda kaldıklarında bu reklamları belirli aralıklarla görür. Banner reklam oluşturma
Geçiş reklamı Uygulamanızda tam sayfa reklamlar gösterir. Bu reklamı, uygulamanızın arayüzündeki doğal bekleme ve geçiş anlarına (ör. bir oyun uygulamasında seviye atlanmasından sonra) yerleştirin. Geçiş reklamları
Yerel biçim Uygulamalarınızdaki başlıklar ve harekete geçirici mesajlar gibi öğeleri özelleştirmenize olanak tanır. Reklamı özelleştirdiğinizde uygulamanızın görsel tasarımına uygun reklamlar oluşturursunuz. Doğal reklam yükleme
Ödüllü Kullanıcılar oyun oynayarak, anketlere katılarak veya video izleyerek jeton ya da puan gibi uygulama içi ödüller kazanır. Reklam birimleri için ödüller belirleyebilir ve kullanıcılarınızın alacağı ödül değerlerini ve öğeleri belirtebilirsiniz. Ödüllü reklamlar
Ödüllü geçiş reklamı Uygulama geçişleri sırasında görünen reklamlar için para veya ek can gibi ödüller sunmanıza olanak tanır. Ödüllü geçiş reklamları
Uygulama açılışı Kullanıcılar uygulamanızı açtığında veya uygulamanıza geri döndüğünde görünür. Reklam, yükleme ekranının üzerinde çıkar. Uygulama açılış reklamları