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:
- Adaptör yapılandırması oluşturma
- Başlatılmamış bağdaştırıcıları atla
- Kalan bağdaştırıcıları başlatma
Ön koşullar
- İçe aktarma Google Mobile Ads SDK 13.4.0 veya daha yeni bir sürüm.
- Google Mobile Ads SDK'i kurun.
Objective-C'de
#import <GoogleMobileAds/GoogleMobileAds_Beta.h>veya Swift'teimport 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
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.
}];