How can we help?

FAQ sobre conexões do Audiences para ad networks

  • Atualizado

Visão geral: Você é uma ad network? Encontre respostas para perguntas frequentes sobre conexões de parceiros do Audiências.

Chave de API e chave de pull do parceiro

Para que servem a chave de API e a chave de API de teste?

A chave de API é uma chave exclusiva emitida pelo parceiro para cada anunciante. A chave de API identifica o anunciante em cada chamada de API e geralmente é uma longa string hexadecimal (por exemplo, d41ac239b3b918e28fa0c). No processo de teste, precisaremos que você nos forneça uma chave de API de teste, que usaremos para testar sua integração de audiências.

O que é a PARTNER_PULL_KEY?

A PARTNER_PULL_KEY é uma chave gerada pela AppsFlyer e fornecida a cada parceiro. Ela é usada pelo parceiro na variável de modelo localizada na URL {{PARTNER_PULL_KEY}} para fazer o download do arquivo de segmento.

Como e quando recebemos a PARTNER_PULL_KEY?

A equipe de audiências da AppsFlyer enviará a você uma PARTNER_PULL_KEY quando testarmos seu endpoint /sync em uma fase posterior.

Arquivo de audiência, tamanho e limitações

Há alguma limitação no tamanho do segmento?

Fazemos upload dos dados em um upload multipart para o AWS S3. Para ver os limites da AWS, consulte: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html

Qual é o tamanho dos arquivos?

Oferecemos suporte para arquivos grandes. No fim, são arquivos CSV armazenados no AWS S3. Para ver os limites da AWS, consulte: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html

Existe um limite máximo de linhas de Device ID?

O número máximo de linhas depende do limite de tamanho de arquivo de 5 TB da AWS.

Podemos usar um caminho/bucket direto da Amazon AWS para a API de audiências?

Sim, forneceremos um bucket da AWS e enviaremos uma URL pré-assinada para um caminho na AWS onde o arquivo está localizado.

O arquivo está compactado?

Sem.

A audiência tem um período de validade padrão?

Uma audiência não expira. Depois que uma audiência é criada e conectada, ela é enviada todos os dias. No entanto, uma audiência pode ser excluída; nesse caso, ela deixa de ser enviada.

O formato do arquivo é separado por quebra de linha (ou por vírgula)? A primeira linha é um cabeçalho como advertiser_id?

Ele é separado por quebra de linha, e a primeira linha é um cabeçalho como advertiser_id_sha256 (com base no identificador enviado).

Cada solicitação para /sync terá URLs para todos os 3 arquivos (por exemplo, ADID, e-mail e telefone)?

Cada solicitação para /sync conterá as URLs dos arquivos compatíveis com a integração. Se houver suporte para ADID, e-mail e telefone, ela conterá essas 3 URLs.

Como resultado da etapa 3 (/sync), recebemos um link para baixar um arquivo de audiência. É possível gerar e compartilhar esses modelos de URL sem uma sincronização de API?

No momento, não. As URLs são geradas com base na sua PARTNER_PULL_KEY exclusiva. Na fase de teste, as URLs serão fornecidas e poderão ser testadas.

Aqui está um exemplo de URL:

https://audiencespull.appsflyer.com/{{PARTNER_PULL_KEY}}/12cjv4dq1zyxz3nh-HASHED.csv?X-Amz-A lgorithm=AWS1-HMAC-SHA256&X-Amz-Date=20190503T091923Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=AKIB22QYTATEGB2HBFJR%2F20190603%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Signature=c8287819a21d2f7832154df609c55ab8c0afe53540d542918b2739a9234923a

Para que precisamos de container_id?

Enviaremos os IDs de dispositivo da audiência para o ID do contêiner especificado por você via API. A criação do contêiner de audiência é obrigatória para o desenvolvimento da integração de audiências.

Chamadas de API, respostas e códigos de status

Quando devemos retornar uma resposta?

/validate: quando a chave de API corresponder à que foi fornecida a você.

/create: quando o contêiner tiver sido criado no seu sistema.

/sync: Esperamos receber uma resposta depois que você receber a nossa chamada e conseguir acessar o arquivo. Você pode fazer o download e processar o arquivo depois de enviar a resposta. O link fica disponível para download por um período de 2 horas.

