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ın.

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

Bu kılavuzda, Google Mobile Ads SDK paketini 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 hedeflemelidir.

Google Mobile Ads SDK dosyasını içe aktar

Google Mobile Ads SDK verilerini 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...) bölümüne gidin.
  3. Google Mobile Ads SDK Swift paketini yükleyin.

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

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. Kullanmak istediğiniz Google Mobile Ads SDK Swift paketinin sürümünü seçin. Yeni projeler için Up to Next Major Version'ı (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 derleme 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 uygulamasını manuel olarak indirmek için aşağıdakileri yapın:

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

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. Hedefinizin Genel ayarlarında Frameworks, Libraries, and Embedded Content (Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerik) bölümüne 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 Other Linker Flags (Diğer Bağlayıcı İşaretleri) bölümüne ekleyin.

Info.plist dosyanızı güncelleme

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 tam 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 ilk kullanıma hazırlayın. Bu yöntem, Google Mobile Ads SDK ve uyumlulaştırma bağdaştırıcıları işlemi tamamladıktan sonra veya 30 saniye sonra bir tamamlama işleyicisi çağırır.

Aşağıdaki örnekte Google Mobile Ads SDK başlatılmaktadır:

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öntemini çağırırken reklamları önceden yükleyebilir veya üçüncü taraf SDK'larını ilk kullanıma hazırlayabilir. Avrupa Ekonomik Alanı (AEA), Birleşik Krallık (UK) 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 başlıklı makaleyi inceleyin.

Bir reklam biçimi seçin

Google Mobile Ads SDK öğesini 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ı düzenli 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ızda 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, anket doldurarak 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ızı sağlar. Ö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ının üzerinde çıkar. Uygulama açılış reklamları