Topics API hakkında
Mobil reklamcılıkta, reklamverenler kullanıcının ilgi alanıyla alakalı reklamlar sunmak ister. Örneğin, bir kullanıcı yemek pişirmeyle ilgili bilgilerle ilgileniyorsa, ilgi alanlarıyla alakalı olmayan reklamlardansa yemek pişirmeyle ilgili reklamların kendisi için daha alakalı olduğunu görebilir.
İlgi alanına dayalı reklamcılık (IBA), kullanıcının geçmişte etkileşimde bulunduğu uygulamalardan türetilen ilgi alanlarına göre kullanıcı için bir reklam seçildiği kişiselleştirilmiş bir reklamcılık biçimidir. Bu, yalnızca görüntülenen mevcut içerikten elde edilen ilgi alanlarına dayanan içeriğe dayalı reklamcılıktan farklıdır. IBA'nın içeriğe dayalı reklamcılığa göre avantajlarından biri, uygulamaların kullanıcılara daha alakalı ve ilgi çekici reklamlar göstermesini sağlamasıdır.
Topics API, bir kullanıcının uygulama kullanımına dayanarak cihaz üzerindeki genel ilgi sinyallerine dair çıkarımda bulunur. Konular adı verilen bu sinyaller, reklamverenler ile paylaşılacak ve uygulamalar genelinde bireysel kullanıcıların izlenmesini gerektirmeden ilgi alanına dayalı reklamcılık kullanım alanlarını destekleyecektir.
Temel kavramlar
- Konu, bu kullanıcının okuyabileceği, kullanıcıların okuyabileceği bir konudur ve Topics sınıflandırmasının bir parçasıdır.
- Arayan kişi, son 3 dönem içinde bu konuyla ilişkili bir uygulamadan Topics API isteği yapmışsa söz konusu konu, çağrı yapan kişi (uygulamada kullanılan bir uygulama veya üçüncü taraf SDK'sı) tarafından gözlemlenir.
- Dönem, bir hafta gibi bir konu hesaplama dönemidir.
Nasıl çalışır?
Bu teklifle Topics API, arayanlara kullanıcının uygulama kullanımına dayalı olarak ilgilendikleri genel reklam konuları sunmayı amaçlar. Bu konular, reklam görüntülemek isteyen uygulamayla ilgili tüm bağlamsal bilgileri desteklemek için kullanılabilir ve kullanıcı için uygun bir reklam bulmaya yardımcı olmak üzere birleştirilebilir.
İlgi alanına dayalı reklamcılık için konu getirme özelliğinin nasıl ayarlanacağını gösteren kod örnekleri için Topics API geliştirici kılavuzuna bakın. Not: API'ler henüz kesinleşmemiştir.
Konular önceden tanımlanmış açık kaynaklı bir sınıflandırmadan seçilir.
Platform, konuları tahmin etmek için bir sınıflandırıcı modeli kullanır. Topics API'nin uygulanması ve sınıflandırıcının kullanımı, Android Açık Kaynak Projesi'nin bir parçası olacak ve zaman içinde gelişecektir.
Aşağıdaki kod örneğinde, açıklama olması amacıyla ilgi alanına dayalı bir reklam getirmek için konuların kullanımı gösterilmektedir. Burada kullanılan API'ler nihai değildir.
// Initialize the Topics API.
…
topicsFuture = AdvertisingTopicsClient.getTopics();
// Retrieve Topics and use them in Ad request.
Futures.addCallback(
topicsFuture,
new FutureCallback<AdvertisingTopicsInfo>() {
@Override
public void onSuccess(@Nullable AdvertisingTopicsInfo topicsInfo) {
// Sanitize Topics result.
...
// Initialize ad request with Topics obtained.
AdRequest adRequest = AdRequest.initialize(topicsInfo);
}
@Override
public void onFailure(Throwable t) {
// Handle error.
...
}
});
Sınıflandırıcı modelinin nasıl çalıştığını daha iyi anlamak için Android Topics Classifier Colab'i kullanarak farklı uygulama verilerinin sistemde nasıl tepki verdiğini test edebilirsiniz.
Topics API'lerine erişim
Reklam teknolojisi platformlarının Topics API'ye erişmek için kaydolması gerekir. Daha fazla bilgi için Özel Korumalı Alan hesabına kaydolma bölümüne bakın.
Ayrıntılar
Her dönemde bir kez (ör. haftada bir) kullanıcının en çok ilgi gösterdiği 5 konu, cihaz üzerindeki bilgiler kullanılarak hesaplanır.
- Topics API çağrıldığında platform, API'yi çağıran uygulamaya bir konu atanıp atanmadığını kontrol eder. Atanmış herhangi bir konu yoksa aşağıdaki gibi bir konu seçilir ve seçilen konu, bu dönemin geri kalanında bu uygulamaya atanır.
- %95 olasılıkta bir konu, o dönem için hesaplanan en iyi 5 konu listesinden rastgele seçilir.
- %5 olasılıkla, bir konu sınıflandırmadan rastgele seçilir.
- Bir çağrıyı yapan,
shouldRecordObservation = falseparametresini kullanarak
getTopicsyöntemini çağırarak durumu değiştirmeden konuları almak istediğini belirtebilir. Bu, konuların döndürülebileceği ancak çağrının haftalık dönem hesaplamasına dahil edilmediği veya arayan için gözlemlenen konuların listesi güncellenmediği anlamına gelir.
- Her uygulamaya farklı konulardan biri verilir. Bunun nedeni, farklı uygulamaların farklı konular almasını sağlamaktır. Bu durum, uygulamaların aynı kullanıcıyla karşılıklı olarak ilişkilendirilmesini zorlaştırır.
- Örneğin, A uygulaması kullanıcı için T1 konusunu, B uygulaması ise T2 konusunu görebilir. Bu durum, iki uygulamanın bu bilgilerin aynı kullanıcıyla ilişkili olduğunu belirlemesini zorlaştırır.
- Topics API çağrıldığında platform, API'yi çağıran uygulamaya bir konu atanıp atanmadığını kontrol eder. Atanmış herhangi bir konu yoksa aşağıdaki gibi bir konu seçilir ve seçilen konu, bu dönemin geri kalanında bu uygulamaya atanır.
Topics API, son 3 dönemin her biri için 1 tane olacak şekilde en fazla 3 konunun yer aldığı bir liste döndürür.
- En fazla 3 konu sağlayarak, nadiren kullanılan uygulamalar alakalı reklamları bulmak için yeterli konuya sahip olur ancak sık kullanılan uygulamalar haftada en fazla 1 yeni konu öğrenir.
- Döndürülen konu bilgileri, sınıflandırmadaki girişe karşılık gelen bir konu kimliği (int) ve sınıflandırma sürümü ile sınıflandırıcı modeli sürümünü içerir.
- Yalnızca son 3 dönemde söz konusu konuyla ilişkili bir uygulamayı kullanan kullanıcıyı gözlemleyen arayanlar konuyu alabilir.
- Gösterilen tüm konular kullanıcının ilgi alanlarını temsil eder. Reklam kişiselleştirme için bu konuların herhangi birini veya tümünü reklam isteğinizde seçebilirsiniz.
Topics API'yi çağıran uygulamaya bir konu atandıktan sonra platform, arayanın bu konuyu alıp alamayacağını belirler.
- Yalnızca son 3 dönemde söz konusu konuyla ilişkili bir uygulama ile ilgili kullanıcı etkileşimini gözlemleyen arayanlar konuyu alabilir.
- Arayan kişi geçmişte bu konuyla ilgili bir uygulamada söz konusu kullanıcı için API'yi çağırmadıysa konu, API tarafından döndürülen listeye dahil edilmez.
- Arayan kişi son 3 dönem içinde herhangi bir konu almadıysa Topics API boş bir liste döndürür.
Örneğin, kullanıcının cihazda A, B, C, D, E, F ve G olmak üzere 7 uygulaması yüklü olduğunu varsayalım. Uygulama ve bu uygulamalardaki reklam teknolojisi SDK'larının konu sınıflandırmasının aşağıdaki gibi olduğunu varsayalım:
Uygulama Konu sınıflandırması Reklam teknolojisi SDK'sı CEVAP Ş1, Ş5 ad-sdk1, ad-sdk2 B Ş2 reklam-sdk2 C T3, T6 ad-sdk3, ad-sdk4 D T1, T4 reklam-sdk1 E Ş5 ad-sdk4, ad-sdk5 F Ş6 ad-sdk2, ad-sdk3, ad-sdk4 Y Ş7 reklam-sdk2
- 1. haftanın sonu: Topics API, kullanıcının bu dönem için en çok ilgi gösterdiği 5 konuyu oluşturur.
En Popüler Konu Konu hakkında bilgi edinebilen arayanlar Ş1 ad-sdk1, ad-sdk2 Ş2 reklam-sdk2 Ş3 ad-sdk3, ad-sdk4 Ş4 reklam-sdk1 Ş5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5
- 2. haftada, herhangi bir uygulamadaki çağrıyı yapan bir kişi API'yi çağırırsa döndürülen konu listesi yalnızca o dönem için söz konusu uygulamanın konusuyla ilgili olarak arayanın "Konuyla ilgili bilgi edinebilecek arayanlar" sütununda yer aldığı konuları içerir.
- Her arayanın yararlanabileceği konuların hesaplamasına dahil edilen geçmiş aralığı 3 dönemdir (veya 3 hafta).
- Yalnızca doğrudan veya reklam SDK'ları aracılığıyla Topics API'yi çağıran uygulamalarla ilişkilendirilen konular kullanılır. Diğer bir deyişle, bir uygulama Topics API'yi çağıran ve API'nin kendisini çağırmayan herhangi bir reklam SDK'sı içermiyorsa bu uygulamayla ilişkilendirilen konular diğer uygulamalarla veya reklam SDK'larıyla paylaşılan konulara katkıda bulunmaz.
- Ayrıca bir uygulama, reklam SDK'larının ilgili uygulama için API'yi kullanmasına izin vermemek amacıyla yeni manifest ve XML öğeleri aracılığıyla Topics API'nin kapsamı dışında kalmayı bildirimli olarak devre dışı bırakabilir. Devre dışı bırakılan uygulamalarla ilişkili konular, haftalık konu hesaplamasına katkıda bulunmaz. Bu belge, ilgili uygulama ayrıntılarını içerecek şekilde güncellenecektir.
Platformun 5 konu belirlemesine yetecek kadar uygulama kullanımı yoksa platform, kalan konuları rastgele oluşturma gibi seçenekleri değerlendirebilir.
Taksonomi
- Mevcut teklifteki ilk sınıflandırma birkaç yüz ila birkaç bin konu içerecektir. İlk sınıflandırma teklifi, bu belgenin gelecekteki bir güncellemesinde paylaşılacaktır.
- Bu sınıflandırma, hassas konuların sınıflandırmanın parçası olmaması için gerçek kişiler tarafından seçilecektir.
- Bu sınıflandırma, Android'deki mobil uygulamalarda gösterilebilecek reklam kategorilerine göre uyarlanacaktır.
- Sınıflandırma açık kaynaktır ve değiştirilebilir. Önerilerde bu sayfanın üst kısmındaki geri bildirim düğmesini kullanabilirsiniz.
Konu sınıflandırıcı
İlgi alanları, herkese açık uygulama bilgileri (uygulama adı, açıklaması ve paket adı gibi) kullanılarak eğitilmiş bir sınıflandırıcı modelinden türetilir.
- Sınıflandırıcı modeli, belirli bir dönemin konularını hesaplamak için çıkarım amacıyla kullanıldığında, kullanılan sinyal grubu cihazda kalır. Bu sinyal grubu, yüklenen veya yakın zamanda kullanılan uygulamaları içerebilir ve daha sonra diğer sinyalleri içerecek şekilde genişletilebilir.
- İlk modeller Google tarafından eğitilir. Buradaki eğitim verileri, herkese açık uygulama bilgileri için insanlar tarafından seçilen etiketleri içerir. Uygulamaların hangi konuları sınıflandırdığını görmek için bu modeli ücretsiz olarak test edebilecek uygulamalar.
- İlk modeller, Google Play Store gibi sınırlı sayıda uygulama mağazasındaki uygulamalarla ilgili herkese açık bilgilerle eğitilir.
- Bir uygulama 1'den fazla konuyla eşleşiyor veya hiç konu barındırmıyor olabilir ya da kullanıcının konu geçmişine katkıda bulunmuyor olabilir. Bir uygulamanın sınıflandırmada birden fazla konuyla eşleşmesi durumunda, bu uygulama için seçilen konu sayısı ilk 3'e göre sınırlandırılır.
Kullanıcı denetimleri
- Tasarım, kullanıcılara uygulama kullanımlarıyla ilişkilendirilen konuları görüntüleme ve kaldırma olanağı sunmayı amaçlar. Bu kullanıcı denetimi özelliğinin uygulanması şu anda devam etmektedir ve gelecekteki bir güncellemeye dahil edilecektir.
- Kullanıcı son 3 dönemde tahmin edilen bir konunun seçimine katkıda bulunan bir uygulamayı kaldırırsa söz konusu konu, kaldırma işlemiyle ilgili bilgilerin ifşa edilmesini önlemek amacıyla son 3 dönem için döndürülen konular listesinden kaldırılmaz.
Son kullanıcı deneyiminin nasıl olacağını test etmeyi kolaylaştırmak için, Topics'in kullanıcı arayüzünü son kullanıcının gördüğüne benzer şekilde görüntülemek amacıyla bir uygulama içi intent de kullanıma sunabilirsiniz. Bu aramanın bir örneğini aşağıda görebilirsiniz:
//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";
//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLauchSettingsAppButton() {
mSettingsAppButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Context context = getApplicationContext();
Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(activity2Intent);
}
});
}
Sizin için önerilenler
- Not: Bağlantı metni JavaScript kapalıyken gösterilir
- Sürüm notları
- Android'de Protected Audience API geliştirici kılavuzu
- Topics API geliştirici kılavuzu