Bu kılavuz, AdMob kullanarak bir iOS uygulamasından para kazanmak isteyen ve Firebase kullanmayan yayıncılara yöneliktir. Uygulamanıza Firebase'i dahil etmeyi planlıyorsanız (veya kullanmayı düşünüyorsanız) bunun yerine bu kılavuzun Firebase ile AdMob sürümüne bakın.
Google Mobile Ads SDK'sını bir uygulamaya entegre etmek, reklam göstermenin ve gelir elde etmenin ilk adımıdır. SDK'yı entegre ettikten sonra bir veya daha fazla desteklenen reklam biçimini uygulayabilirsiniz.
Ön koşullar
- Xcode 14.1 veya sonraki bir sürümü kullanın
- iOS 11.0 veya sonraki sürümleri hedefleyin
- Önerilir: AdMob hesabı oluşturun ve uygulama kaydedin.
Mobile Ads SDK'sını içe aktar
CocoaPods (tercih edilen)
SDK'yı bir iOS projesine aktarmanın en basit yolu CocoaPods'u kullanmaktır. Projenizin Podfile dosyasını açın ve bu satırı uygulamanızın hedefine ekleyin:
pod 'Google-Mobile-Ads-SDK'
Ardından, komut satırından şunları çalıştırın:
pod install --repo-update
CocoaPods'u kullanmaya yeni başladıysanız Podfiles oluşturma ve kullanma ile ilgili bilgi edinmek için resmi belgelere göz atı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, File > Packages... (Dosya > Paket Ekle...) seçeneğine giderek Google Mobile Ads Swift Package'ı yükleyin.
Açılan komut isteminde Google Mobile Ads Swift Package GitHub deposunu arayın:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Kullanmak istediğiniz Google Mobil Reklamlar Swift Paketi sürümünü seçin. Yeni projeler için Sıradaki En İyi Sürüm'ü kullanmanızı öneririz.
İşlemi tamamladıktan sonra Xcode, paket bağımlılıklarınızı çözümlemeye ve arka planda indirmeye başlar. Paket bağımlılarını ekleme hakkında daha fazla bilgi için Apple'ın makalesini inceleyin.
Manuel olarak indir
SDK çerçevesini doğrudan indirip sıkıştırmasını açın ve aşağıdaki çerçeveleri Xcode projenize aktarın:
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
-ObjC
bağlayıcı işaretini, projenizin derleme ayarlarında Diğer Bağlayıcı İşaretleri bölümüne ekleyin:
Info.plist dosyanızı güncelleyin
İki anahtar eklemek için uygulamanızın Info.plist
dosyasını güncelleyin:
DizenizinAdMob app ID found in the AdMob UIdeğerini içeren bir
GADApplicationIdentifier
anahtarı.Google (
cstr6suwn9.skadnetwork
) içinSKAdNetworkIdentifier
değerlerine sahip birSKAdNetworkItems
anahtarı ve Google'a bu değerleri sağlayan belirli üçüncü taraf alıcılar.
Snippet'i tamamla
<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>4pfyvq9l8r.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>5a6flpkh64.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>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>3sh42y64q3.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>prcb7njmu6.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>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>9rd848q2bz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>y5ghdn5j9k.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n6fk4nfna4.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>av6w8kgt66.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>424m5254lk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ecpz2srf59.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.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>gta9lk7p23.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>zq492l623r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Henüz AdMob hesabı oluşturmadıysanız ve uygulama kaydettirmediyseniz bu işlemi yapmanın tam zamanı.
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, SDK'yı ilk kullanıma hazırlar 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 uygulama
başlatıldığında gerçekleştirilmesi gerekir. startWithCompletionHandler:
en kısa sürede
çağrı yapmalısınız.
AppDelegate
yönteminizde startWithCompletionHandler:
yönteminin nasıl çağrılacağına dair bir örneği aşağıda bulabilirsiniz:
Örnek AppAuth.m (alıntı)
Swift
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Objective-C
@import GoogleMobileAds; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GADMobileAds.sharedInstance startWithCompletionHandler:nil]; return YES; } @end
Uyumlulaştırma kullanıyorsanız tüm uyumlulaştırma bağdaştırıcılarının başlatılmasını sağlayacağından, reklamları yüklemeden önce tamamlama işleyicinin çağrılmasını bekleyebilirsiniz.
Reklam biçimi seçin
Mobile Ads SDK'sı içe aktarıldı ve başlatıldı. Artık reklam uygulamaya hazırsınız. AdMob Bir dizi farklı reklam biçimi sunduğundan, uygulamanızın sunduğu kullanıcı deneyimine en uygun biçimi seçebilirsiniz.
Banner
Cihaz ekranının üst veya alt kısmında görünen dikdörtgen reklamlar. Banner reklamlar, kullanıcılar uygulama ile etkileşimde bulunurken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılığa yeni başladıysanız bu yerleşimlerle başlamak iyi bir fikir olabilir.
Geçişli
Kullanıcı tarafından kapatılana kadar bir uygulamanın arayüzünü kapsayan tam ekran reklamlar. Bunlar en iyi şekilde, bir uygulamanın yürütme akışındaki doğal duraklamalarda (ör. bir oyunun seviyeleri arasında veya bir görevin tamamlanmasından hemen sonra) kullanılır.
Yerel biçim
Uygulamanızın görünümü ve tarzıyla uyumlu, özelleştirilebilir reklamlar. Bu reklamların nasıl ve nereye yerleştirileceğine siz karar verirsiniz. Böylece düzeniniz uygulamanızın tasarımıyla daha tutarlı olur.
Ödül olarak verildi
Kısa videolar izleyen, oynanabilir reklamlar ve anketlerle etkileşimde bulunan kullanıcıları ödüllendiren reklamlar. Ücretsiz kullanıcılardan para kazanma açısından faydalıdır.
Ödüllü reklamları uygulama | Ödüllü reklamları uygulama (yeni API'ler) |