Referência da API de receita de anúncios de rastreamento de servidor para servidor

Documento

Referência da API de rastreamento de receita de anúncios

Caso de uso de servidor para servidor

A Singular permite o rastreamento da receita de anúncios por meio da API EVENT. Ao encaminhar os detalhes da receita no nível de impressão da(s) sua(s) plataforma(s) de mediação para o seu servidor usando manipuladores de eventos pagos, a Singular processa esses dados para uma integração perfeita em relatórios, logs de exportação e postbacks. A plataforma também suporta conversão automática de moeda alinhada com as configurações preferidas da sua organização.

A API REST do Singular permite a integração direta de servidor para servidor como uma alternativa ao SDK. Enquanto o SDK recolhe automaticamente os dados do dispositivo e da aplicação, a abordagem S2S requer que:

  1. Recolher os pontos de dados necessários da API EVENT da sua aplicação
  2. Recolha os pontos de dados relevantes da plataforma de mediação
  3. Encaminhe estes dados para o seu servidor
  4. Enviar o evento'__ADMON_USER_LEVEL_REVENUE__' para a Singular via API REST

Pontos principais

  • Flexibilidade: Controlo total sobre a recolha e transmissão de dados
  • Paridade de recursos: Suporta todas as funcionalidades do SDK quando os dados adequados são fornecidos
  • Caminho de integração: Cliente → Seu Servidor → API Singular
  • Processamento em tempo real: Um pedido de cada vez, sem processamento em lote
  • Fluxo de dados sequencial: Os eventos devem ser processados por ordem cronológica
  • Deduplicação de dados: O Singular não deduplica os dados recebidos. Recomenda-se enviar uma (1) solicitação bem-sucedida e salvar os logs para o caso de uma solicitação ser reproduzida novamente.
  • Validação de dados: Os dados no nível do dispositivo são permanentes e não podem ser excluídos após a ingestão. Implemente uma validação completa dos dados antes de enviá-los à Singular para garantir a precisão.

Pré-requisitos

  • Uma sessão deve ser estabelecida antes que qualquer rastreamento de evento seja recebido
  • Uma ordem de sessão inválida resultará em inconsistências de dados
  • Colete atributos de dados da Plataforma de Mediação diretamente do SDK de Mediação. Para obter detalhes de implementação e pontos de dados necessários, consulte nosso Guia do SDK e a documentação de Mediação específica da plataforma.

Introdução

A documentação do ponto final EVENT fornece:

Esta abordagem do lado do servidor dá-lhe mais controlo sobre a sua integração, mantendo todas as capacidades do SDK.

Ponto de extremidade da API de eventos

Método HTTP e ponto final de evento

GET https://s2s.singular.net/api/v1/evt

Parâmetros necessários

A tabela abaixo lista os parâmetros necessários para enviar eventos de receita de monetização de anúncios por meio da API de eventos. Esses parâmetros devem ser incluídos como parâmetros de consulta.

GET /api/v1/evt?param1=value1&param2=value2
  • Todos os parâmetros necessários devem ser incluídos nas solicitações da API de eventos
  • Os parâmetros devem seguir o formato e os tipos de dados especificados
Parâmetros necessários
Chave da API
Parâmetro Descrição
a
string

O parâmetro a especifica a chave do SDK Singular.

Recupere a Chave SDK na IU do Singular, em Ferramentas de Desenvolvedor no Menu Principal.

Nota: Não use a chave da API de relatório, pois isso resultará em dados rejeitados.

Exemplo de valor:
sdkKey_afdadsf7asf56
Identificador de dispositivo Parâmetros
Parâmetro Descrição do parâmetro
idfa

Plataformas suportadas:

  • iOS
string

O parâmetro idfa especifica o Identificador para Anunciantes (IDFA), que ajuda os anunciantes a rastrear e atribuir acções do utilizador (por exemplo, cliques em anúncios, instalações de aplicações) a campanhas específicas, permitindo uma segmentação precisa dos anúncios e a otimização das campanhas.

