Indicadores fornecidos pelo editor

É possível enviar dados contextuais e de público-alvo como indicadores fornecidos pelo editor (PPS) em solicitações de anúncios. Com o PPS, é possível usar os dados do usuário para melhorar a monetização programática, comunicando as características do seu público-alvo aos proponentes em todos os tipos de transação, usando taxonomias padrão, sem a necessidade de compartilhar identificadores de usuários. As características do seu público-alvo podem incluir dados comportamentais e com base em interesses (Taxonomia de público-alvo IAB 1.1) e dados contextuais (Taxonomia de conteúdo IAB 2.2). Também é possível enviar indicadores estruturados fornecidos pelo editor, que são definidos pelo Google, e permitir o envio de outros indicadores.

Criar o JSON de indicadores do usuário

No nível superior, crie um objeto JSON com um único par de chave-valor. A chave precisa ser PublisherProvidedTaxonomySignals, e o valor dela precisa ser uma matriz de objetos. Cada objeto na matriz precisa ter dois pares de chave-valor:

  • A chave taxonomy, que aceita os seguintes valores mapeados para as seguintes especificações públicas do IAB:

    • IAB_AUDIENCE_1_1 para a Taxonomia de público-alvo 1.1
    • IAB_CONTENT_2_2 para a taxonomia de conteúdo 2.2
  • A chave values com uma matriz correspondente de valores de taxonomia de string.

Criar a matriz de indicadores estruturados

Para indicadores estruturados, adicione a chave PublisherProvidedStructuredSignals com um valor de uma matriz de objetos. Crie o objeto com base nesta lista de chaves-valor de indicador:

Alternar a visualização da tabela de indicadores estruturados

Indicador <code" dir="ltr" translate="no">"type" Valor</code"> Possíveis valores de "single_value" Possíveis valores de "values"
Tipo de feed de áudio "audio_feed"
  • "af_1": música
  • "af_2": transmissão
  • "af_3": podcast
N/A
Classificação do conteúdo "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
N/A
Entrega de conteúdo "delivery" N/A
  • "cd_1": streaming
  • "cd_2": progressivo
  • "cd_3": download
Qualidade da produção "prodq"
  • "pq_1": produzido profissionalmente
  • "pq_2": prosumidor
  • "pq_3": conteúdo gerado pelo usuário (UGC)
N/A

Confira o exemplo a seguir que usa IAB_AUDIENCE_1_1 e IAB_CONTENT_2_2 para indicadores de taxonomia e inclui indicadores estruturados.

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"],
    },
  ],
};

Configurar sua solicitação de stream

Siga estas etapas para enviar PPS com seu StreamRequest:

  • Crie uma string JSON com os dados contextuais, do interesse ou do comportamento do usuário.
  • Crie uma string ASCII codificada em Base64 com base na string JSON acima.
  • Adicione o JSON codificado usando StreamRequest.setAdTagParameters.
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)