Yayıncı Tarafından Sağlanan Sinyaller

Kitle ve içeriğe dayalı verileri reklam isteklerinde yayıncı tarafından sağlanan sinyaller (PPS) olarak gönderebilirsiniz. PPS ile kullanıcı tanımlayıcılarını paylaşmanıza gerek kalmadan standart sınıflandırmaları kullanarak kitle özelliklerinizi tüm işlem türlerindeki teklif verenlere ileterek programatik para kazanmayı iyileştirmek için kullanıcı verilerinizi kullanabilirsiniz. Kitle özellikleriniz, davranışsal ve ilgi alanına dayalı verileri (IAB Kitle Sınıflandırması 1.1) ve içeriğe dayalı verileri (IAB İçerik Sınıflandırması 2.2) içerebilir. Ayrıca Google tarafından tanımlanan ve ek sinyallerin gönderilmesine olanak tanıyan yayıncı tarafından sağlanan yapılandırılmış sinyaller de gönderebilirsiniz.

Kullanıcı sinyalleri JSON'unu oluşturma

En üst düzeyde, tek bir anahtar/değer çiftine sahip bir JSON nesnesi oluşturun. Anahtar PublisherProvidedTaxonomySignals, değeri ise bir nesne dizisi olmalıdır. Dizideki her nesnenin 2 anahtar/değer çifti olmalıdır:

  • Aşağıdaki IAB herkese açık spesifikasyonlarıyla eşlenen aşağıdaki değerleri kabul eden taxonomy anahtarı:

    • Kitle Sınıflandırması 1.1 için IAB_AUDIENCE_1_1
    • İçerik Sınıflandırması 2.2 için IAB_CONTENT_2_2
  • İlgili bir dize taksonomi değeri dizisi içeren values anahtarı.

Yapılandırılmış sinyal dizisini oluşturma

Ek açıklamalı sinyaller için PublisherProvidedStructuredSignals anahtarını bir nesne dizisi değeriyle ekleyin. Nesneyi aşağıdaki sinyal anahtar/değer çiftleri listesine göre oluşturun:

Yapılandırılmış sinyaller tablosunun görünümünü değiştirme

Sinyal <code" dir="ltr" translate="no">"type" Value</code"> Olası "single_value" Değerleri Olası "values" Değerleri
Ses Feed'i Türü "audio_feed"
  • "af_1": Müzik
  • "af_2": Yayın
  • "af_3": Podcast
Yok
İçerik Derecelendirme "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
Yok
İçerik Yayınlama "delivery" Yok
  • "cd_1": Akış
  • "cd_2": Progresif
  • "cd_3": İndir
Yapım Kalitesi "prodq"
  • "pq_1": Profesyonel Olarak Üretilmiş
  • "pq_2": Profesyonel tüketici
  • "pq_3": Kullanıcı Tarafından Oluşturulan (UGC)
Yok

Taksonomi sinyalleri için IAB_AUDIENCE_1_1 ve IAB_CONTENT_2_2 kullanan ve yapılandırılmış sinyaller içeren aşağıdaki örneğe bakın.

const userSignals = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["6", "284"]
     // '6' = 'Demographic | Age Range | 30-34'
     // '284' = 'Interest | Business and Finance |  Mergers and Acquisitions'
  },
  {
     "taxonomy": "IAB_CONTENT_2_2",
     "values": ["49", "138"]
     // '49' = 'Books and Literature | Poetry'
     // '138' = 'Education | College Education | College Planning'
  }],
  "PublisherProvidedStructuredSignals": [{
      "type": "audio_feed",
      "single_value": "af_1",
    },
    {
      "type": "delivery",
      "values": ["cd_1", "cd_3"],
    },
  ],
};

Akış isteğinizi yapılandırma

StreamRequest ile PPS göndermek için aşağıdaki adımları uygulayın:

  • Kullanıcının ilgi alanı, davranışı veya bağlamsal verilerini içeren bir JSON dizesi oluşturun.
  • Yukarıdaki JSON dizesinden Base64 kodlu bir ASCII dizesi oluşturun.
  • Kodlanmış JSON'unuzu StreamRequest.setAdTagParameters kullanarak ekleyin.
JSONObject userSignalsObject = new JSONObject();
JSONArray userSignalsArray = new JSONArray();
JSONObject audienceTaxonomyObject = new JSONObject();
JSONArray valuesArray = new JSONArray();
valuesArray.put("1");
valuesArray.put("284");
try {
  audienceTaxonomyObject.put("taxonomy", "IAB_AUDIENCE_1_1");
  audienceTaxonomyObject.put("values", valuesArray);
} catch (JSONException e) {
  e.printStackTrace();
}

userSignalsArray.put(audienceTaxonomyObject);

try {
  userSignalsObject.put("PublisherProvidedTaxonomySignals", userSignalsArray);
} catch (JSONException e) {
  e.printStackTrace();
}

byte[] userSignalsByte=new byte[0];
try {
  userSignalsByte = userSignals.getBytes(StandardCharsets.UTF_8);
  String encodedBas64Signals = android.util.Base64.encodeToString(
    userSignalsByte,
    android.util.Base64.URL_SAFE);
  encodedSignals = URLEncoder.encode(encodedBas64Signals, "UTF-8");
} catch (java.io.UnsupportedEncodingException error) {
  Log.w("Sample app", error);
}

Map<String, String> adTagParamMap = new java.util.HashMap<String, String>();
adTagParamMap.put("ppsj", encodedSignals);

streamRequest.setAdTagParameters(adTagParamMap)