A partir do iOS 14.5, os utilizadores devem aderir através da estrutura App Tracking Transparency (ATT) para que as aplicações possam aceder ao IDFA. Se os utilizadores não optarem por aderir ao IDFA, este não estará disponível, o que resulta na limitação das capacidades de rastreio.

  • Se o IDFA não estiver disponível, omita o parâmetro do pedido.
  • Não passe NULL ou uma cadeia de caracteres vazia no pedido.
  • Como obter o identificador IDFA

Exemplo de valor:
DFC5A647-9043-4699-B2A5-76F03A97064B
Parâmetro Descrição do parâmetro
idfv

Plataformas suportadas:

  • iOS
string

O parâmetro idfv especifica o Identificador para Fornecedores (IDFV), um identificador único atribuído pela Apple a um dispositivo, que é específico de um determinado fornecedor ou programador. Permanece consistente em todas as aplicações do mesmo fornecedor num determinado dispositivo, permitindo ao fornecedor seguir o comportamento e as interações do utilizador no seu ecossistema de aplicações sem identificar o utilizador pessoalmente.

Exemplo de valor:
21DB6612-09B3-4ECC-84AC-B353B0AF1334
Parâmetro Descrição do parâmetro
aifa

Plataformas suportadas:

  • Android
    (Dispositivos Google Play)
string

O parâmetro aifa especifica o Google Advertising Identifier (GAID), também conhecido como AIFA no singular ou Android Advertising ID (AAID). Este identificador é um identificador único, redefinível pelo utilizador, atribuído a dispositivos Android. Ajuda os anunciantes e os programadores de aplicações a rastrear e atribuir acções do utilizador (por exemplo, cliques em anúncios, instalações de aplicações) em aplicações a campanhas específicas, permitindo uma segmentação precisa dos anúncios e a otimização das campanhas, mantendo a privacidade do utilizador.

  • Se a AIFA não estiver disponível, omita o parâmetro do pedido.
  • Apenas necessário em dispositivos Google Play.
  • Omitir o parâmetro em dispositivos não-Google Play.
  • Não passe NULL ou uma cadeia de caracteres vazia no pedido.
  • Como recuperar o identificador AIFA

Exemplo de valor:
8ecd7512-2864-440c-93f3-a3cabe62525b
Parâmetro Descrição do parâmetro
asid

Plataformas suportadas:

  • Android
    (Dispositivos Google Play)
string

O parâmetro asid especifica o ID do conjunto de aplicações do Android. O ASID fornece uma forma de os programadores acompanharem os utilizadores nas suas próprias aplicações de uma forma consciente da privacidade. É particularmente útil para análises e prevenção de fraudes, mas não pode ser utilizado para fins publicitários, como anúncios personalizados ou medições.

  • O ASID é necessário em todos os pedidos para dispositivos Google Play, independentemente da presença de GAID/AIFA.
  • Omitir o parâmetro em dispositivos não-Google Play.
  • Não passe NULL ou uma cadeia de caracteres vazia no pedido.
  • Como recuperar o identificador ASID

Exemplo de valor:
edee92a2-7b2f-45f4-a509-840f170fc6d9
Parâmetro Descrição do parâmetro
amid

Plataformas suportadas:

  • Android
    (Dispositivos Amazon sem Google Play Services)
string

O parâmetro amid especifica que a ID de publicidade é um identificador exclusivo e redefinível pelo utilizador que ajuda a proteger a privacidade do utilizador. Se recolher informações sobre o comportamento de um utilizador para apresentar anúncios baseados em interesses ou para gerar análises, tem de utilizar a ID de publicidade; não pode ser utilizado qualquer outro identificador ou método de rastreio. Os utilizadores podem redefinir a ID de publicidade ou optar por não utilizar anúncios baseados em interesses.

  • O AMID é necessário em todos os pedidos de dispositivos Amazon sem o Google Play Services.
  • Omitir o parâmetro se o AMID não estiver disponível.
  • Não passe NULL ou uma cadeia de caracteres vazia no pedido.
  • Como recuperar o identificador AMID

Exemplo de valor:
df07c7dc-cea7-4a89-b328-810ff5acb15d
Parâmetro Descrição do parâmetro
oaid

Plataformas suportadas:

  • Android
    (Dispositivos fabricados na China sem Google Play Services)
string

