Attribution de l'API - Affise MMP sans intégration SDK
Daria Mamchenkova avatar
Écrit par Daria Mamchenkova
Mis à jour il y a plus d’une semaine

S'il n'est pas possible d'intégrer le SDK, vous pouvez utiliser l'API Attribution. Dans ce cas, vous devez procéder comme suit :

  1. Sur la page Application, ajoutez une application et indiquez sa clé secrète SDK et son App ID.

  2. Définissez la requête conformément au guide de cet article.

  3. Intégrer la bibliothèque de référence de Google Play.

Paramètres

Postback minimal pour l'installation de la métrique non organique

curl --request POST \N

--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=CjwKCAjvdajBhBEEiwAeMh1UwCsBajGUaMGwuqg6-nhQe54jA4hR3l5wUQK5OB_GH_OxlAizBIQRoCRGAQAvD_BwE"

}

]'

Si le paramètre referrer est vide ou invalide, l'installation sera organique si aucune autre définition n'est utilisée.

Postback pour les sessions et/ou vérification de l'utilisateur actif

curl --request POST \N

--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

}

]'

où :

Nom

Type

Obligatoire

Information

uuid

uuidv4 (chaîne)

Chaque

Identifiant de postback, une valeur unique pour chaque postback.

heure_créée

horodatage (int)

Chaque

Heure d'envoi du postback en millisecondes.

affise_app_id

chaîne de caractères

Chaque

ID de l'application sur Affise.

affise_pkg_app_name

chaîne

Chaque

Nom de l'application dans le magasin.

affise_app_token

chaîne

Chaque

Signature du postback.

affise_device_id

uuidv1 (chaîne)

Chaque

Identifiant unique de l'utilisateur.

random_user_id

uuidv4 (chaîne)

Tous les

Identifiant unique de l'utilisateur.

first_open_time

horodatage (int)

Premier postback

Heure du premier lancement de l'application en millisecondes.

Unique pour l'appareil.

Doit être soumis au moins une fois.

Il peut ne pas être présent dans les postbacks suivants.

référent

chaîne de caractères

Non ou premier postback, pour un contrôle non organique

Informations sur le référent d'un magasin.

Si un autre mécanisme est utilisé pour vérifier le caractère non organique, ce champ est facultatif.

last_session_time

horodatage (int)

Pour les sessions

Heure actuelle en millisecondes si la session est active, sinon 0.

dernière_heure_session

horodatage (int)

Pour les sessions,

si last_session_time = 0

Heure actuelle en millisecondes si la session est active, sinon

Dernière heure en millisecondes lorsque la session était active, sinon

première_heure_d'ouverture.

temps_session

int

Pour les sessions de durée calculée

Durée de la dernière session en millisecondes.

affise_session_count

int

Pour les sessions

Nombre de sessions non frauduleuses sur l'appareil.

Affise recommande d'augmenter ce compteur 30 secondes après le début de la session.

La valeur ne doit pas diminuer.

lifetime_session_count

int

Pour les sessions de durée de calcul

Somme des durées d'activité de l'application en millisecondes.

Voir l'exemple complet 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,

"première_heure_d'ouverture" : 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" : false,

"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" : "Google",

"proxy_ip_address" : "",

"deeplink_click" : faux,

"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" : "IE",

"language" : "en-IE",

"device_name" : "Pixel 4 XL",

"device_type" : "smartphone",

"os_name" : "",

"plateforme" : "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",

"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" : "",

"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" : false,

"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" : false,

"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" : []

}

]

Fournisseur affise_app_token

affise_app_token = SHA256(affiseAppId + createdTime + secretId)

où :

  • affiseAppId - Id de l'application Affise.

  • createdTime - heure de la demande.

  • secretId - Clé secrète SDK.

fun sha256(value : String) : Chaîne {

return MessageDigest.getInstance("SHA-256")

.digest(value.toByteArray())

.joinToString("") {

"%02x".format(it)

}

}

Exemple :

affiseAppId

AffiseDemoApp

createdTime

1685463568000

secretId

be07d122-3f3c-11ec-9bbc-0242ac130002

SHA256

00c1c31859fcfecc7be3a4505d27bc189e6deebd544025ddd1017b770407974e

Intégration de la bibliothèque de parrainage de Google Play

Pour obtenir une recommandation correctement, il est nécessaire de s'intégrer à la bibliothèque Google. Lisez ici comment faire.


Veuillez contacter l'équipe du support client d'Affise pour toutes les questions soulevées via l'e-mail : [email protected].

Avez-vous trouvé la réponse à votre question ?