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ü değiştirerek uygulamanın kullanıcı arayüzüyle daha iyi uyum sağlayabilir: renk filtresi ekleme, tipografiyi değiştirme ve özel yer paylaşımları ekleme. Yayıncılar, doğal reklamların performansını veya kullanıcı deneyimini optimize etmek için genellikle görüntüleme sınırları belirler ya da video oynatmayı SDK'ya devreder. Son olarak, yayıncılar yukarı kaydırma gibi ek etkinlikleri izlemek için reklam tıklama işleyicilerini özelleştirebilir.
Yerel reklam biçimi, diğer reklam biçimlerinin gösterilmesi için gerekenden daha yüksek bir yayıncı güveni düzeyi 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'si aracılığıyla sağlanır. Bu, SDK'nın, istemci uygulaması tarafından değiştirilmeden SDK Çalışma Zamanı sürecinden kullanıcı arayüzü öğeleri göstermesine olanak tanır. 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 above veya Z below modlarını kullanın. Bir reklam Z üstü 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, kendi görünümlerini reklamın üzerinde gösterir ancak reklamla etkileşimden kaynaklanan MotionEvents, SDK'ya değil uygulamaya gider.
privacysandbox.ui Jetpack kitaplıkları, SDK ve yayıncı tarafından bir kullanıcı arayüzü oturumu oluşturmak ve sürdürmek için kullanılabilir.
Uygulamaya ait reklam kapsayıcısı
SDK'nın, doğal reklamı oluşturan tüm görünümlere (uygulamanın yer paylaşımları dahil) sahip olmasına izin vermeyi prototip olarak denedik. Bunun mümkün olduğunu ancak kullanıcı arayüzünde bazı kısıtlamalar getirdiğini ve SDK ile entegrasyonun karmaşıklığını artırdığını tespit ettik. Daha pratik bir yaklaşım, uygulamanın çoğu görünümü sahiplenmesine izin vermektir. SDK, SandboxedSdkView
privacysandbox.ui kullanarak reklam görünümü gibi bazı kullanıcı arayüzlerini kendisi göstermeyi yine de 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 istediği gibi taşıyıp stilini değiştirebilir. SDK ise tercih edilirse video oynatıcının sahipliğini korur ve medya kontrollerine erişimi sürdürür.
Reklam durumuyla ilgili bildirimler
Farklı SDK'lar, sahtekarlık tespiti ve politika ihlalleri için reklam görüntülemelerinin farklı özelliklerini inceler. Hangi özelliklerin kullanılacağını belirtmeden veya sorgulanan özellikler kümesini değiştiren SDK için darboğaz haline gelmeden bu durumu 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ılar içeren bir paketlenebilir nesne olacaktır. Bu tür bilgiler gizliliği korur ve hesaplanması maliyetli değildir. SDK, NativeAdContainerInfo içinde yer alan sinyal kategorilerini etkinleştirebilir. SDK, reklam durumu SDK ile alakalı şekillerde (ör. reklam gösterimi ve kullanıcı tıklamaları gibi faturalandırılabilir etkinlikler) her değiştiğinde bu nesneyi alır.`
Ayrıca yayıncı, NativeAdContainer'ya eklenen her alt öğeye görünüme ö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 orijinal MotionEvent ile birlikte SDK'nın koordinat alanına çevrilmiş özelliklerle SDK'ya yönlendirir. 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'ya aktarmasına olanak tanıyan yöntemler eklemeyi planlıyoruz.
Onaylar
SDK'nın reklam sunumuyla ilgili daha güçlü garantiler alabilmesi için aşağıdaki onaylar kullanılabilir:
- Cihaz bütünlüğü onayı: Cihaz bütünlüğünü belirlemek için Key Attestation gibi platform API'lerini kullanın.
- APK kimliği: APK kimliğini doğrulamak için
SdkSandboxController.getClientPackageNamegibi SdkSandbox API'lerini verequestChecksumgibi PackageManager API'lerini kullanın. VerifiedMotionEvents: Android'in gelecekteki sürümlerinde, istemci uygulamasının bu yerel reklamın SDK'ya ait bölümlerinde tüm kullanıcı hareketleri için dokunma odağını aktarmasını sağlamayı araştırıyoruz. Bu sayede, kullanıcı hareketleri SDK tarafından işlenebilir.MotionEvents, sistem API'leri kullanılarakVerifiedMotionEvents'ye dönüştürülebilir. SDK, kullanıcı etkileşimine yanıt olarak kendi kullanıcı arayüzünü göstermeyi seçebilir.
Açık sorular
VerifiedMotionEventsoluşturma işlemini SDK'nın kendisinin yapması mı, yoksa sağlayıcı kullanıcı arayüzü kitaplığının SDK için yapması mı tercih edilir?- SDK'nın, yayıncının video içeren görünümlerin sahibi olmasını mı yoksa bu görünümlerin sahibi olmasını mı tercih edersiniz?
- Hangi özelliklerin
AppOwnedAdContainerInfonesnesine dahil edilmesini istersiniz? - Ekranda aynı anda kaç SDK'ya ait reklam veya reklam bileşeni göstermeyi planlıyorsunuz?