Como devemos lidar com solicitações com falha?

Por meio de códigos de status:

200 - quando a solicitação for bem-sucedida

401 - para chave de API inválida - autenticação

Não oferecemos suporte a outros casos imediatamente. Nesses casos, o anunciante verá que um upload falhou devido a um erro geral. Se houver problemas recorrentes, entre em contato conosco para discutir esses casos.

Quando a AppsFlyer chama nossos endpoints?

/validate: A AppsFlyer chamará esse endpoint uma vez sempre que um anunciante criar uma nova conexão com você.

/create: Esse endpoint é chamado apenas uma vez por contêiner, ou seja, para cada nova audiência que se conecta a você pela primeira vez, chamamos o endpoint /create e armazenamos o ID do contêiner. Esperamos receber um ID de contêiner diferente para cada chamada para /create. Separamos as plataformas e os nomes das audiências do nosso lado (em outras palavras, cada plataforma terá sua própria audiência do nosso lado e iniciará uma chamada para /create).

/sync: Esse endpoint é chamado sempre que um upload é iniciado: seja durante o processo diário que realiza um upload programado de todas as audiências da AppsFlyer, seja sempre que um anunciante inicia um upload manual pela nossa UI ou por uma chamada de API.

As solicitações para /sync são feitas apenas uma vez ou a AppsFlyer executará as solicitações novamente mais tarde?

A solicitação para /sync é feita sempre que um upload é iniciado. Isso ocorre durante o processo diário que realiza um upload programado de todas as audiências da AppsFlyer ou sempre que um anunciante inicia um upload manual pela nossa UI ou por uma chamada de API.

Com que frequência a AppsFlyer envia chamadas para o endpoint /sync?

Isso depende do número de anunciantes com que você trabalha e do número de audiências que eles enviam. Para cada audiência enviada, o endpoint /sync será chamado. Isso ocorre durante o processo diário que realiza um upload programado de todas as audiências da AppsFlyer ou sempre que um anunciante inicia um upload manual pela nossa UI ou por uma chamada de API.

Se tivermos alto tráfego, podemos manter vários endpoints de API (por exemplo, várias rotas ou até domínios diferentes)?

A solução preferencial é garantir que a API atual consiga lidar com um tráfego relativamente alto. Há uma modificação de API disponível; no entanto, isso pode resultar em atrasos de semanas ou meses para concluir a integração.

Regras de nomenclatura

Na interface /validate, o campo api_key é uma string ou uma matriz de strings?

É uma string.

Na interface /create, o campo name (nome da audiência) deve oferecer suporte apenas a caracteres em inglês ou precisa oferecer suporte a outros conjuntos de caracteres? Quais são as regras de validação para nomes?

O nome da audiência é idêntico ao nome na UI da AppsFlyer.

  • Deve ser um nome exclusivo entre 2 e 100 caracteres
  • Todos os idiomas com suporte 
  • Símbolos especiais com suporte (por exemplo, $, %, ^, @ etc.)

Na interface /create, o container_id deve conter apenas números ou pode oferecer suporte a caracteres em inglês?

Há suporte a números e caracteres em inglês.

SHA256 e URL com hash

Por que nossa tentativa de decodificar o GAID/IDFA SHA256 das audiências falhou?

O SHA256 não foi feito para ser decodificado. Esse mecanismo foi projetado para que você e a AppsFlyer codifiquem o ID do dispositivo (o que permite a você corresponder valores codificados se tiver acesso ao ID original do dispositivo).

A AppsFlyer nos fornece identificadores sem hash?

Não, IDs de dispositivo sem hash estão disponíveis apenas para anunciantes. Para garantir a privacidade de dados, aplicamos hash aos IDs do anunciante nos arquivos de segmento usando o algoritmo SHA256. Os IDs do anunciante serão enviados usando esta chave no payload da solicitação: url_adid_sha256.

Se todos os GAIDs tiverem hash, como podemos saber quais GAIDs recebemos?

Se você tiver um GAID em texto simples do aplicativo e um GAID com hash da AppsFlyer, poderá aplicar hash ao GAID em texto simples com SHA256 e, em seguida, correspondê-lo ao GAID com hash da AppsFlyer.

This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.


Share article: