Teklifli sistem ve açık artırma hizmetleri entegrasyonu ve optimizasyonu

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.

Korunan kitle akışını gösteren görsel. Üç sütun, verilerin cihazlar, güvenilmeyen satıcı hizmetleri ve güvenilir yürütme ortamı arasında nasıl taşındığını gösterir.
Protected Audience açık artırma akışı.

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:

  1. Sunucu açık artırması için verileri toplama ve şifreleme
  2. Güvenilmeyen Satıcı Hizmeti'ne istek gönderme
  3. Güvenilir olmayan bir satıcı hizmetinden yanıt alma
  4. 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:

  1. 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.
  2. 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:

  1. 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.
  2. 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 bir HTTP POST veya PUT isteği.
  3. 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.
  4. 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

Şelale uyumlulaştırması

2023 1. Çeyrek

2023 4. Çeyrek

Yok

24. çeyrek

Sıklık sınırı filtreleme

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

Etkileşim raporları

2023 2. çeyrek

2023 3. Çeyrek

Yok

2023 4. Çeyrek

Özel kitle yetkilendirmesine katılma

2023 3. Çeyrek

2023 4. Çeyrek

Yok

2023 4. Çeyrek

BGBM dışı faturalandırma

2023 3. Çeyrek

2023 4. Çeyrek

Hata ayıklama
raporları

2023 3. Çeyrek

2023 4. Çeyrek

2023 3. Çeyrek

2023 4. Çeyrek

Open Bidding uyumlulaştırması

Yok

Yok

Yok

2024 1. Çeyrek

Uygulama yükleme reklamlarını filtreleme

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

  1. İsteği işleme almadan önce kayıt kontrolleri yapmak için kullanılan seller alanını arayanın ayarlaması gerekir.
  2. coordinatorOriginUri alanı isteğe bağlıdır.
    1. 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.
    2. 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
    3. Koordinatör kaynağı belirtilmezse varsayılan koordinatör kullanılır.
    4. 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:

  1. 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 bu adSelectionId değerini korumalıdır. Bu tanımlayıcı, teklif ve açık artırma sunucusundaki açık artırma sonucunun şifresini çözmek için persistAdSelectionResult API tarafından ve reportImpression ile reportEvent API'leri tarafından da gereklidir.
  2. 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:
    1. Ö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.
    2. 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:

  1. getAdSelectionData geçersiz bağımsız değişkenlerle başlatılırsa AdServicesException, bunun nedeninin IllegalArgumentException olduğunu belirtir.
  2. Diğer tüm hatalar için neden olarak IllegalStateException içeren bir AdServicesException 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);
}
  1. adSelectionId: getAdSelectionData araması tarafından oluşturulan ve arayanın sonucunun şifresini çözmek istediği opak tanımlayıcı.
  2. 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.
  3. 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şkili adSelectionId.

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:

  1. getAdSelectionData geçersiz bağımsız değişkenlerle başlatılırsa AdServicesException, neden olarak IllegalArgumentException değerini gösterir.
  2. Diğer tüm hatalar için neden olarak IllegalStateException içeren bir AdServicesException 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:

  1. Cihazdaki CustomAudience verilerinde değişiklik
  2. CustomAudience filtreleme mantığında yapılan değişiklikler.
  3. 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:

  1. 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.

  2. 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şturulan adSelectionData 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:

    1. İ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.
    2. 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.
  3. 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şturulan adSelectionData öğ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:

    1. İ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.
    2. 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.
    3. 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.
    4. 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.
  4. Özel Kitle değişiklikleri

    1. Ö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 olarak 0.0 olur.
  5. Yük Verileri Değişiklikleri

    1. 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:
      1. İstemcinin, reklam nesneleri yerine reklam oluşturma kimliklerini (yükleyicide) göndermesi.
      2. İstemcinin yükte reklam verisi göndermemesi.
      3. İstemci yükü içinde kullanıcı teklif sinyalleri gönderilmiyor.

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:

  1. 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:

    1. Satıcı, Protected Audience verilerini önceden oluşturmak için etkinleştirmeyi seçmelidir.
    2. Belirli bir satıcı tarafından başlatılan bir açık artırmaya katılmaya uygun alıcılar.
    3. Aşağıdakilere göre alıcı başına özel kitleleri tanımlama:
      1. 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ı,
      2. Satıcı başına boyut sınırı, alıcı yapılandırmasında tanımlanan özel kitle önceliği.
  2. 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 uygulayarak adSelectionData 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çin getAdSelectionData çağrılacak ek bir başlatma API'si sağlayabilir.

  3. 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.