Yapılandırılabilir bağdaştırıcı başlatma özelliğini kullanma (alfa)

Platform seçin: Android iOS Android (Eski)

Varsayılan olarak Google Mobile Ads SDK, başlatma sırasında uygulamanızla ilişkili tüm uyumlulaştırma bağdaştırıcılarını başlatır. Her bağdaştırıcıyı başlatmak 30 saniyeden uzun sürebilir ve ilk reklamınız yüklenmeden önce önemli bir gecikmeye neden olabilir.

AdMob, bu sorunu çözmek için Yapılandırılabilir Adaptör Başlatma'yı sunar. Bu özellik, ilk reklam gösteriminiz için hangi bağdaştırıcıların başlatılacağını kontrol etmenize olanak tanır ve bu gösterim için gecikmeyi azaltır.

Bu kılavuzda, Yapılandırılabilir Adaptör Başlatma'nın aşağıdaki yönleri ele alınmaktadır:

Ön koşullar

  • Objective-C'de #import <GoogleMobileAds/GoogleMobileAds_Beta.h> veya Swift'te import GoogleMobileAds_Private ekleyerek bu özelliği etkinleştirin.

    Swift

    import GoogleMobileAds
    import GoogleMobileAds_Private
    

    Objective-C

    #import <GoogleMobileAds/GoogleMobileAds.h>
    #import <GoogleMobileAds/GoogleMobileAds_Beta.h>
    

Adaptör yapılandırması oluşturma

Bir bağdaştırıcı başlatma yapılandırması, Google Mobile Ads SDK'ya yalnızca gerekli bağdaştırıcıları ilk kullanıma hazırlama talimatı verir. Bu sayede, gereksiz bağdaştırıcıların ilk reklam isteğinizi engellemesi önlenir, işlem kaynakları korunur ve ilk reklam gösteriminin gecikmesi önemli ölçüde azaltılır.

Uygulamanızın performansını optimize etmek için bağdaştırıcı başlatma yapılandırması oluştururken aşağıdaki stratejileri göz önünde bulundurun:

Belirli bir reklam biçimine veya reklam birimine öncelik verme

Adaptörünüzün başlatma yapılandırmasında belirli reklam biçimini veya reklam birimini bildirerek, başlatıldıktan hemen sonra reklam gösteren uygulamaların (ör. uygulama açılışı reklamı) performansını artırın.

Aşağıdaki örnekte, belirli bir uygulama açılış reklamı birimi için yalnızca gerekli uyumlulaştırma bağdaştırıcılarını beş saniyelik zaman aşımıyla başlatan bir bağdaştırıcı başlatma yapılandırması oluşturulmaktadır:

Swift

let adapterConfig = MediationInitializationConfiguration()
adapterConfig.includedAdUnitIDs = [adUnitID]
adapterConfig.initializationTimeout = 5.0

Objective-C

GADMediationInitializationConfiguration *adapterConfig =
    [[GADMediationInitializationConfiguration alloc] init];
adapterConfig.includedAdUnitIDs = [NSSet setWithArray:@[ kTestAdUnitID ]];
adapterConfig.initializationTimeout = 5.0;

Aşağıdaki örnekte, tüm uygulama açılışı reklamları için yalnızca gerekli uyumlulaştırma bağdaştırıcılarını başlatan ve beş saniyelik bir zaman aşımı ayarlayan bir bağdaştırıcı başlatma yapılandırması oluşturulmaktadır:

Swift

let adapterConfig = MediationInitializationConfiguration()
adapterConfig.includedAdFormats = [AdFormat.appOpen.rawValue as NSNumber]
adapterConfig.initializationTimeout = 5.0

Objective-C

GADMediationInitializationConfiguration *adapterConfig =
    [[GADMediationInitializationConfiguration alloc] init];
adapterConfig.includedAdFormats = [NSSet setWithArray:@[ @(GADAdFormatAppOpen) ]];
adapterConfig.initializationTimeout = 5.0;

Belirli uyumlulaştırma bağdaştırıcılarını başlatma

İlk reklam gösteriminizi genellikle hangi uyumlulaştırma iş ortaklarının doldurduğunu tam olarak biliyorsanız bağdaştırıcı başlatma yapılandırmanızda bağdaştırıcı sınıf adını sağlayarak yalnızca ilgili bağdaştırıcıyı başlatabilirsiniz. Açık artırma sırasında başlatılmamış kalan bağdaştırıcıları beklememek için bu yöntemi, başlatılmamış bağdaştırıcıları açıkça atlama ve Google Mobile Ads SDK için zaman aşımı ayarlama ile birleştirin.

Aşağıdaki örnekte, belirli bir uyumlulaştırma bağdaştırıcısını başlatan ve beş saniyelik bir zaman aşımı ayarlayan bir bağdaştırıcı başlatma yapılandırması oluşturulur:

Swift