O parâmetro oaid especifica o Open Advertising Identifier (OAID). O OAID é um identificador único e anónimo utilizado para fins publicitários em dispositivos Android, especialmente os fabricados na China. Foi introduzido pela Mobile Security Alliance (MSA) como alternativa ao GAID (Advertising ID) da Google para dispositivos em que o Google Play Services não está disponível ou não é suportado, como no mercado chinês.

O OAID é utilizado principalmente para atribuição de publicidade e seguimento de utilizadores em ambientes onde o Google Play Services é restrito, permitindo aos anunciantes e programadores seguir o comportamento dos utilizadores mantendo o anonimato.

O OAID está disponível na maioria dos dispositivos Android fabricados na China, incluindo os de marcas como a Huawei, a Xiaomi e outras. Pode ser acedido através do MSA SDK ou dos Huawei Mobile Services (HMS).

  • O OAID é necessário em dispositivos Android fabricados na China sem o Google Play Services.
  • Omitir o parâmetro se o OAID não estiver disponível.
  • Não passe NULL ou uma cadeia de caracteres vazia no pedido.
  • Como recuperar o identificador OAID

Exemplo de valor:
01234567-89abc-defe-dcba-987654321012
Parâmetro Descrição do parâmetro
andi

Plataformas suportadas:

  • Android
    (Dispositivos não Google Play)
string

O parâmetro andi especifica o ID do Android, que é um identificador único de 64 bits gerado pelo sistema operativo Android quando um dispositivo é configurado pela primeira vez. Foi concebido para ser persistente ao longo da vida útil do dispositivo, mas pode ser reposto em determinadas condições, como uma reposição de fábrica.

O ID Android é único para cada dispositivo e, a partir do Android 8.0 (Oreo), tem um âmbito por aplicação e por utilizador. Isto significa que diferentes aplicações no mesmo dispositivo receberão diferentes IDs Android, a menos que partilhem a mesma chave de assinatura.

A ID Android mantém-se constante, a menos que o dispositivo seja reiniciado de fábrica ou se uma aplicação for desinstalada e reinstalada após uma atualização OTA (over-the-air).

  • A utilização da ANDI é proibida em dispositivos Google Play. Utilizar os identificadores AIFA e ASID acima referidos.
  • O ANDI só pode ser enviado à Singular se não existirem outros identificadores disponíveis e se a aplicação não estiver alojada na Google Play Store.
  • Omitir o parâmetro se estiverem disponíveis outros identificadores.
  • Não passe NULL ou uma cadeia de caracteres vazia no pedido.
  • Como recuperar o identificador ANDI

Exemplo de valor:
fc8d449516de0dfb
Parâmetros do dispositivo
Parâmetro Descrição
p
string

O parâmetro p especifica a plataforma da aplicação.

A lista seguinte contém os valores de parâmetros sensíveis a maiúsculas e minúsculas permitidos:

  • Android
  • iOS

Exemplo de valor:
Android
Parâmetro Descrição
ip
string

O parâmetro ip especifica o endereço IP público (IPV4) do dispositivo. O IPV6 não é suportado.

Exemplo Valor:
172.58.29.235
Parâmetro Descrição
ve
string

O parâmetro ve indica a versão do sistema operativo do dispositivo no momento do evento.

Exemplo de valor:
9.2
Parâmetros da aplicação
Parâmetro Descrição
i
string

O parâmetro i especifica o identificador da aplicação.

Este é um valor sensível a maiúsculas e minúsculas :

  • Nome do pacote para Android
  • ID do pacote para iOS

Exemplo de valor:

com.singular.app
Parâmetro Descrição do parâmetro
att_authorization_status

Plataformas suportadas:

  • iOS
int

O parâmetro att_authorization_status especifica o código de estado App Tracking Transparency (ATT). A partir do iOS 14.5, a solicitação App Tracking Transparency (ATT) é necessária para acessar o identificador IDFA.

Nota: Mesmo que não implemente a solicitação ATT, exigimos que passe o estado de autorização ATT com o valor'0', indicando "indeterminado".

Os valores suportados são:

  • 0 - Indeterminado.
  • 1 - Restrito, o utilizador desactivou o seguimento de aplicações.
  • 2 - Negado, o utilizador negou a autorização.
  • 3 - Autorizado, o utilizador concedeu a autorização.

