Uyumlulaştırma, satıcı tarafı reklam platformlarının getiri yönetimi sunmak için kullandığı yaygın bir yöntemdir. Uyumlulaştırma iş akışında, uyumlulaştırma SDK'sı ("aracı"), belirli bir alan için en iyi reklamı elde etmek üzere birden fazla reklam ağını ("aracılı" veya "aracılılar") çağırır. Bazı durumlarda hem aracı hem de çağırdığı reklam ağlarının SDK'larının cihazda bulunması ve etkileşimde bulunması gerekir.
Bu belgede, SDK Runtime'daki arabuluculuk iş akışlarında yapılan önemli değişiklikler özetlenmektedir. Bu makalede aşağıdaki konular ele alınmaktadır:
- Önceki uyumlulaştırma akışları ile mevcut SDK Çalışma Zamanı uyumlulaştırma desteği arasındaki farklar
- SDK Çalışma Zamanı'ndaki uyumlulaştırma iş akışları ve geçişin farklı aşamaları için kurulum işlemleri
- Tüm SDK'ların Çalışma Zamanı'na taşınmadığı senaryoların nasıl ele alınacağıyla ilgili rehberlik
SDK Çalışma Zamanı'nda aracılı reklamlar için destek, AGP 8.5'ten ve SDK Çalışma Zamanı Jetpack kitaplıklarının aşağıdaki sürümlerinden itibaren kullanılabilir:
| Androidx kitaplığı | Sürüm |
|---|---|
| androidx.privacysandbox.activity | 1.0.0-alpha01 |
| androidx.privacysandbox.sdkruntime | 1.0.0-alpha13 |
| androidx.privacysandbox.tools | 1.0.0-alpha08 |
| androidx.privacysandbox.ui | 1.0.0-alpha09 |
Sözlük
SDK Çalışma Zamanı'nda aracılığı anlamak için aşağıdaki terimler önemlidir:
- Çalışma zamanı etkin SDK (RE SDK): SDK çalışma zamanı ortamında çalışmak ve uygulamayla süreçler arası iletişim (IPC) üzerinden iletişim kurmak için oluşturulan bir SDK.
- Çalışma zamanı özellikli olmayan SDK (RA SDK): Uygulamaya statik olarak bağlanan, çalışma zamanı özellikli olmayan bir SDK. Mevcut SDK kodunuzun yanı sıra çalışma zamanı özellikli SDK'nızı çağırmak için yeni kod içerebilir.
- Uygulama içi SDK: Uygulamaya statik olarak bağlı şekilde çalışan ve SDK Çalışma Zamanı'nın farkında olmayan bir SDK. Bu, SDK çalışma zamanına geçiş yapmamış bir reklam ağı veya yayıncının özel bağdaştırıcısı olabilir.
- Aracı: Diğer reklam ağı SDK'larıyla etkileşim kurarak cihaz üzerinde uyumlulaştırma hizmeti sağlayan reklam uyumlulaştırma SDK'sı.
- Uyumlulaştırılan: Bir reklam sağlamak ve oluşturmak için Uyumlulaştırıcı tarafından çağrılan reklam ağı SDK'sı.
- Uyumlulaştırma Bağdaştırıcısı: Çeşitli uyumlulaştırılmış SDK'larla birlikte çalışmak için API arayüzü çevirisi sağlamak üzere aracı SDK'sı tarafından kullanılan SDK'lar. Genellikle aracı tarafından sağlanır. Bunlar, çalışma zamanı hakkında bilgi sahibi olabilir veya olmayabilir.
Tipik uyumluluk işlemleri akışları
SDK'nızın SDK çalışma zamanında uyumlulaştırma kullanım alanlarını desteklemesi gerekiyorsa bazı değişiklikler yapmanız gerekir. Bu bölümde, aracıların ve aracılık yapılanların ihtiyaç duyduğu değişiklikleri ele alabilmek için aracılık akışlarının temel unsurları incelenmektedir.
Açıkladığımız akışlar, birden fazla reklam ağı SDK'sının kullanıldığı cihaz üzerinde uyumlulaştırmanın basitleştirilmiş bir sürümünü temsil eder ve uyumlulaştırma yolculuklarının SDK çalışma zamanıyla uyumlu hale getirilmesi için gereken değişiklikler hakkında tartışmaya zemin hazırlar.
Uyumlulaştırma akışı uygulamalarındaki farklılıklar nedeniyle aşağıdaki iki ana akışa odaklanıyoruz:
- Başlatma (reklam ağlarının keşfedilmesi ve iletişim dahil)
- Reklam kullanıcı arayüzü (UI) sunumu
Başlatma
Aşağıda standart bir başlatma, reklam ağı keşfi ve iletişim akışı gösterilmektedir:
- İstemci uygulaması aracıyı başlatır.
- Aracı, ilgili aracıları ve bağdaştırıcıları keşfeder ve başlatır.
- Aracı, her uyumlulaştırılanla iletişim kurmak için bağdaştırıcılarını kullanır.
- İstemci uygulaması, aracıdan reklam yüklemesini ister
- İstemci uygulaması, bu reklamın gösterilmesi için aracıdan istekte bulunur.
Reklam Kullanıcı Arayüzü Sunumu
Önceki adımdaki son istekten sonra reklamın oluşturulması söz konusu olduğunda akış, reklamın türüne bağlıdır:
| Banner reklamlar | Tam ekran reklamlar | Doğal reklamlar |
|---|---|---|
| Aracı SDK, kazanan aracı reklam öğesinin reklam görünümünü sarmalayan bir reklam görünümü oluşturur. Bu görünümde dinleyiciler de ayarlayabilir veya reklamı otomatik olarak yenileyebilir (aynı ya da farklı bir aracı kullanarak). |
Aracı SDK, aracıdan tam ekran reklam ister. Bu da bir Etkinlik başlatır. | Yayıncı, aracı SDK'sı tarafından döndürülen bileşenleri kullanarak görüntüleme işleme ve şişirme işlemlerini yönetir. |
SDK Çalışma Zamanı'ndaki uyumlulaştırma akışları
Uyumlulaştırmanın SDK çalışma zamanı içinde işleyiş şekli, uyumlulaştırılanın çalışma zamanı özelliğinin etkin olup olmamasına bağlı olarak değişir. Buna göre aşağıdaki senaryoları ele alabiliriz:
- Hem arabulucu hem de arabuluculuk yapılan taraf SDK Çalışma Zamanı'ndadır: RE mediatee
- Aracı, SDK çalışma zamanında, aracılandırılan ise uygulama içinde: Uygulama içi aracılandırılan
RE Mediatee
Aşağıdaki mimari şemada, aracıların çalışma zamanı etkin (RE) ve çalışma zamanı uyumlu (RA) SDK'larının, RE uyumlulaştırma bağdaştırıcılarının ve aracıların RE SDK'larının etkileşimine dair üst düzey bir genel bakış gösterilmektedir.
Aracılık bağdaştırıcılarının, arayüz oluşturdukları aracıyla aynı süreçte olması gerekir. Bu nedenle, SDK Çalışma Zamanı'na da taşınmaları gerekir.
Başlatma
Hem çalışma zamanı etkin aracının hem de aracının başlatılması, keşfedilmesi ve iletişimi göz önünde bulundurulduğunda akış aşağıdaki adımları izler:
- Uygulama (veya RA SDK),
SdkSandboxManager#loadSdkkullanarak aracı SDK'sını yükler ve başlatır. - Aracı SDK, başlatma sırasında
SdkSandboxController#loadSdkkullanarak SDK Çalışma Zamanı'nda gerekli tüm aracıları yükler ve başlatır. - RE SDK,
SdkSandboxController#getSandboxedSdksçağrısı yaparak çalışma zamanında yüklenen tüm SDK'ları keşfedebilir.
Reklam Kullanıcı Arayüzü Sunumu
Aşağıdaki bölümde, bir aracıdan banner ve tam ekran reklam yükleme konusu ele alınmaktadır.
RE Mediatee banner reklamları
Uygulamadan bir banner reklam yükleme isteği geldiğinde oluşturma işlemini tamamlama akışı aşağıdaki gibidir:
- Aracı, bu reklam için kazanan aracıyı seçer.
- Aracı, aracıdan bir
SandboxedUiAdapteralır. - Aracı, UiAdapter'ı uygulamaya yönlendirir.
SandboxedUiAdapter ve SDK Runtime UI Library'nin kullanımı hakkında daha fazla bilgi edinin.
Banner reklamlara yer paylaşımları
Aracılar, reklama bir yer paylaşımı eklemek isterse akışı aşağıdaki gibi değiştirmeleri gerekir:
- Aracı, yer paylaşımı ve
SandboxedSdkViewile bir düzen oluşturur. - Aracı, bu reklam için kazanan aracıyı seçer.
- Aracı, aracıdan
SandboxedUiAdapteralır. - Aracı, arabuluculuk yapılan tarafın
UiAdapterdeğeriniSandboxedSdkViewolarak ayarlar. - Aracı, doldurulmuş görünümü uygulamayla paylaşır.
RE Mediatee tam ekran reklamları
Uygulamadan tam ekran reklam yükleme isteği geldiğinde akış şu adımları izler:
- Uygulama (veya RA SDK), reklam yükleme isteğiyle birlikte aracıya bir
SdkActivityLaunchergeçirir.- İstemci, bir yüklem kullanarak etkinlik oluşturmayı kısıtlayabilir.
- Aracı, bu reklam için kazanan aracıyı seçer.
- Aracı, uygulamadan
SdkActivityLauncherdeğerini geçirerek aracıdan reklam yüklemesini ister. - Aracı, bir etkinlik işleyici kaydeder ve kaydedilen etkinlik için bir tanımlayıcı jetonu alır.
- Arabuluculuk yapılan taraf, bu jetonu kullanarak bir etkinliğin başlatılmasını istemek için
SdkActivityLauncheröğesini kullanır. - İstemci uygulamasının koşulu izin veriyorsa SDK Çalışma Zamanı bu etkinliği özel işlemde başlatır.
SDK Çalışma Zamanı'nda tam ekran reklamlar için etkinlik desteği hakkında daha fazla bilgi edinin.
Uygulama içi arabuluculuk
Aşağıdaki mimari şemada, aracıya ait RE ve RA SDK'larının, SDK Çalışma Zamanı'nın farkında olmayan uyumlulaştırma bağdaştırıcılarının ve uygulamaya statik olarak bağlı olan aracı SDK'larının (çalışma zamanı farkında olmayan) etkileşimine dair üst düzey bir genel bakış gösterilmektedir.
Başlatma
Bu senaryoda uyumlulaştırılanlar uygulamaya statik olarak bağlandığından ve henüz SDK Çalışma Zamanı'na geçirilmediğinden, uyumlulaştırıcının çalışma zamanı etkin SDK'sı bunları kaydetmek için bir sürece sahip olmalıdır.
Bu kayıt, arabulucunun API'si kullanılarak erişilebilir olmalıdır ancak uygulama ayrıntıları her arabulucunun takdirine bırakılır. Bu API'ye
MediationSandboxedSdk#registerInAppMediatee adını veriyoruz.
Bir aracı SDK'sının ve uygulama içi uyumlulaştırma SDK'larının başlatılması, keşfedilmesi ve iletişimi göz önünde bulundurulduğunda akış şu adımları izler:
- Uygulama, arabulucunun çalışma zamanı farkında olan SDK'sını yükler ve başlatır.
- Arabulucunun RA SDK'sı:
SdkSandboxManager#loadSdkkullanarak arabulucunun RE SDK'sını başlatır.- Tüm uygulama içi aracı SDK'larını başlatır.
- RE SDK'nın sağladığı API'yi (
MediationSandboxedSdk#registerInAppMediate) kullanarak uygulama içi aracı SDK'larını keşfeder ve kaydeder.
Aracı SDK'sı, uygulama içi tüm aracı SDK'larının kayıtlı olmasının yanı sıra SdkSandboxController#getSandboxedSdks kullanarak SDK çalışma zamanına yüklenen tüm SDK'ları da keşfedebilir.
Reklam Kullanıcı Arayüzü Sunumu
Aşağıdaki bölümde, uygulama içi bir aracıdan banner ve tam ekran reklamların yüklenmesi ele alınmaktadır.
Uygulama içi aracı banner reklamlar
Uygulamadan bir banner reklam yükleme isteği geldiğinde oluşturma işlemini tamamlama akışı aşağıdaki gibidir:
- Aracının çalışma zamanı hakkında bilgi sahibi SDK'sı, uygulamanın isteğini çalışma zamanı etkin SDK'sına yönlendirir.
- Aracının RE SDK'sı, ilgili aracıya iletilen reklamı seçer.
- Aracının RE SDK'sı, aracılık edilen öğeye referansı alır ve RA SDK aracılığıyla reklam yükleme isteğinde bulunur.
- RA SDK'sı, uygulama içi aracıdan bir Görünüm alır.
- RA SDK, aldığı görünüm için bir
SandboxedUiAdapteroluşturur. - RA SDK,
UiAdapterdeğerini RE SDK'ya yönlendirir. - RE SDK,
UiAdapteruygulamanın önüne yönlendirir.
Uygulama içi araya giren tam ekran reklamlar
Uygulamadan tam ekran reklam yükleme isteği geldiğinde akış şu adımları izler:
- Uygulama, reklam yükleme isteğiyle birlikte aracıya ait RA SDK'sına bir
SdkActivityLaunchergeçirir.- İstemci, bir yüklem kullanarak etkinlik oluşturmayı kısıtlayabilir.
- Aracının RA SDK'sı, uygulamanın isteğini RE SDK'sına yönlendirir.
- Aracının RE SDK'sı:
- İlgili arabulucuyu seçer.
- Uygulama içi reklam öğesi referansını alır.
- RA SDK aracılığıyla reklam yükleme istekleri.
- RA SDK, uyumlulaştırılan taraftan reklam yüklemesini ister.
- Arabuluculuk yapılan taraf, etkinliği doğrudan başlatır. Uygulamanın yüklemine uyulmaz.
Etkileşim kurma ve geri bildirim paylaşma
Android'deki Özel Korumalı Alan, devam eden bir projedir ve bu belgede mevcut tasarımı yansıtılmaktadır. Özelliklerini geliştirmeye ve iyileştirmeye devam ederken geri bildirimleriniz bizim için çok önemli. Geri bildirimde bulunmak için hata kaydı oluşturun.