let adapterConfig = MediationInitializationConfiguration()
adapterConfig.includedAdapterClasses = [adapterClassName]
adapterConfig.initializationTimeout = 5.0

Objective-C

GADMediationInitializationConfiguration *adapterConfig =
    [[GADMediationInitializationConfiguration alloc] init];
adapterConfig.includedAdapterClasses = [NSSet setWithArray:@[ kTestAdapterClassName ]];
adapterConfig.initializationTimeout = 5.0;

Belirli arabuluculuk bağdaştırıcılarını hariç tutma

Belirli uyumlulaştırma bağdaştırıcılarının sürekli olarak yüksek gecikmeye sahip olduğunu gözlemlerseniz bu bağdaştırıcıları hariç tutabilir ve daha sonra başlatabilirsiniz.

Aşağıdaki örnekte, belirli bağdaştırıcıları başlatma işleminden hariç tutan ve beş saniyelik bir zaman aşımı ayarlayan bir bağdaştırıcı başlatma yapılandırması oluşturulmaktadır:

Swift

let adapterConfig = MediationInitializationConfiguration()
adapterConfig.excludedAdapterClasses = [adapterClassName]
adapterConfig.initializationTimeout = 5.0

Objective-C

GADMediationInitializationConfiguration *adapterConfig =
    [[GADMediationInitializationConfiguration alloc] init];
adapterConfig.excludedAdapterClasses = [NSSet setWithArray:@[ kTestAdapterClassName ]];
adapterConfig.initializationTimeout = 5.0;

Başlatılmamış bağdaştırıcıları atlama

Belirli uyumlulaştırma bağdaştırıcılarını başlatmayı veya hariç tutmayı planlıyorsanız reklam isteğinizi, şelalenizde hâlâ bulunan başlatılmamış bağdaştırıcıları atlayacak şekilde yapılandırabilirsiniz.

Adaptör yapılandırması oluşturmazsanız reklam isteğinizi, başlatılmamış adaptörleri atlayacak şekilde yapılandırabilirsiniz. Google Mobile Ads SDK Bağdaştırıcıların zaman aşımına uğramasını veya başlatılamamasını beklemeden bir reklam isteği gönderir.

Aşağıdaki örnekte, SDK bir bağdaştırıcı başlatma yapılandırmasıyla başlatılır ve başlatılmamış bağdaştırıcıları atlayan bir uygulama açılış reklamı isteği oluşturulur:

Swift

await MobileAds.shared.start(with: adapterInitializationConfig)

// Make your ad request after adapter initialization completes.
let request = Request()
// Set this to guarantee that the ad request
// doesn't wait for any other uninitialized adapters.
request.skipUninitializedAdapters = true

do {
  let _ = try await AppOpenAd.load(with: adUnitID, request: request)
} catch {
  print("Failed to load app open ad with error: \(error.localizedDescription)")
  // TODO: Handle error
}

// Handle non time-sensitive tasks after the ad has loaded regardless of whether ad load
// succeeded.
performPostLaunchSetup()

Objective-C


[[GADMobileAds sharedInstance]
    startWithMediationInitializationConfiguration:adapterInitializationConfig
                                completionHandler:^(GADInitializationStatus *_Nonnull status) {
                                  // Make your ad request after adapter initialization
                                  // completes.
                                  GADRequest *request = [GADRequest request];
                                  // Set this to guarantee that the ad request
                                  // doesn't wait for any other uninitialized adapters
                                  request.shouldSkipUninitializedAdapters = YES;

                                  [GADAppOpenAd
                                      loadWithAdUnitID:adUnitID
                                               request:request
                                      completionHandler:^(GADAppOpenAd *_Nullable ad,
                                                          NSError *_Nullable error) {
                                       if (error) {
                                         NSLog(@"Failed to load app open ad with error: %@",
                                               error.localizedDescription);
                                       }

                                       // Handle non time-sensitive tasks after the
                                       // ad has loaded regardless of whether ad load succeeded.
                                       [self performPostLaunchSetup];
                                     }];
                                }];

Kalan adaptörleri başlatma

Zamana duyarlı reklam fırsatlarınız yüklendikten sonra, uygulama oturumunun geri kalanında iş ortağı uyumlulaştırmasının tam kapsamlı olmasını sağlamak için kalan bağdaştırıcılarınızı ilk kullanıma hazırlayın.

Aşağıdaki örnekte, boş bir yapılandırma sağlanarak diğer bağdaştırıcılar başlatılmaktadır:

Swift


// Provide start with nil to initialize any adapters
// not initialized with configurable initialization.
MobileAds.shared.start(with: nil) { status in
  // Remaining adapters are now initialized.
}

Objective-C


// Call start with nil to initialize any adapters not initialized via configurable initialization.
[[GADMobileAds sharedInstance]
    startWithMediationInitializationConfiguration:nil
                                completionHandler:^(GADInitializationStatus *_Nonnull status) {
                                  // Remaining adapters are now initialized.
                                }];