Başla

Google Mobile Ads SDK'sını bir uygulamaya entegre etmek reklam gösterip gelir elde edebilirsiniz. SDK'yı entegre ettikten sonra şunları yapabilirsiniz: bir veya daha fazla Desteklenen reklam biçimlerini inceleyin.

Ön koşullar

  • Xcode 15.3 veya sonraki bir sürümü kullanın
  • iOS 12.0 veya sonraki sürümleri hedefleme

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 edilen)

SDK'yı bir iOS projesine aktarmanın en basit yolu CocoaPods'da bulabilirsiniz. Aç projenizin Podfile dosyasına ekleyin ve şu satırı uygulamanızın hedefine ekleyin:

pod 'Google-Mobile-Ads-SDK'

Ardından komut satırında şu komutu çalıştırın:

pod install --repo-update

CocoaPods'u kullanmaya yeni başladıysanız kullanıcıların bilgi için resmi dokümanlar konulu videomuzu izleyin.

Swift Paket Yöneticisi

Google Mobile Ads SDK'sı Swift Package'ı destekler. Yönetici'yi kullanabilirsiniz. Swift paketini içe aktarmak için aşağıdaki adımları uygulayın:

  1. Xcode'da şu adrese giderek Google Mobile Ads Swift Paketi'ni yükleyin: Dosya > Paket Ekle...

  2. Görüntülenen istemde Google Mobile Ads Swift Paketini arayın GitHub deposu:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Kullanmak istediğiniz Google Mobile Ads Swift paketinin sürümünü seçin. Yeni projeler için Bir Sonraki Ana Sürüm'ü kullanmanızı öneririz.

İşiniz bittiğinde Xcode paket bağımlılıklarınızı çözümlemeye başlar ve arka planda indirir. Paket ekleme hakkında daha fazla bilgi için için Apple'ın makalesine bakın.

Manuel indirme

  1. Google Mobile Ads SDK'sını ve Embed & Sign aşağıdaki çerçeveleri Xcode projenize indirin:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Projenizin derleme ayarlarında:

    • /usr/lib/swift yolunu Runpath Arama Yolları'na ekleyin.
    • -ObjC bağlayıcı işaretini Diğer Bağlayıcı İşaretleri'ne ekleyin.

Info.plist dosyanızı güncelleme

İki anahtar eklemek için uygulamanızın Info.plist dosyasını güncelleyin:

  1. Dize değerine sahip bir GADApplicationIdentifier anahtarı: Ad Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Google (cstr6suwn9.skadnetwork) ve bu değerleri Google'a sağlayan belirli üçüncü taraf alıcılar için SKAdNetworkIdentifier değerleri içeren bir SKAdNetworkItems anahtarı.

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>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 başlatma performansı için getirinizi ilişkilendirmeniz önemlidir belirli uygulamalarla gruplara ayırabilirler. Getiri grubu yapılandırmaları iOS'i hedefleyen ve belirli bir uygulamayla ilişkili olmayan tüm iOS'lere gönderilir uygulamaların başlatılması için gereken süreyi uzatabilir.

Gerçek bir uygulamada, örnek uygulama kimliğini gerçek Ad Manager uygulama kimliği. Örnek kimliğini aşağıdaki durumlarda kullanabilirsiniz: bir Hello World uygulamasındaki SDK ile deneme yapıyorsunuz.

Mobile Ads SDK'sını başlatma

Reklamları yüklemeden öncestartWithCompletionHandler: GADMobileAds.sharedInstance, Bu kod, SDK'yı başlatır ve bir tamamlama işleyiciyi bir kez geri çağırır başlatma tamamlandığında (veya 30 saniyelik zaman aşımından sonra). Bu yalnızca genellikle uygulama lansmanında yapılır. startWithCompletionHandler: adlı işletmeyi aramalısınız mümkün olduğunca erken gönderin.

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çin

Mobile Ads SDK'sı içe aktarılıp başlatıldı. Artık şunları yapabilirsiniz: reklam uygulayabilirsiniz. Ad Manager , uygulamanızın farklı reklam biçimleri gösterir, böylece uygulamanızın kullanıcılarına en uygun olanı seçebilirsiniz sunmaktır.

SwiftUI geliştiricileri için SwiftUI rehberini inceleyin.

Banner reklam birimleri, uygulamanın bir bölümünü kaplayan dikdörtgen reklamlar kullanır. 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.

Banner reklamları uygulama

Geçiş reklamı

Geçiş reklam birimleri, uygulamanızda tam sayfa reklamlar gösterir. Doğal bir yere yerleştirin Seviye tamamlandıktan sonra olduğu gibi uygulamanızın arayüzündeki aralar ve geçişler en iyi uygulamaları paylaşacağız.

Geçiş reklamları uygulama

Yerel biçim

Doğal reklamlar, başlık ve resim gibi öğelerin nasıl özelleştirileceğini harekete geçirici mesajlar, uygulamalarınızda sunulur. Reklamın stilini kendiniz belirleyerek şunları yapabilirsiniz: göze çarpmayan, doğal ve göze batmayan reklam sunumları hazırlayın. sunmaktır.

Google Ad Manager yerel reklamları uygulamak için iki yol sunar: yerel stiller ve standart doğal reklamlar için özel oluşturma sunar.

Yerel stiller, yerel reklamların uygulanmasını kolaylaştırmak için tasarlanmıştır. Ayrıca formatta yeniyseniz bu iyi bir seçimdir. Özel oluşturma maksimum özgürlük için tasarlanmamıştır.

Yerel stilleri uygulama Yerel reklamları uygulama (özel oluşturma)

Ödüllü

Ödüllü reklam birimleri, kullanıcıların aşağıdaki işlemleri yapmak için oyun oynamasına, anket yanıtlamasına veya video izlemesine olanak tanır. Jeton, ekstra can veya puan gibi uygulama içi ödüller kazanabilirsiniz. Faturalandırma hesabınızdaki ücretleri takip etmek için Farklı reklam birimleri için farklı ödüller belirleyin ve ödül değerlerini ve kullanıcının aldığı öğe sayısı.

Ödüllü reklamları uygulama

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

Ö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 uygulamasını indirin. Reklam, yükleme ekranının üzerinde görünür.

Uygulama açılış reklamlarını uygulama