Google Mobile Ads SDK'sını uygulamaya entegre etmek, reklam göstermenin ve gelir elde etmenin ilk adımıdır. SDK'yı entegre ettikten sonra desteklenen reklam biçimlerinden birini veya daha fazlasını uygulamaya başlayabilirsiniz.
Ön koşullar
- Xcode 15.3 veya sonraki bir sürümü kullanın
- iOS 12.0 veya sonraki sürümleri hedefleyin
Mobile Ads SDK'sını içe aktarma
Google Mobile Ads SDK'sını içe aktarmak için aşağıdaki yöntemlerden birini kullanın.
CocoaPods (tercih edilir)
SDK'yı iOS projesine içe aktarmanın en kolay yolu CocoaPods'u kullanmaktır. Projenizin Podfile dosyasını açın ve aşağıdaki satırı uygulamanızın hedefine ekleyin:
pod 'Google-Mobile-Ads-SDK'
Ardından komut satırından şunu çalıştırın:
pod install --repo-update
CocoaPods'u yeni kullanmaya başladıysanız Pod dosyalarını oluşturma ve kullanma hakkında bilgi edinmek için resmi belgelerine bakın.
Swift Package Manager
Google Mobile Ads SDK'sı, 9.0.0 sürümünden itibaren Swift Package Manager'ı destekler. Swift paketini içe aktarmak için aşağıdaki adımları uygulayın:
Xcode'da Dosya > Paket Ekle...'ye giderek Google Mobil Reklamlar Swift paketini yükleyin.
Görünen istemde, Google Mobile Ads Swift Paketi GitHub deposunu arayın:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Kullanmak istediğiniz Google Mobile Ads Swift paketinin sürümünü seçin. Yeni projeler için Sonraki Büyük Sürüme Kadar seçeneğini kullanmanızı öneririz.
İşlemi tamamladığınızda Xcode, paket bağımlılıklarınıza çözüm bulmaya ve bunları arka planda indirmeye başlar. Paket bağımlılıkları ekleme hakkında daha fazla bilgi için Apple'ın makalesine göz atın.
Manuel indirme
Google Mobile Ads SDK'sını ve
Embed & Sign
aşağıdaki çerçeveleri Xcode projenize indirin:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
Projenizin derleme ayarlarında:
/usr/lib/swift
yolunu Çalışma Yolu Arama Yolları'na ekleyin.-ObjC
bağlayıcı işaretini Diğer Bağlayıcı İşaretleri'ne ekleyin.
Info.plist dosyanızı güncelleme
Uygulamanızın Info.plist
dosyasını iki anahtar eklemek için güncelleyin:
Ad Manager app ID found in the Ad Manager UI and of the form
ca-app-pub-################~##########
değerine sahip bir dize değeri içerenGADApplicationIdentifier
anahtarı.Google (
cstr6suwn9.skadnetwork
) ve bu değerleri Google'a sağlayan belirli üçüncü taraf alıcılar içinSKAdNetworkIdentifier
değerleri içeren birSKAdNetworkItems
anahtarı.
Snippet'i tamamlama
<key>GADApplicationIdentifier</key> <string>ca-app-pub-3940256099942544~1458002511</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>3qy4746246.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>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>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>ppxm28t8ap.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>pwa73g5rt2.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>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>3qcr597p9d.skadnetwork</string> </dict> </array>
En iyi ilklendirme performansı için gelir gruplarınızı, kullanıldıkları belirli uygulamalarla ilişkilendirmeniz önemlidir. iOS'i hedefleyen ve belirli bir uygulamayla ilişkilendirilmemiş getiri grubu yapılandırmaları, hesabınızdaki tüm iOS uygulamalarına gönderilir. Bu da ilk başlatma süresini uzatabilir.
Gerçek bir uygulamada örnek uygulama kimliğini gerçekAd Manager uygulama kimliğinizle değiştirin. SDK'yı yalnızca Merhaba Dünya uygulamasında denemek istiyorsanız örnek kimliği kullanabilirsiniz.
Mobile Ads SDK'sını ilk kullanıma hazırlayın
Reklamları yüklemeden önce GADMobileAds.sharedInstance
üzerinde startWithCompletionHandler:
yöntemini çağırın. Bu yöntem, SDK'yı başlatır ve ilk kullanıma hazırlama işlemi tamamlandıktan sonra (veya 30 saniyelik zaman aşımının ardından) bir tamamlama işleyicisi çağırır. Bu işlemin ideal olarak uygulamanın lansmanında bir kez yapılması gerekir. startWithCompletionHandler:
numaralı telefonu en kısa sürede aramanız gerekir.
AppDelegate
'unuzda startWithCompletionHandler:
yönteminin nasıl çağrılacağına dair bir örnek aşağıda verilmiştir:
Örnek AppDelegate (alıntı)
Swift
import GoogleMobileAds
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
SwiftUI
import GoogleMobileAds
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
@main
struct YourApp: App {
// To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
// you must create an application delegate and attach it to your `App` struct
// using `UIApplicationDelegateAdaptor`.
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
NavigationView {
ContentView()
}
}
}
}
Objective-C
@import GoogleMobileAds;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
return YES;
}
@end
Reklam biçimi seçme
Mobile Ads SDK'sı içe aktarılıp başlatıldı. Artık reklam uygulamaya hazırsınız. Ad Manager , uygulamanızın kullanıcı deneyimine en uygun olanı seçebilmeniz için çeşitli reklam biçimleri sunar.
SwiftUI geliştiricileri için SwiftUI kılavuzumuzu inceleyin.
Banner
Banner reklam birimleri, uygulama düzeninin bir kısmını kaplayan dikdörtgen reklamlar gösterir. Belirli bir süre sonra otomatik olarak yenilenebilirler. Bu, uygulamanızda aynı ekranda kalsalar bile kullanıcıların düzenli aralıklarla yeni bir reklam görecekleri anlamına gelir. Ayrıca, uygulanması en basit reklam biçimidir.
Geçiş reklamı
Geçiş reklamı birimleri, uygulamanızda tam sayfa reklamlar gösterir. Bu reklam birimlerini uygulamanızın arayüzündeki doğal bekleme ve geçiş alanlarına yerleştirin (ör. bir oyun uygulamasında seviye atlanmasından sonra).
Yerel biçim
Yerel reklamlar, başlık ve harekete geçirici mesaj gibi öğelerin uygulamalarınızda sunulma şeklini özelleştirebileceğiniz reklamlardır. Reklamı kendiniz biçimlendirerek zengin bir kullanıcı deneyimine katkıda bulunabilecek doğal ve rahatsız edici olmayan reklam sunumları oluşturabilirsiniz.
Google Ad Manager, yerel reklamları uygulamanın iki yolunu sunar: yerel stiller ve özel oluşturma aracılığıyla standart yerel reklamlar.
Yerel stiller, yerel reklamların uygulanmasını basitleştirmek için tasarlanmıştır ve bu biçime yeni başladıysanız mükemmel bir seçimdir. Özel oluşturma, sunularınızı oluştururken sahip olduğunuz özgürlüğü en üst düzeye çıkarmak için tasarlanmıştır.
Yerel stilleri uygulama Yerel reklamları uygulama (özel oluşturma)
Ödüllü
Ödüllü reklam birimlerinde kullanıcılar jeton, ek can veya puan toplamak için oyun oynayabilir, anket yapabilir veya video izleyebilir. Farklı reklam birimleri için farklı ödüller belirleyebilir ve kullanıcının alacağı ödül değerlerini ve öğeleri belirtebilirsiniz.
Ödüllü geçiş reklamı
Ödüllü geçiş reklamı, doğal uygulama geçişleri sırasında otomatik olarak görünen reklamlar için para veya ek can gibi ödüller sunmanızı sağlayan yeni ve teşvik edici bir reklam biçimidir.
Ödüllü reklamların aksine kullanıcıların ödüllü geçiş reklamı görüntülemeyi etkinleştirmesi gerekmez.
Ödüllü reklamlardaki etkinleştirme istemi yerine ödüllü geçiş reklamlarında ödülü bildiren ve kullanıcılara dilediklerinde bu seçeneği devre dışı bırakma şansı sunan bir tanıtım ekranı gerekir.
Ödüllü geçiş reklamlarını uygulama
Uygulama açılışı
Uygulama açılışı, kullanıcılar uygulamanızı açtığında veya uygulamanıza geri döndüğünde görünen bir reklam biçimidir. Reklam, yükleme ekranının üzerinde çıkar.