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:
- Xcode'u açın.
- File > Add Package Dependencies... (Dosya > Paket Bağımlılıkları Ekle...) bölümüne gidin.
Google Mobile Ads SDK Swift paketini yükleyin.
Görüntülenen istemde Google Mobile Ads Swift Paketi GitHub deposunu arayın:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitKullanmak 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:
Projenizin Podfile dosyasını açın ve bu satırı uygulamanızın
targetderleme yapılandırmasına ekleyin:pod 'Google-Mobile-Ads-SDK'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:
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 uygulamasını manuel olarak indirmek için aşağıdakileri yapın:
- İndir Google Mobile Ads SDK.
googlemobileadssdkios.zippaketini çıkarın.Xcode projenize aşağıdaki çerçeveleri ekleyin:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
Hedefinizin Genel ayarlarında Frameworks, Libraries, and Embedded Content (Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerik) bölümüne 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 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:
AdMob uygulama kimliğinizin dize değerini içeren 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ğer 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 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ı |