Android için Teklif ve Açık Artırma Hizmetleri tasarım teklifinde, Güvenilir Teklif ve Açık Artırma sunucusu kullanılarak Android'de açık artırmaların yürütülmesi ve veri akışı ayrıntılı olarak açıklanmaktadır. Aktarım halindeki verilerin yalnızca gizliliği koruyan API'ler ve güvenilir sunucular tarafından işlenmesi için veriler, istemci ile sunucu arasında iki yönlü karma açık anahtar şifreleme kullanılarak şifrelenir.
Açık artırmayı daha önce açıklandığı şekilde çalıştırmak için cihazdaki satıcı reklam teknolojisi aşağıdaki adımları gerçekleştirmelidir:
- Sunucu açık artırması için verileri toplama ve şifreleme
- Güvenilmeyen Satıcı Hizmeti'ne istek gönderme
- Güvenilir olmayan bir satıcı hizmetinden yanıt alma
- Protected Audience açık artırma yanıtının şifresini çözme ve açık artırma sonucunu alma
Protected Audience, sunucu açık artırmalarını desteklemek için iki yeni API kullanıma sunuyor:
getAdSelectionData
API'si, sunucu açık artırması için veri toplar ve açık artırma verilerini içeren şifrelenmiş bir yük oluşturur. Teklif ve Açık Artırma sunucusu, açık artırma çalıştırmak, açık artırma sonucunu oluşturmak ve açık artırma sonucunu döndürmek için bu yükü kullanır.- Cihaz üzerinde reklam teknolojisi istemcileri, sunucu açık artırması tarafından oluşturulan sonucun şifresini çözmek ve kazanan reklam oluşturma URL'sini almak için
persistAdSelectionResult
API'yi çağırabilir.
Cihazdaki satıcı reklam teknolojisinin açık artırma çalıştırması için aşağıdakileri entegre etmesi ve oluşturması gerekir:
- Sunucu açık artırması satıcısı için verileri toplayıp şifreleme: Reklam teknolojisi, şifrelenmiş yükü almak için
getAdSelectionData
API'yi çağırmalıdır. - Güvenilir Olmayan Satıcı Hizmetine İstek Gönder:
getAdSelectionData
API tarafından oluşturulan şifrelenmiş yükü ve güvenilir olmayan satıcı hizmetinin bağlamsal sonuçlar oluşturmak için ihtiyaç duyduğu verileri güvenilir olmayan satıcı hizmetine gönderen birHTTP POST
veyaPUT
isteği. - Güvenilir olmayan satıcı hizmetinden yanıt alın: Güvenilir olmayan satıcı hizmetinden gelen yanıt, şifrelenmiş korumalı kitle açık artırma sonucunu ve bağlamsal açık artırma sonucunu içerir.
- Protected Audience açık artırma yanıtının şifresini çözme ve açık artırma sonucunu alma:
Protected Audience açık artırma sonucunun şifresini çözmek için satıcı reklam teknolojisinin
persistAdSelectionResult
API'yi çağırması gerekir.persistAdSelectionResult
tarafından oluşturulan sonuç, reklam teknolojilerinin açık artırmayı içerik reklamının mı yoksa korumalı kitle reklamının mı kazandığını ve varsa kazanan korumalı kitle reklamının URI'sini belirlemesine yardımcı olur.
Sunucu açık artırması için desteklenen özellikler
Şu anda cihaz üzerinde açık artırma için kullanılabilen tüm özellikleri desteklemeyi amaçlıyoruz. Sunucu açık artırmasında bu özelliklerin desteklenme zaman çizelgesi aşağıdaki gibidir:
Cihaz üzerinde açık artırma |
Sunucu Açık Artırması |
|||
Geliştirici Önizlemesi |
Beta |
Geliştirici Önizlemesi |
Beta |
|
Etkinlik düzeyinde kazanç raporlaması |
2023 1. Çeyrek |
2023 3. Çeyrek |
Yok |
2023 4. Çeyrek |
2023 1. Çeyrek |
2023 4. Çeyrek |
Yok |
24. çeyrek |
|
2023 2. çeyrek |
2023 3. Çeyrek |
Yok |
2023 4. Çeyrek |
|
Bağlamsal reklamları filtreleme için reklam seçim iş akışına aktarma |
2023 2. çeyrek |
2024 1. Çeyrek |
Yok |
Yok |
2023 2. çeyrek |
2023 3. Çeyrek |
Yok |
2023 4. Çeyrek |
|
2023 3. Çeyrek |
2023 4. Çeyrek |
Yok |
2023 4. Çeyrek |
|
BGBM dışı faturalandırma |
2023 3. Çeyrek |
2023 4. Çeyrek |
||
Hata ayıklama |
2023 3. Çeyrek |
2023 4. Çeyrek |
2023 3. Çeyrek |
2023 4. Çeyrek |
Open Bidding uyumlulaştırması |
Yok |
Yok |
Yok |
2024 1. Çeyrek |
2023 2. çeyrek |
2024 1. Çeyrek |
Yok |
2024 1. Çeyrek |
|
Para birimi yönetimi |
Yok |
Yok |
Yok |
2024 1. Çeyrek |
K-anon entegrasyonu |
Yok |
2024 1. Çeyrek |
Yok |
2024 1. Çeyrek |
Private Aggregation entegrasyonu |
Yok |
Yok |
Yok |
2024 3. Çeyrek |
Protected Audience API'leri kullanarak sunucu açık artırmaları yapma
Geliştirici Önizlemesi kanalında AdSelectionManager iki yeni API'yi kullanıma sunar:
getAdSelectionData
ve persistAdSelectionResult
. Bu API'ler, reklam teknolojisi SDK'larının Teklif Verme ve Açık Artırma sunucularıyla entegre olmasına olanak tanır.
Sunucu açık artırması için veri toplama ve şifreleme
getAdSelectionData
API, BuyerInput
ve ProtectedAudienceInput
gibi Teklif Verme ve Açık Artırma bileşenleri için gerekli girişi oluşturur ve sonucu arayan kullanıcıya sunmadan önce verileri şifreler. Verilerin uygulamalar arasında sızmasını önlemek için bu veriler, cihazdaki tüm alıcılardan alınan bilgileri içerir. Bu karar hakkında daha fazla bilgiyi Gizlilik hususları bölümünde, bu kararı optimize etme stratejilerini ise Boyut hususları bölümünde bulabilirsiniz.
API'ye erişmek için Protected Audience API erişimi etkinleştirilmeli ve ACCESS_ADSERVICES_CUSTOM_AUDIENCE
izni, çağıranın manifest dosyasında tanımlanmalıdır.
public class AdSelectionManager {
public void getAdSelectionData(
GetAdSelectionDataRequest getAdSelectionDataRequest,
Executor executor,
OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver) {}
}
GetAdSelectionDataRequest
- İsteği işleme almadan önce kayıt kontrolleri yapmak için kullanılan
seller
alanını arayanın ayarlaması gerekir. coordinatorOriginUri
alanı isteğe bağlıdır.- Ayarlanmışsa bu, satıcının B&A sunucusunu dağıtırken yapılandırılan koordinatör URL'sinin şemasına, ana makine adına ve bağlantı noktasına eşit olmalıdır.
- Koordinatör, onaylanmış koordinatörler listesinde yer almalıdır:
Sağlayıcı URI URI Kaynağı Varsayılan Google Cloud https://publickeyservice.pa.gcp.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.gcp.privacysandboxservices.com Evet Amazon Web Services https://publickeyservice.pa.aws.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.aws.privacysandboxservices.com Hayır - Koordinatör kaynağı belirtilmezse varsayılan koordinatör kullanılır.
- Koordinatör URL'sinin değişme olasılığı çok düşük olsa da bu URL'yi dinamik olarak yönetmek için bir mekanizma uygulamanız önemle tavsiye edilir. Bu sayede, URL'de gelecekte yapılacak değişikliklerin yeni bir SDK sürümü yayınlamayı gerektirmeden uygulanabilmesi sağlanır.
public class GetAdSelectionDataRequest {
public setSeller(AdTechIdentifier seller);
public setCoordinatorOriginUri(Uri coordinatorOriginUri)
}
İstek doğrulandıktan sonra cihaz üzerindeki alıcı verileri BuyerInput
ve ProtectedAudienceInput
olarak derlenir. Ardından nihai yük nesnesi, iki yönlü karma ortak anahtar şifreleme kullanılarak şifrelenir.
GetAdSelectionDataOutcome
GetAdSelectionDataOutcome
, getAdSelectionData
API'sinin sonucu olarak oluşturulur. Şunları içerir:
adSelectionId
:getAdSelectionData
çağrısının bu örneğini tanımlayan saydam bir tam sayı. Reklam teknolojisi istemcisi,getAdSelectionData
çağrısının işaretçisi olarak işlev gördüğü için buadSelectionId
değerini korumalıdır. Bu tanımlayıcı, teklif ve açık artırma sunucusundaki açık artırma sonucunun şifresini çözmek içinpersistAdSelectionResult
API tarafından vereportImpression
ilereportEvent
API'leri tarafından da gereklidir.adSelectionData
: Bu, açık artırmaları çalıştırmak için Teklif ve Açık Artırma sunucusunun ihtiyaç duyacağı şifrelenmiş açık artırma verileridir. Bu yöntem şunları içerir:- Özel kitleler için sıklık sınırına, uygulama yükleme filtrelerine ve sunucu açık artırma koşullarına göre filtrelenmiş özel kitle verileri.
- Gelecek bir sürümde uygulama yükleme verileri de eklenecektir.
public class GetAdSelectionDataOutcome {
Public getAdSelectionId(long adSelectionId);
public byte[] getAdSelectionData();
}
Hatalar, istisnalar ve hata işleme
Reklam seçimi verilerinin oluşturulması, geçersiz bağımsız değişkenler, zaman aşımı veya aşırı kaynak tüketimi gibi nedenlerle başarıyla tamamlanamazsa OutcomeReceiver.onError()
geri çağırma işlevi, aşağıdaki davranışlara sahip bir AdServicesException
sağlar:
getAdSelectionData
geçersiz bağımsız değişkenlerle başlatılırsaAdServicesException
, bunun nedeninin IllegalArgumentException olduğunu belirtir.- Diğer tüm hatalar için neden olarak
IllegalStateException
içeren birAdServicesException
gönderilir.
Güvenilmeyen bir satıcı hizmetine istek gönderme
Cihaz üzerinde SDK, AdSelectionData
'ü kullanarak verileri bir POST
veya PUT
isteğine ekleyerek satıcının reklam hizmetine istek gönderebilir:
fetch('https://www.example-ssp.com/auction', {
method: "PUT",
body: data,
...
})
Bu verilerin kodlanmasından cihaz üzerinde SDK sorumludur. İsteği satıcının reklam hizmetine çok parçalı/form verisi olarak göndermek gibi yerden tasarruf sağlayan bir çözümün kullanılması önerilir.
Güvenilir olmayan bir satıcı hizmetinden yanıt alma
Teklif Verme ve Açık Artırma Sunucusu açıklamalı makalesinde belirtildiği gibi, güvenilmeyen satıcı hizmeti isteği aldığında bağlamsal reklamlar için iş ortağı alıcılara çağrı yapar.
Güvenilir olmayan satıcı hizmeti, şifrelenmiş adSelectionData
ve AuctionConfig
öğelerini bir TEE'de çalışan Teklif ve Açık Artırma sunucusunun SellerFrontEnd hizmetine iletir.
Protected Audience açık artırması tamamlandığında SellerFrontEnd hizmeti, açık artırma sonucunu şifreler ve güvenilmeyen satıcı hizmetine yanıt olarak döndürür.
Güvenilmeyen satıcı hizmeti, cihaza bağlam reklamı ve / veya şifrelenmiş Protected Audience açık artırma sonucunu içeren bir yanıt gönderir.
Cihazdaki satıcı reklam teknolojisi kodu, yanıtı aldığında yalnızca yanıttaki bağlamsal reklamı kullanmayı seçebilir veya Protected Audience sonucunu almanın artımlı bir değer olduğunu düşünürse PersistAdSelectionResult
API'yi çağırarak Protected Audience sonucunun şifresini çözmeyi seçebilir.
PersistAdSelectionResult API
Satıcı reklam teknolojisi, Protected Audience sonucunun şifresini çözmek için ikinci Protected Audience API'yi persistAdSelectionResult
çağırabilir. API, sonucun şifresini çözer ve günümüzde cihaz üzerinde açık artırmadan döndürülen nesneyle aynı olan bir AdSelectionOutcome
döndürür.
API'ye erişmek için arayanın Protected Audience API'ye erişimi etkinleştirmesi ve manifest dosyasında ACCESS_ADSERVICES_CUSTOM_AUDIENCE
iznini tanımlaması gerekir.
public void persistAdSelectionResult(
PersistAdSelectionResultRequest persistAdSelectionResultRequest,
Executor executor,
OutcomeReceiver<AdSelectionOutcome, Exception> receiver) {}
PersistAdSelectionResultRequest
Arayan, istekte aşağıdakileri ayarlamalıdır:
public final class PersistAdSelectionResultRequest {
Public setAdSelectionId(long adSelectionId);
public setSeller(AdTechIdentifier seller);
public setAdSelectionResult(byte[] adSelectionResult);
}
adSelectionId
:getAdSelectionData
araması tarafından oluşturulan ve arayanın sonucunun şifresini çözmek istediği opak tanımlayıcı.seller
: İsteğin karşılanması için kayıt kontrolleri çalıştırmak üzere satıcı reklam teknolojisi tanımlayıcısı isteğinde ayarlanmalıdır.adSelectionResult
: Teklif Verme ve Açık Artırma sunucusu tarafından oluşturulan ve arayanın şifresini çözmek istediği şifrelenmiş açık artırma sonucu.
AdSelectionOutcome yanıtı
Protected Audience kazananı varsa AdSelectionOutcome
, kazanan reklamın oluşturulma URI'sini döndürür.adSelectionResult
'nin şifresi çözüldükten sonra raporlama verileri dahili olarak devam ettirilir. OutcomeReceiver.onResult()
geri çağırma işlevi, aşağıdakileri içeren bir AdSelectionOutcome
döndürür:
URI
: Kazanan bir Protected Audience reklamı varsa kazanan reklam için bir reklam oluşturma URL'si döndürülür. Protected Audience kazananı yoksa "Uri.EMPTY" döndürülür.adSelectionId
: Bu sunucu açık artırma çalışmasıyla ilişkiliadSelectionId
.
Hatalar, istisnalar ve hata işleme
Reklam seçimi verilerinin oluşturulması, geçersiz bağımsız değişkenler, zaman aşımı veya aşırı kaynak tüketimi gibi nedenlerle başarıyla tamamlanamazsa OutcomeReceiver.onError()
geri çağırma işlevi, aşağıdaki davranışlara sahip bir AdServicesException
sağlar:
getAdSelectionData
geçersiz bağımsız değişkenlerle başlatılırsaAdServicesException
, neden olarakIllegalArgumentException
değerini gösterir.- Diğer tüm hatalar için neden olarak
IllegalStateException
içeren birAdServicesException
gönderilir.
Gizlilik Hakkında Dikkat Edilmesi Gerekenler
adSelectionData
, aktarım sırasındaki verilere yalnızca PPAPI ve güvenilir sunucuların erişebilmesini sağlamak için şifrelenir.
Şifrelemeye rağmen adSelectionData
boyutu nedeniyle veri sızıntısı yaşanabilir. adSelectionData
boyutu aşağıdakiler nedeniyle değişiklik gösterebilir:
- Cihazdaki
CustomAudience
verilerinde değişiklik CustomAudience
filtreleme mantığında yapılan değişiklikler.getAdSelectionData
araması için girişte yapılan değişiklikler.
adSelectionData
boyutunda yapılan değişiklik, 1 bitlik sızıntı tartışmasında belirtildiği gibi uygulamalar arası bir tanımlayıcı oluşturmak için kullanılabilir. 1 bitlik sızıntı için geçerli olan birçok azaltma yöntemi burada da geçerlidir.
Bu sızıntıları yönetmek için getAdSelectionData
API'sine yapılan tüm çağrılar için aynı adSelectionData
değerini oluşturmayı planlıyoruz. İlk sürümlerde, cihazdaki tüm CustomAudiences
, adSelectionData
oluşturmak için kullanılır ve şifrelenmiş yük, boyut farklılıklarını maskelemek için doldurulur. Ayrıca, GetAdSelectionData
giriş parametrelerinin oluşturulan adSelectionData
üzerindeki etkisini de kısıtlarız.
Ancak cihaz üzerindeki tüm açık artırma verilerini kullanarak tüm reklam teknolojileri için aynı adSelectionData
değerini oluşturmak, artık reklam teknolojisi sunucusuna yapılan her çağrıda aktarılması gereken büyük bir yük oluşturur. Açık artırma yükü oluşturmak için tüm cihaz üzerinde özel kitlelerin kullanılması, ekosistemi kötü amaçlı öğelerin kötüye kullanımına da açar. Bu endişeleri aşağıdaki Boyut optimizasyonları ve Kötüye kullanım azaltma bölümlerinde ele aldık.
Boyut optimizasyonları
Reklam teknolojisi istemci SDK'sının, adSelectionData
'ün şifrelenmiş baytlarını reklam teknolojisi sunucusuna yapılan HTTP PUT/POST
bağlamsal çağrısına paketlemesi beklenir. Dönüş süresi gecikmesini ve maliyetini azaltmak için, adSelectionData
boyutunu, işlevselliği etkilemeyecek şekilde mümkün olduğunca küçültmeniz gerekir.
adSelectionData
boyutunu azaltmak için gelecekteki sürümlerde aşağıdaki optimizasyonları keşfetmeyi ve olasılıkla kullanıma sunmayı planlıyoruz:
Dolgu içeren sabit bir grup paket boyutunda oluşturulan yük: Daha düşük yüklere izin verirken boyut farklılıklarından kaynaklanan kaybı en aza indirmek için oluşturulan yük için sabit boyutta paketleme kullanmanızı öneririz. Paket sayısının küçük tutulması (ör. 7)
getAdSelectionData
çağrısı başına 3 bitten az entropi sızıntısına neden olur.Cihaz üzerindeki veriler maksimum paket boyutunu aşarsa hangi verilerin bırakılacağına karar vermek için aşağıda belirtilen stratejiler (ör. öncelik değerleri) kullanılır.
Alıcı Yapılandırması: Alıcıların alıcı başına bir yükü yapılandırmalarına izin vermenin fizibilitesini değerlendiriyoruz. Bu yapılandırma, bir alıcının katılmak istediği açık artırmaları belirlemek için yararlı olur. Mümkünse bir alıcı reklam teknolojisi, kayıt sırasında Protected Audience'ın günlük düzenli bir ritimde yükü yapılandırmasını alacağı bir uç nokta kaydedebilir. Alternatif olarak, gizliliği korumaya yönelik API'ler, alıcı reklam teknolojilerinin bu uç noktayı kaydettirmesine izin vermek için bir API gösterir.
Bu yapılandırma daha sonra, her
getAdSelectionData
isteği için oluşturulanadSelectionData
değerine bir alıcının katkısını değerlendirmek için kullanılır.Alıcı yükü yapılandırması, alıcıların şunları belirtmesine olanak tanır:
- İzin verilen satıcılar listesi: Alıcı özel kitleleri, yalnızca
getAdSelectionData
çağrısı izin verilenler listesindeki bir satıcı tarafından başlatılırsa yüke eklenir. İzin verilenler listesini güncel tutmak için yük yapılandırmasını günlük olarak getiririz. - Satıcı başına boyut sınırı: Alıcı, belirli bir satıcı tarafından açık artırma başlatıldığında yükü içinde gönderilecek veri boyutunu belirlemek için satıcı başına boyut sınırı belirtebilir. Bu özellik, belirli satıcıların açık artırma verilerini işlemeye daha fazla kaynak ayırmak isteyen alıcılar için yararlı olabilir. SellerFrontendService, her BuyerFrontendService'e yalnızca alıcıya özgü verileri iletir. Bu nedenle, bir alıcı satıcı başına bir boyut sınırı tanımlayarak, bir satıcı tarafından yürütülen açık artırmalar için teklif verme ve açık artırma sunucusundaki BuyerFrontendService tarafından alınan ve işlenen veri miktarını açıkça kontrol edebilir.
- İzin verilen satıcılar listesi: Alıcı özel kitleleri, yalnızca
Satıcı Yapılandırması: Satıcıların yükü boyutunu ve açık artırma katılımcılarını kontrol etmek için açık artırma parametrelerini tanımlamasına olanak tanıyacak satıcı başına açık artırma yapılandırmasının uygulanabilirliğini değerlendiriyoruz. Mümkünse kayıt sırasında satıcı reklam teknolojisi, Protected Audience'ın satıcı başına açık artırma yapılandırmasını düzenli bir ritimde alabileceği uç noktayı belirtebilir. Bu yapılandırma daha sonra her
getAdSelectionData
isteği için oluşturulanadSelectionData
öğesinin bileşimini ve sınırlarını belirlemek üzere kullanılır.Alıcı yapılandırmasına benzer şekilde satıcı başına yapılandırması, satıcıların bir açık artırmada hangi alıcı grubunu görmeyi beklediklerini belirtmesine ve alıcı başına yük boyutuna katkı sınırlarını belirtmesine olanak tanır.
Satıcı açık artırma yapılandırması, satıcıların şunları belirtmesine olanak tanır:
- İzin verilen alıcı listesi: Belirtilen satıcı tarafından başlatılan açık artırmalar için yalnızca izin verilenler listesindeki alıcılar açık artırma için CustomAudiences katkıda bulunabilir. İzin verilenler listesinin sunucu tarafı alıcı izin verilenler listesiyle güncel kalması için açık artırma yapılandırmasının günlük olarak güncellenmesi gerekir.
- Alıcı başına boyut sınırı: Satıcılar, her alıcı tarafından SellerFrontendService'e gönderilen yüke yüklenen veri boyutunu düzenlemek için alıcı başına bir sınır belirtebilir. Alıcı, alıcı başına boyut sınırını aşarsa verileri beklenen sınırlar dahilinde almak için alıcı yükü yapılandırmasında ayarlanan CustomAudience önceliği kullanılır.
- Alıcı başına öncelik: Satıcıların alıcı başına öncelik belirlemesine izin verin. Yük boyutu, yük boyutu sınırını aşarsa hangi alıcı verilerinin yükte tutulacağını belirlemek için alıcı önceliği kullanılır.
- Yük için maksimum boyut sınırı: Farklı satıcıların farklı kaynak tahsisi olabilir ve istek başına açık artırma yükü için maksimum boyut sınırı belirlemek isteyebilirler. Maksimum boyut sınırı, Protected Audience API tarafından belirlenen sabit boyuttaki paketlere uyar.
Özel Kitle değişiklikleri
- Özel kitle önceliğini belirtin: Alıcıların özel kitlelerde öncelik değeri belirtmesine izin verin.
priority
alanı, alıcı özel kitleleri grubu satıcı başına veya alıcı başına boyut sınırlarını aşarsa açık artırmaya dahil edilmesi gereken özel kitleleri tanımlamak için kullanılır. Özel kitledeki belirtilmemiş bir öncelik değeri varsayılan olarak0.0
olur.
- Özel kitle önceliğini belirtin: Alıcıların özel kitlelerde öncelik değeri belirtmesine izin verin.
Yük Verileri Değişiklikleri
- Yük verisinde gönderilen verileri azaltın: Teklif ve açık artırma hizmetleri yükü optimizasyonunda ayrıntılı olarak açıklandığı gibi, özel kitle
ads
verileri, kullanıcı teklif sinyalleri ve Android sinyalleri daha yüksek yüke neden olur. Yükünüzü azaltmak için:- İstemcinin, reklam nesneleri yerine reklam oluşturma kimliklerini (yükleyicide) göndermesi.
- İstemcinin yükte reklam verisi göndermemesi.
- İstemci yükü içinde kullanıcı teklif sinyalleri gönderilmiyor.
- Yük verisinde gönderilen verileri azaltın: Teklif ve açık artırma hizmetleri yükü optimizasyonunda ayrıntılı olarak açıklandığı gibi, özel kitle
Yukarıda belirtilen stratejiler, reklam teknolojilerinin adSelectionData
yükü bileşimini ve sınırlarını yönetmek için yapılandırmaları tanımlamasına olanak tanısa da yapılandırma parametrelerini değiştirerek adSelectionData
boyutunu değiştirmek için de bir faktör olabilir. Bunun olmasını önlemek için yapılandırma, Protected Audience tarafından yapılandırılan uç noktadan her gün getirilir.
Gecikme optimizasyonu
Sunucu açık artırmalarının istenen düzeyde yararlı olması için getAdSelectionData
API ve persistAdSelectionResult
API'nin çağrı başına düşük gecikmeye sahip olduğundan emin olmamız gerekir. 2023'te API'ler için özellik desteği sunmayı hedefliyoruz. Sonraki sürümümüzde ise API'ler için gecikme karşılaştırmaları ve optimizasyonlara odaklanacağız.
Gecikmeyi kabul edilebilir sınırlar içinde tutmak için aşağıdaki stratejileri araştırıyoruz:
Satıcı başına Korunan Kitle verilerinin önceden oluşturulması: Satıcı açık artırma yapılandırması ve alıcı yükü yapılandırması önemli bir süre boyunca (günlük) sabit olacağından platform, uygun Korunan Kitle verilerini önceden hesaplayıp saklayabilir.
Bunun için platformun, özel kitle güncellemelerini izleyip önceden oluşturulmuş Korunan Kitle verilerini güncellemelere göre değiştirmesini sağlayacak bir mekanizma oluşturması gerekir. Platformun, reklam teknolojisinin özel kitle güncellemeleri ile sunucu açık artırması için oluşturulan
adSelectionData
` değerinde değişiklik görmesi arasında beklemesi beklenen yarış gecikmesi için de SLO'ları belirtmesi gerekir.Cihazlar, değişen işlem öncelikleri olan sınırlı bir kaynak hesaplama modeli sunduğundan, bu ön oluşturma olanağının yüksek güvenilirlik ve hizmet düzeyi hedefleri garantileriyle birlikte sunulması gerektiğinin farkındayız.
Korunan kitle verileri, aşağıdakilere göre önceden oluşturulur:
- Satıcı, Protected Audience verilerini önceden oluşturmak için etkinleştirmeyi seçmelidir.
- Belirli bir satıcı tarafından başlatılan bir açık artırmaya katılmaya uygun alıcılar.
- Aşağıdakilere göre alıcı başına özel kitleleri tanımlama:
- Satıcı yapılandırmasında tanımlanan alıcı başına boyut sınırları, alıcı başına öncelik ve maksimum boyut sınırları,
- Satıcı başına boyut sınırı, alıcı yapılandırmasında tanımlanan özel kitle önceliği.
Negatif filtrelemenin istekli uygulanması: Bir satıcı tercih ederse platform, Protected Audience verilerini önceden oluşturarak ve kritik
getAdSelectionData
çağrısında negatif filtreleme uygulayarakadSelectionData
değerini önceden hesaplayabilir. Bu sayede satıcılar, negatif filtrelemede eskiliği kabul ederken gecikmeyi azaltma dengesini sağlayabilir.Platform, satıcı yapılandırmasında eskilik sınırı olan bir varsayılan seçenek ve gerekirse en güncel hesaplamaya izin vermek için
getAdSelectionData
içinde geçersiz kılma seçeneği sunarak bu desteği sağlayabilir. Alternatif olarak platform, açık artırmayı ısıtmak içingetAdSelectionData
çağrılacak ek bir başlatma API'si sağlayabilir.Birden fazla açık artırma için yükü hesaplama: Belirli senaryolarda, veri güncelliğinin azalması pahasına gecikme açısından performanslı bir API'ye sahip olmak tercih edilebilir. Platform, bunu sağlamak için yükün tamamını hesaplamak ve arayana hesaplanan yükün referansını sağlamak üzere bir başlatma API'si sunabilir.
getAdSelectionData
için yapılan sonraki aramalarda arayan,adSelectionData
oluşturmak için kullanılacak önceden hesaplanmış yük referansını sağlayabilir.
Yukarıda bahsedilen üç stratejinin tümü ilk keşif aşamasındadır ve platformun gecikmeyi optimize etmek için izleyebileceği yönü açıklamak amacıyla hazırlanmıştır. API ve reklam teknolojisi koşullarının daha ayrıntılı gecikme profillerini araştırdıkça ek stratejiler önermeye devam edeceğiz.
Kötüye kullanımı azaltma ve tanımlama
Gizlilik hususları bölümünde belirtildiği gibi, adSelectionData
, cihazdaki tüm alıcı verileri kullanılarak oluşturulur.
Ancak adSelectionData
çıkışını oluşturmak için cihazdaki tüm alıcı verileri kullanılırsa kötü amaçlı bir varlık alıcı gibi davranabilir ve Android performansını düşürmek, reklam teknolojisinin açık artırma veya teklif verme maliyetini artırmak için yükü şişirmek vb. amacıyla sahte alıcı verileri oluşturabilir.
Çözüm
Boyutla ilgili hususlar bölümünde belirtilen bazı önlemler (ör. izin verilenler listesindeki satıcıları içeren alıcı yükü yapılandırması ve izin verilenler listesindeki alıcıları içeren satıcı açık artırma yapılandırması) yükte beklenmedik verilerin hariç tutulmasına yardımcı olur.
SSP'lerin alıcı önceliğini belirtmesine izin verme, oluşturulan yüke alıcı başına kota yerleştirme ve açık artırma yükü başına maksimum boyut ayarlama gibi diğer boyut değerlendirmesi önlemleri de kötü amaçlı yük şişmesinin etkisini azaltmaya yardımcı olabilir. Bu önlemlerin amacı, reklam teknolojilerinin birlikte çalıştıkları reklam teknolojisini tanımlamasına ve işlemesi gereken yük için kabul edilebilir sınırlar belirlemesine olanak tanımaktır.
Daha önce de belirtildiği gibi, kötüye kullanım önleme ve boyut kısıtlamaları için sunulan tüm azaltıcı önlemler gizlilik hususlarına uygun olmalıdır.
Kötü amaçlı öğelerin tanımlanması
Yukarıda belirtilen azaltıcı önlemler, sunucu açık artırmaları için adSelectionData
oluşumunu korur ancak kötü niyetli öğeleri tanımlamaya veya platformu kötüye kullanıma (ör. bir alıcıdan eşi görülmemiş sayıda özel kitle oluşturma) karşı korumaya yardımcı olmaz.
Platformun kararlılığını ve sağlığını sağlamak için kötü amaçlı varlıkları, kötüye kullanım vektörlerini ve belirli saldırıların nedenini belirleyecek bir mekanizma bulmamız gerekiyor. Daha sonraki sürümlerde, olası kötüye kullanım vektörlerini ve bunlara karşı uygulanan korumaları ayrıntılı olarak açıklayan açıklamaları kullanıma sunacağız.