AdMob, bu sorunu çözmek için Yapılandırılabilir Adaptör Başlatma özelliğini 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 bağdaştırıcı başlatma işleminin aşağıdaki yönleri ele alınmaktadır:
- Adaptör yapılandırması oluşturma
- Başlatılmamış bağdaştırıcıları atlama
- Kalan bağdaştırıcıları başlatma
Ön koşullar
- Google Mobile Ads SDK 13.4.0 veya daha yeni bir sürümü içe aktarın.
- Kurulum Google Mobile Ads SDK.
Objective-C'ye
#import <GoogleMobileAds/GoogleMobileAds_Beta.h>veya Swift'eimport GoogleMobileAds_Privateekleyerek bu özelliği etkinleştirin.Swift
import GoogleMobileAds import GoogleMobileAds_PrivateObjective-C
#import <GoogleMobileAds/GoogleMobileAds.h> #import <GoogleMobileAds/GoogleMobileAds_Beta.h>
Adaptör yapılandırması oluşturma
Bağdaştırıcı başlatma yapılandırması, Google Mobile Ads SDK SDK'sına yalnızca gerekli bağdaştırıcıları başlatma 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
Başlatıldığında hemen reklam gösteren uygulamaların (ör. uygulama açılış reklamı) performansını artırmak için bağdaştırıcı başlatma yapılandırmanızda belirli reklam biçimini veya reklam birimini belirtin.
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şturulmaktadır:
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 uyumlulaştırma bağdaştırıcılarını hariç tutma
Belirli uyumlulaştırma bağdaştırıcılarında sürekli olarak yüksek gecikme olduğunu fark ederseniz 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â mevcut olan 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 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 bağdaştırıcıları başlatma
Zamana duyarlı reklam fırsatlarınız yüklendikten sonra, uygulama oturumunun geri kalanında tam iş ortağı uyumlulaştırma kapsamı 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.
}];