Exemplos:

3
Parâmetros de eventos
Parâmetro Descrição do evento
n
string

O parâmetro n indica o nome do acontecimento que está a ser controlado.

  • Para suportar a receita do AdMon, é necessário que o Nome do evento seja um valor específico.
  • O Nome do evento tem de ser TUDO EM MAIÚSCULAS com sublinhados.
Utilize o seguinte Nome do evento:
__ADMON_USER_LEVEL_REVENUE__
Parâmetro Descrição
e
JSON URL-encoded string

O parâmetro e especifica atributos de eventos personalizados no formato JSON. O único atributo obrigatório é o "ad_platform". Todos os outros atributos são opcionais. Os atributos possíveis são:

  • ad_platform -- OBRIGATÓRIO
  • ad_mediation_platform
  • ad_type
  • ad_group_type
  • ad_impression_id
  • ad_placement_name
  • ad_unit_id
  • nome_da_unidade
  • ad_group_id
  • nome_do_grupo
  • prioridade do grupo
  • ad_placement_id

Nota: Os atributos sem valores devem ser omitidos.

{
   "ad_platform":"AdMob",
   "ad_mediation_platform":"admob.AdMobAdapter",
   "ad_unit_id":"ca-app-pub-6325336052\/44923540"
}

Exemplo de valor:

%7B%22ad_platform%22%3A%22AdMob%22%2C%22ad_mediation_platform%22%3A%22admob.AdMobAdapter%22%2C%22ad_unit_id%22%3A%22ca-app-pub-6325336052%5C%2F44923540%22%7D
Parâmetro Descrição
is_admon_revenue
string

O parâmetro is_admon_revenue especifica se o evento é um evento de receita de monetização de anúncios e deve ser usado para métricas de receita de anúncios.

  • Passe "true" para este evento.

Exemplo de valor:

true
Parâmetro Descrição
is_revenue_event
string

O parâmetro is_revenue_event especifica se o evento é um evento de receita e deve ser usado para métricas de receita.

  • Passe "true" para este evento.

Exemplo de valor:

true
Parâmetro Descrição
amt
double

O parâmetro amt indica o valor da moeda.

  • Deve ser utilizado em conjunto com o parâmetro "cur".

Exemplo de valor:

0.00782
Parâmetro Descrição
cur
string

O parâmetro cur indica o código de três letras maiúsculas da moeda ISO 4217.

  • Deve ser utilizado em conjunto com o parâmetro "amt".

Exemplo de valor:

USD

Corpo do pedido

Não forneça um corpo do pedido quando chamar este método. O pedido deve ser enviado utilizando o método GET com parâmetros de consulta.

Exemplos de pedidos

Os seguintes exemplos de código podem não representar todos os parâmetros suportados. Ao implementar o pedido, certifique-se de que inclui todos os parâmetros necessários, conforme listado acima, e valide se os valores corretos estão a ser passados antes de enviar dados de uma instância de produção. Aconselha-se a utilização de um identificador de aplicação único para desenvolvimento e teste.

PYTHON CURL HTTP JAVA

PYTHON

import requests

params = {
    'a': 'sdk_key_here',
    'p': 'Android',
    'i': 'com.singular.app',
    'ip': '10.1.2.3',
    've': '9.2',
    'aifa': '8ecd7512-2864-440c-93f3-a3cabe62525b',
    'asid': 'edee92a2-7b2f-45f4-a509-840f170fc6d9',
    'n': '__ADMON_USER_LEVEL_REVENUE__',
    'e': '{"ad_platform":"AdMob","ad_mediation_platform":"admob.AdMobAdapter","ad_unit_id":"ca-app-pub-6325336052/44923540"}',
    'is_admon_revenue':'true',
    'is_revenue_event':'true',
    'amt':0.00782,
    'cur':'USD'
}

response = requests.get('https://s2s.singular.net/api/v1/evt', params=params)
print(response.json())

Parâmetros opcionais

A tabela seguinte lista os parâmetros opcionais que este ponto final suporta. Todos os parâmetros listados são parâmetros de consulta.

