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 sayesinde, kullanıcı tanımlayıcılarını paylaşmaya gerek kalmadan standart sınıflandırmalar kullanarak kitle özelliklerinizi tüm işlem türlerinde teklif verenlere ileterek programatik para kazanmayı iyileştirmek için kullanıcı verilerinizi kullanabilirsiniz. Kitle özellikleriniz davranış ve ilgi alanına dayalı verileri (IAB Kitle Sınıflandırması 1.1) ve bağlama dayalı verileri (IAB İçerik Sınıflandırması 2.2) içerebilir. Ayrıca, Google tarafından tanımlanan yayıncı tarafından sağlanan yapılandırılmış sinyalleri gönderebilir ve ek sinyallerin gönderilmesini sağlayabilirsiniz.

Kullanıcı sinyalleri JSON'unu oluşturma

Üst düzeyde, tek bir anahtar/değer çifti içeren bir JSON nesnesi oluşturun. Anahtar PublisherProvidedTaxonomySignals olmalı ve değeri 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
  • Karşılık gelen dize sınıflandırma değerleri dizisine sahip 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ü aç/kapat

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": K
  • "cr_2": PG
  • "cr_3": K
  • "cr_4": MA
Yok
İçerik Yayınlama "delivery" Yok
  • "cd_1": Akış
  • "cd_2": Aşamalı
  • "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 cihazınızla PPS göndermek için şu 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)