Google Mobile Ads SDK'sını ayarlama

Reklam yayınlamak ve gelir elde etmek için Google Mobile Ads SDK öğesini iOS uygulamanıza entegre edin. Projenizi hazırlamak için reklam isteğinde bulunmadan önce Google Mobile Ads SDK öğesini 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 içe aktarma ve başlatma ile reklam biçimi seçme konuları 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.
  • iOS 13.0 veya sonraki sürümleri hedefleyin.

Google Mobile Ads SDK içe aktarma

Google Mobile Ads SDK 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'ını açın ve bu satırı uygulamanızın targetbuild configuration'ına ekleyin:

    pod 'Google-Mobile-Ads-SDK'
    
  2. Bir 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 olur.

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'yı 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 ayarlarını Yerleştir ve İmzala olarak belirlediğinizi 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 şimdi bunları yapmak için harika bir zaman.

Google Mobile Ads SDK başlatılıyor

Reklamları yüklemeden önce GADMobileAds.sharedInstance özelliğinden start() yöntemini çağırarak Google Mobile Ads SDK öğesini başlatın. Bu yöntem, Google Mobile Ads SDK ve arabuluculuk bağdaştırıcıları işleme işlemini tamamladıktan 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];

Başlatma sırasında Google Mobile Ads SDK, startWithCompletionHandler: yöntemi çağrıldığında reklamları önceden yükleyebilir veya üçüncü taraf SDK'larını başlatabilir. 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 başlatılmadan önce işaretleri ayarladığınızdan emin olun. Ayrıntılı bilgi için Hedefleme bölümünü inceleyin.

Bir reklam biçimi seçin

Google Mobile Ads SDK içe aktardıktan sonra 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 reklamları 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österilen reklamlar için jeton veya ekstra 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österilir. Reklam, yükleme ekranıyla yer paylaşımlı olarak gösterilir. Uygulama açılış reklamları