Android'de yerel reklamlar

Doğal reklam biçimi, yayıncının kullanıcıya gösterilen bir reklamı özelleştirmesine olanak tanır. Yayıncılar, SDK'dan bir reklam getirdikten sonra reklamın düzenini ve görünümünü uygulamanın kullanıcı arayüzüyle daha uyumlu olacak şekilde değiştirebilir: Renk filtresi ekleyebilir, yazı tipini değiştirebilir ve özel yer paylaşımları ekleyebilir. Yerel reklamların performansını veya kullanıcı deneyimini optimize etmek için yayıncılar genellikle görüntüleme sınırlarını belirler ya da video oynatmayı SDK'ya aktarır. Son olarak yayıncılar, reklam tıklama dinleyicilerini yukarı kaydırma gibi ek etkinlikleri izlemek için özelleştirebilir.

Yerel reklam biçimi, diğer reklam biçimlerini göstermek için gerekenden daha yüksek düzeyde yayıncı güveni gerektirir. SDK'lar genellikle politika ihlallerini tespit etmek ve yayıncıya verilen reklam içeriğinin kullanıcıya gösterildiğini doğrulamak ister.

SDK çalışma zamanında banner reklam desteği SurfaceControlViewHost API aracılığıyla sağlanır. Bu sayede SDK, istemci uygulaması tarafından değiştirilmeden SDK Çalışma Zamanı sürecindeki kullanıcı arayüzü öğelerini gösterebilir. SDK kullanıcı arayüzünün oluşturulduğu yüzeyin istemci uygulamasının penceresinin üstünde mi yoksa altında mı olduğunu belirlemek için SurfaceView Z üstünde veya Z altında modlarını kullanın. Bir reklam, Z üstünde modu kullanılarak oluşturulduğunda SDK, kullanıcı etkileşiminden MotionEvents alır ancak istemci uygulaması görünümleri reklamın üzerinde görünmez. Bir reklam Z altında modunda oluşturulduğunda uygulama, reklamın üstünde kendi görünümlerini gösterir ancak reklamdaki kullanıcı etkileşiminden gelen MotionEvents SDK'ya değil, uygulamaya gider.

privacysandbox.ui Jetpack kitaplıkları, SDK ve yayıncı tarafından kullanıcı arayüzü oturumu oluşturmak ve sürdürmek için kullanılabilir.

Uygulamaya ait reklam kapsayıcısı

SDK'nın yerel reklamdan (uygulamanın yer paylaşımları dahil) oluşan tüm görünümlere sahip olmasına izin vererek prototip oluşturduk ve bu çözümün uygulanabilir olsa da kullanıcı arayüzüne bazı kısıtlamalar getirdiğini ve SDK ile entegrasyon karmaşıklığını artırdığını tespit ettik. Daha gerçekçi bir yaklaşım, uygulamanın çoğu görüntülemeye sahip olmasına izin vermektir. SDK, privacysandbox.ui kaynağından SandboxedSdkView kullanarak reklam görünümü gibi bazı kullanıcı arayüzlerini göstermeyi seçebilir. Bu yaklaşım, bu reklam biçiminin mevcut ve gelecekteki kullanım alanlarının nasıl destekleneceği konusunda en fazla esnekliği sağlar: Bu yaklaşımla uygulama geliştirici, reklam bileşenlerini taşıyabilir ve gerektiği gibi biçimlendirebilir. SDK ise tercih edilirse video oynatıcının sahipliğini korur ve medya denetimlerine erişimi sürdürür.

Verilerin yayıncı ile SDK arasında nasıl aktığını gösteren şema.
Önerilen doğal reklam kontrol akışı.

Reklam durumuyla ilgili bildirimler

Farklı SDK'lar, sahtekarlık algılama ve politika ihlalleri için reklam görüntülemelerinin farklı özelliklerine bakar. Hangi mülklerin kullanılacağını belirtmeden veya sorgulanan mülk grubunu değiştiren SDK'nın darboğazına dönüşmeden bu özelliği desteklemek istiyoruz. NativeAdContainerInfo kullanarak reklam kapsayıcısının ve alt görünümlerinin bir temsilini oluşturmanızı öneririz. Bu, reklam kapsayıcısı ve içeriğiyle sınırlı bilgileri gösteren çeşitli alıcılara sahip, paketlenebilir bir nesne olacaktır. Bu tür bilgiler gizliliği korur ve hesaplaması pahalı değildir. SDK, NativeAdContainerInfo içinde yer alan sinyal kategorilerini etkinleştirebilir. SDK, reklam durumu SDK ile alakalı şekillerde değiştiğinde (ör. reklam gösterimi ve kullanıcı tıklamaları gibi faturalandırılabilir etkinlikler) bu nesneyi alır.`

Ayrıca yayıncı, NativeAdContainer öğesine eklenen her alt öğeye görüntülemeye özel etiketler (dizeler) ekleyebilir. Bu etiketler, SDK'ya her alt öğenin hangi reklam öğesine karşılık geldiğini bildirmek için kullanılabilir.

Kullanıcı SDK'ya ait görünümleri tıkladığında kullanıcı arayüzü kitaplığı, MotionEvent öğesini SDK'nın koordinat alanına çevrilmiş özelliklerle birlikte orijinal MotionEvent ile birlikte SDK'ya iletir. Android'in gelecekteki sürümlerinde, istemci uygulamasının bu doğal reklamın SDK'ya ait bölümlerindeki tüm kullanıcı hareketleri için dokunma odağını SDK tarafından ele alınmasına izin verecek yöntemler ekleme konusunda araştırma yapıyoruz.

Onaylar

Reklam sunumu hakkında daha güçlü güvence elde etmek için SDK'nın aşağıdaki doğrulamaları kullanması gerekir:

  1. Cihaz bütünlüğü onayı: Cihaz bütünlüğünü belirlemek için Anahtar Onayı gibi platform API'lerini kullanın.
  2. APK kimliği: APK kimliğini doğrulamak için SdkSandboxController.getClientPackageName gibi SdkSandbox API'lerini ve requestChecksum gibi PackageManager API'lerini kullanın.
  3. VerifiedMotionEvents: Android'in gelecekteki sürümlerinde, istemci uygulamasının bu doğal reklamın SDK'ya ait bölümlerindeki tüm kullanıcı hareketleri için dokunma odağını SDK tarafından ele alınacak şekilde aktarmasını etkinleştirmeyi araştırıyoruz. MotionEvents, sistem API'leri kullanılarak VerifiedMotionEvents olarak dönüştürülebilir. SDK, isterse kullanıcı etkileşimine yanıt olarak kendi kullanıcı arayüzünü gösterebilir.

Açık uçlu sorular

  1. VerifiedMotionEvents'ü SDK'nın mı yoksa sağlayıcı kullanıcı arayüzü kitaplığının mı oluşturması tercih edilir?
  2. SDK'nın, yayıncının video içeren görünümlere sahip olmasına mı yoksa bu görünümlere sahip olmasına mı tercih edilir?
  3. AppOwnedAdContainerInfo nesnesine hangi özellikleri dahil etmek istersiniz?
  4. Ekranda aynı anda kaç SDK'ya ait reklam veya reklam bileşeni gösterilmesini bekliyorsunuz?