IMA yükleme süresini iyileştirme

IMA SDK, reklam isteğinde bulunmak, görüntülenebilirliği ölçmek ve reklam gösterimlerini bildirmek için bağımlılıkları yükler. Reklam isteği göndermeden önce IMA'yı başlatarak reklam oynatmadan önce IMA bağımlılıkları yükleme süresini en üst düzeye çıkarırsınız. Bu sayfada, uygulamanızda IMA yükleme sürelerinin nasıl yönetileceği ele alınmaktadır.

Arayın: ImaSdkFactory.initialize()

ImaSdkFactory.initialize() yöntemi, SDK kaynaklarını ilk reklam isteğinden önce ön yüklemeye başlar. initialize() kullanmak için IMA 3.35.1 veya sonraki bir sürüme ihtiyacınız vardır.

ImaSdkFactory.initialize() işlevini uygulama başlatılırken veya uygulamanızın yaşam döngüsünün uygulama yapınıza izin verdiği en erken aşamada çağırın. initialize() çağrısı aşağıdaki parametreleri alır:

  • context: Uygulamanın yaşam döngüsü boyunca her zaman kullanılabilen uygulama bağlamını kullanır.
  • settings: ImaSdkSettings nesnesi, değerleri ayarlanmış şekilde iletilir. initialize() çağrısında kullanılan IMA ayarları, createAdsLoader() çağrısında kullanılan ayar değerleriyle aynı olmalıdır. IMA SDK'sı, önbelleğe alma anahtarı için bu ayarları (özellikle dil ayarını) kullanır. Önbellek kaçırmaları yaşanıp reklam yükleme süresi uzayabileceğinden, initialize() yöntem çağrısında kullanılan ayarlar için test veya sahte değerler kullanmanızı önermeyiz.

AdsLoader örneğini yeniden kullanma

IMA yükleme süresini iyileştirmek için aynı AdsLoader örneğini yeniden kullanmanızı öneririz. AdsLoader arayüzü birden fazla reklam veya yayın isteğini işleyebilir. Her istek için yeni bir AdsLoader örneği oluşturmaktan kaçının. Yeni bir AdsLoader örneği oluşturmak için yükleme süresi gerekir ve ek cihaz kaynakları kullanılır.

ExoPlayer-IMA uzantısıyla yükleme süresini yönetme

ExoPlayer-IMA uzantısını kullanan uygulamalar, her reklam yüklendiğinde bir AdsLoader örneğini yeniden oluşturur. initialize() çağrısı, AdLoader'un ilk reklam isteğini hızlandırır. Yeni etkinlikler için ilk reklam isteğini hızlandırmak amacıyla yeni etkinliğin başında initialize()'ü tekrar arayın.

Oynatma işleminden önce reklam isteme

Reklam oynatmaya başlamadan önce AdsLoader örneğine erişiminiz varsa AdsLoader.requestAds() yöntemini erkenden de çağırabilirsiniz. Bu çağrıyı yaptığınızda videodan önce gösterilen reklamlar yüklenmeye başlar. Kullanıcı içerik oynatmaya hazır olduğunda AdsManager.init() yöntemini çağırın ve reklam oynatmak için LOADED etkinliğini bekleyin.