Se não for possível fazer a integração com o SDK, você poderá usar a API Attribution. Nesse caso, você deve fazer o seguinte:
Na página Aplicativo, adicione um aplicativo e indique a chave secreta do SDK e o ID do aplicativo.
Defina a solicitação de acordo com o guia deste artigo.
Integrar a biblioteca de referência do Google Play.
Configurações
Postback mínimo para instalar a métrica não orgânica
curl --request POST \
--data '[
{
"uuid": "1a7adcca-f786-4c62-a770-5b3e687d0ee3",
"created_time": 1668605535000,
"affise_app_id": "3",
"affise_pkg_app_name": "com.test.app",
"affise_app_token": "ee8ebe706e0359e3ac5c45666a681f4c228d97f20012dac186ae3902eb479955",
"affise_device_id": "bf62b34b-5750-4e95-a132-4185cedbee00",
"random_user_id": "92f254db-d70d-47ce-8597-baccab852300",
"first_open_time": 1685452724264,
"referrer": "gclid=CjwKCAjwvdajBhBEEiwAeMh1UwCsBajGUaMGwuqg6-nhQQe54jA4hR3l5wUQK5OB_GH_OxlAizBIQRoCRGAQAvD_BwE"
}
]'
Se o parâmetro referrer estiver vazio ou for inválido, a instalação será orgânica se outra definição não for usada.
Postback para sessões e/ou verificação de usuário ativo
curl --request POST \
--data '[
{
"uuid": "1a7adcca-f786-4c62-a770-5b3e687d0ee3",
"created_time": 1668605535000,
"affise_app_id": "3",
"affise_pkg_app_name": "com.test.app",
"affise_app_token": "ee8ebe706e0359e3ac5c45666a681f4c228d97f20012dac186ae3902eb479955",
"affise_device_id": "bf62b34b-5750-4e95-a132-4185cedbee00",
"random_user_id": "92f254db-d70d-47ce-8597-baccab852300",
"first_open_time": 1685452724264,
"last_session_time": 1685452756000,
"last_time_session": 1685452756000,
"time_session": 56783,
"affise_session_count": 5,
"lifetime_session_count": 4556891
}
]'
where:
Nome | Nome | Obrigatório | Informações |
uuid | uuidv4 (string) | Todos os | Identificador de postback, um valor exclusivo para cada postback. |
created_time | carimbo de data/hora (int) | Cada | Tempo de envio do postback em milissegundos. |
affise_app_id | string | Todo | ID do aplicativo no Affise. |
affise_pkg_app_name | cadeia de caracteres | Todos os | Nome do pacote na loja. |
affise_app_token | string | Todos os | Assinatura de postback. |
affise_device_id | uuidv1 (string) | Todos os | Identificador de dispositivo exclusivo do usuário. |
random_user_id | uuidv4 (string) | Todos os | Identificador de dispositivo exclusivo do usuário. |
first_open_time | carimbo de data/hora (int) | Primeiro postback | Hora da primeira inicialização do aplicativo em milissegundos.
Exclusivo para o dispositivo.
Deve ser enviado pelo menos uma vez.
Pode não estar presente nos postbacks seguintes. |
Referenciador | string | Não ou primeiro postback, para verificação não orgânica | Informações do referenciador de uma loja.
Se outro mecanismo for usado para verificação não orgânica, o campo será opcional. |
last_session_time | carimbo de data/hora (int) | Para sessões | Hora atual em milissegundos se a sessão estiver ativa; caso contrário, 0. |
last_time_session | carimbo de data/hora (int) | Para sessões,
se last_session_time = 0 | Hora atual em milissegundos se a sessão estiver ativa; caso contrário, 0
Última hora em milissegundos quando a sessão estava ativa; caso contrário
first_open_time. |
time_session | int | Para sessões de duração de cálculo | Duração da última sessão em milissegundos. |
affise_session_count | int | Para sessões | Número de sessões sem fraude no dispositivo.
A Affise recomenda aumentar esse contador 30 segundos após o início da sessão.
O valor não deve diminuir. |
lifetime_session_count | int | Para sessões de durações de cálculo | Soma das durações das atividades do aplicativo em milissegundos. |
Veja o exemplo completo de postback:
[
{
"affise_app_id": "3",
"affise_pkg_app_name": "com.test.app",
"app_version": "1.0",
"app_version_raw": "2",
"store": "Apk",
"installed_time": 1685445035570,
"first_open_time": 1685445103532,
"installed_hour": 1685444400000,
"first_open_hour": 1685444400000,
"install_first_event": true,
"install_begin_time": 0,
"install_finish_time": 1685445103532,
"referrer_install_version": "",
"referral_time": 0,
"referrer_click_time": 0,
"referrer_click_time_server": 0,
"referrer_google_play_instant": falso,
"created_time": 1685445103000,
"created_time_milli": 1685445103908,
"created_time_hour": 1685444400000,
"last_session_time": 1685445103908,
"connection_type": "WIFI",
"cpu_type": "arm64-v8a, armeabi-v7a, armeabi",
"hardware_name": "coral",
"network_type": "WIFI",
"device_manufacturer" (fabricante do dispositivo): "Google",
"proxy_ip_address": "",
"deeplink_click": falso,
"device_atlas_id": "",
"affise_device_id": "6c5b4fbb-0188-1000-a2a8-a425dfc3a5d1",
"affise_alt_device_id": "6c5b4fd6-0188-1000-8d42-38592460a3c0",
"adid": "",
"android_id": "50da7b69cab425a1",
"android_id_md5": "f2e24f12834014cf69623fd9a7c77f12",
"mac_sha1": "",
"mac_md5": "",
"gaid_adid": "",
"gaid_adid_md5": "",
"oaid": "",
"oaid_md5": "",
"altstr_adid": "",
"fireos_adid": "",
"coloros_adid": "",
"reftoken": "6c5b51...ac5631",
"reftokens": "6c5b5...59c94f0a",
"referrer": "referrer=018…a43e29&clickid=6475e…e37f55&pid=9",
"user_agent": "Dalvik/2.1.0 (Linux; U; Android 13; Pixel 4 XL Build/TP1A.221005.002.B2)",
"mccode": "272",
"mncode": "2",
"isp": "3",
"region": "IE",
"country" (país): "IE",
"language" (idioma): "en-IE",
"nome_do_dispositivo": "Pixel 4 XL",
"device_type": "smartphone",
"os_name": "",
"platform" (plataforma): "android",
"sdk_platform": "android",
"api_level_os": "33",
"affise_sdk_version": "-",
"os_version": "13",
"random_user_id": "6c5b4fea-0188-1000-90fb-29759c0aadba",
"affise_sdk_pos": "Production" (Produção),
"timezone_dev": "UTC+0100",
"affise_event_token": "",
"affise_event_name": "",
"last_time_session": 1685445104000,
"time_session": 295,
"affise_session_count": 1,
"lifetime_session_count": 295,
"affise_deeplink": "",
"affise_part_param_name": "",
"affise_part_param_name_token": "",
"affise_app_token": "9d1af455f1…66611d7e72e9",
"label" (rótulo): "",
"uuid": "6c5b5181-0188-1000-ab71-0cbd7e8a63e2",
"pushtoken": "",
"affise_events_count": 2,
"events": [
{
"affise_event_id": "4fc7d613-af35-4298-92a8-04838e03a40c",
"affise_event_name": "CustomId01",
"affise_event_category": "native",
"affise_event_timestamp": 1685449930539,
"affise_event_first_for_user": falso,
"affise_event_user_data": "",
"affise_event_data": {
"affise_event_custom_id_01": "AiChatClickEvent",
"affise_event_custom_id_{01}_timestamp": 1685449930539
},
"affise_parameters": {}
},
{
"affise_event_id": "b1e1aa62-652e-48d5-a9b0-4f9a0b9448e0",
"affise_event_name": "CustomId10",
"affise_event_category": "native",
"affise_event_timestamp": 1685449935544,
"affise_event_first_for_user": falso,
"affise_event_user_data": "about:blank",
"affise_event_data": {
"affise_event_custom_id_10": "PageFinishedLoading",
"affise_event_custom_id_{10}_timestamp": 1685449935544
},
"affise_parameters": {}
}
],
"affise_internal_events_count": 0,
"internal_events": [],
"affise_sdk_events_count": 0,
"sdk_events": [],
"affise_metrics_events_count": 0,
"metrics_events": []
}
]
Provedor affise_app_token
affise_app_token = SHA256(affiseAppId + createdTime + secretId)
onde:
affiseAppId - ID do aplicativo Affise.
createdTime - hora da solicitação.
secretId - chave secreta do SDK.
fun sha256(value: String) : String {
retorna MessageDigest.getInstance("SHA-256")
.digest(value.toByteArray())
.joinToString("") {
"%02x".format(it)
}
}
Exemplo:
affiseAppId | AffiseDemoApp |
createdTime | 1685463568000 |
secretId | be07d122-3f3c-11ec-9bbc-0242ac130002 |
SHA256 | 00c1c31859fcfecc7be3a4505d27bc189e6deebd544025ddd1017b770407974e |
Integração da biblioteca de referência do Google Play
Para obter uma indicação corretamente, é necessário fazer a integração com a biblioteca do Google. Leia como fazer isso aqui.
Entre em contato com a equipe de Suporte ao Cliente da Affise sobre todas as questões levantadas por meio do e-mail: [email protected].