Parâmetros opcionais
Parâmetros de dispositivo e rede
Parâmetro Descrição
use_ip
string

O parâmetro use_ip diz ao Singular para extrair o endereço IP da solicitação HTTP em vez do parâmetro 'ip'. Passe'true' para usar esse recurso.

  • O uso desse parâmetro impede que o Singular faça a geolocalização do dispositivo com base no endereço IP. Pode fornecer o código de duas letras do país do utilizador no parâmetro opcional 'country'.
  • Este parâmetro é mutuamente exclusivo do parâmetro "ip". NÃO o utilize com o parâmetro "ip".
  • Para evitar a rejeição de dados, é necessário fornecer o parâmetro "ip" ou o parâmetro "use_ip" no pedido.

Exemplo de valor:

true
Parâmetro Descrição
country
string

O parâmetro country (país ) deve conter o código de duas letras ISO 3166-1 alfa-2 do país do utilizador no momento da execução do evento. Este parâmetro só é necessário quando:

  • O parâmetro "ip" não está disponível
  • Se o parâmetro "ip" estiver disponível, o país será automaticamente determinado a partir do endereço IP e o parâmetro "country" não é necessário.

Exemplo de valor:

US
Privacidade dos dados
Parâmetro Descrição
data_sharing_options
JSON URL-encoded string

O parâmetro data_sharing_options especifica o consentimento do utilizador final para partilhar informações. Se definido, este valor deve ser mantido e transmitido em todos os pedidos subsequentes de "SESSION" e "EVENT" para o utilizador.

  • Para indicar que o utilizador consentiu (optou por participar) na partilha das suas informações, passe "false":
    {"limit_data_sharing":false}
  • Se o utilizador recusou, passe "true":
    {"limit_data_sharing":true}

O valor tem de ser uma cadeia de caracteres JSON codificada por URL.

Exemplo de valor:

%7B%22limit_data_sharing%22%3Atrue%7D
Suporte para vários dispositivos
Parâmetro Descrição
custom_user_id
string

O parâmetro custom_user_id especifica o seu ID de utilizador interno.

Exemplo de valor:

123456789abcd

Teste de eventos

Depois de fazer a integração servidor a servidor, é essencial verificar se o Singular recebe dados antes de entrar em operação com uma instância de produção. Consulte o nosso guia de testes para obter mais detalhes. Em um nível alto, as seguintes etapas devem ser seguidas:

  1. Obtenha a ID de publicidade do seu dispositivo de teste e adicione a ID no Singular SDK Console.
  2. Abra o Singular SDK Console e adicione o identificador do dispositivo para iniciar a captura de dados.
  3. Substitua o identificador do aplicativo por um identificador de aplicativo de desenvolvimento(com.singular.app.dev) para manter os dados e eventos de teste separados dos dados de produção.
  4. Criar ou abrir a aplicação a partir de um estado terminado
  5. Valide se a abertura da aplicação é enviada para o seu servidor com todos os pontos de dados Singular necessários
  6. Valide se o seu servidor dispara a Notificação de Sessão para o ponto de extremidade Singular'launch' com todos os pontos de dados necessários.
  7. Após alguns segundos, o evento de sessão deve ser exibido no Console do SDK do Singular.
  8. Prossiga com o acionamento de um evento no aplicativo.
  9. Valide se o Event é enviado para o seu servidor com todos os pontos de dados Singular necessários
  10. Valide que seu servidor dispara a Notificação de Evento para o endpoint Singular'evt' com todos os pontos de dados necessários.
  11. Após alguns segundos, o evento deve ser exibido no console do Singular SDK.
    s2s_admon.png
  12. Repita o teste para validar se todos os eventos são enviados como esperado e com os valores esperados.

Verificações importantes

  • Confirme que o evento de sessão ocorre na abertura da aplicação ou em primeiro plano e antes de o evento ser recebido.
  • Confirme que os pontos de dados necessários do evento correspondem aos pontos de dados da sessão.
  • Confirmar que os detalhes corretos da Plataforma de Mediação são passados nos Argumentos do Evento
  • Confirmar o valor e a moeda corretos da receita

Se vir os seus Eventos na Consola SDK, concluiu um teste de ponta a ponta do tratamento de Eventos!