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:
- Xcode'u açın.
- File > Add Package Dependencies... (Dosya > Paket Bağımlılıkları Ekle...) seçeneğine gidin.
Google Mobile Ads SDK Swift paketini yükleyin.
Görünen istemde Google Mobile Ads Swift Package GitHub deposunu arayın:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitKullanmak 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:
Projenizin Podfile'ını açın ve bu satırı uygulamanızın
targetbuild configuration'ına ekleyin:pod 'Google-Mobile-Ads-SDK'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:
Projenizin
Podfiledosyasını açın ve dağıtım hedefini15.0olarak ayarlayan birpost_installkancası ekleyin.post_installbloğunuz varsa iç döngüyü mevcut bloğunuza ekleyin.Aşağıdaki örnekte, tüm pod hedefleri için
IPHONEOS_DEPLOYMENT_TARGETanahtarı15.0olarak 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 endPod'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:
- İndir'i Google Mobile Ads SDK tıklayın.
googlemobileadssdkios.zippaketini çıkarın.Xcode projenize aşağıdaki çerçeveleri ekleyin:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
Hedefinizin Genel ayarlarında Framework'ler, Kitaplıklar ve Yerleştirilmiş İçerik'e gidin.
GoogleMobileAds.xcframeworkveUserMessagingPlatform.xcframeworkayarlarını Yerleştir ve İmzala olarak belirlediğinizi onaylayın.Projenizin derleme ayarlarında aşağıdakileri yapın:
/usr/lib/swiftyolunu Runpath Search Paths'e ekleyin.-ObjCbağ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:
AdMob uygulama kimliğinizin dize değerine sahip bir
GADApplicationIdentifieranahtarı. Ayrıntılar için Uygulama kimliğini veya reklam birimi kimliğini bulup kopyalama başlıklı makaleyi inceleyin.SKAdNetworkItemsanahtarı. Bu anahtar, Googlecstr6suwn9.skadnetworkve belirli üçüncü taraf alıcılar içinSKAdNetworkIdentifierdeğerlerini içerir.
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ı |