Intégration Tenjin
Tenjin est une plateforme d’attribution et d’analytique mobile pour les développeurs d’applications et les marketeurs. Elle fournit des outils pour mesurer et optimiser les campagnes d’acquisition d’utilisateurs en offrant des informations détaillées sur les performances des applications et le comportement des utilisateurs. Grâce à son approche transparente et flexible, Tenjin agrège les données des réseaux publicitaires et des stores d’applications, permettant aux équipes d’analyser le ROI, de suivre les conversions et de surveiller les métriques de performance clés.
En transmettant les événements d’abonnement à Tenjin, vous pouvez voir exactement d’où proviennent les conversions et quelles campagnes génèrent le plus de valeur sur tous les canaux, plateformes et appareils. En substance, les tableaux de bord Tenjin offrent des analyses avancées pour les campagnes marketing.
En transmettant l’attribution de Tenjin à Adapty, vous enrichissez les analyses Adapty avec des critères de filtration supplémentaires utilisables dans les analyses de cohortes et de conversion.
Cette intégration fonctionne de deux façons principales :
- Réception des données d’attribution depuis Tenjin Une fois l’intégration effectuée, Adapty collecte les données d’attribution depuis Tenjin. Vous pouvez accéder à ces informations sur la page du profil de l’utilisateur dans l’Adapty Dashboard.
- Envoi des événements d’abonnement à Tenjin Adapty envoie les événements d’achat à Tenjin en temps réel. Ces événements permettent d’évaluer l’efficacité de vos campagnes publicitaires directement dans le tableau de bord de Tenjin.
| Caractéristique de l’intégration | Description |
|---|---|
| Planification | Temps réel |
| Direction des données | Transmission bidirectionnelle :
|
| Point d’intégration Adapty |
|
Configurer l’intégration
Connecter Adapty à Tenjin
-
Ouvrez la page Integrations -> Tenjin dans l’Adapty Dashboard.
-
Activez le bouton pour activer l’intégration.
-
Connectez-vous au tableau de bord Tenjin.
-
Allez dans Configuration -> Apps dans le menu de navigation.
-
Sélectionnez l’application correspondant à votre plateforme (iOS ou Android) et accédez à l’onglet App and SDK.
-
Dans l’onglet App and SDK, cliquez sur Copy dans la colonne SDK Key. Si vous n’avez pas encore de clé SDK, cliquez sur le bouton Generate SDK Key pour en créer une.
-
Retournez dans l’Adapty Dashboard et collez la clé SDK copiée dans le champ correspondant à votre plateforme :
- Pour les apps iOS : collez-la dans le champ iOS SDK Key ou iOS Sandbox SDK Key
- Pour les apps Android : collez-la dans le champ Android SDK Key ou Android Sandbox SDK Key
InfoTenjin ne dispose pas d’un mode Sandbox spécifique pour l’intégration serveur à serveur. Utilisez une app Tenjin distincte ou la même clé pour les événements de production et de sandbox.
-
Si vous avez des applications sur les deux plateformes, répétez les étapes 5 à 7 pour l’autre plateforme.
-
(facultatif) Ajustez la section How the revenue data should be sent si nécessaire. Pour une explication détaillée de ses paramètres, consultez les Paramètres d’intégration.
-
Cliquez sur Save pour finaliser la configuration.
Adapty enverra désormais les événements d’achat à Tenjin et recevra les données d’attribution. Vous pouvez ajuster le partage des événements dans la section Events names.
Configurer les événements et les tags
Tenjin accepte uniquement les événements d’achat et Trial started. Dans la section Events names, sélectionnez les événements à partager avec Tenjin en fonction de vos objectifs de suivi.
Connecter votre application à Tenjin
Utilisez la méthode SDK Adapty.updateExternalAttribution() (appelée updateAttribution() avant la version 4.1 du SDK) pour récupérer les données d’attribution depuis Tenjin et les transmettre à Adapty.
Structure des événements
Adapty envoie les événements sélectionnés à Tenjin, tels que configurés dans la section Events names de la page d’intégration Tenjin. Chaque événement est structuré comme suit :
{
"price": 99.0,
"locale": "en-US",
"country": "ME",
"postcut": "false",
"currency": "USD",
"platform": "ios",
"quantity": 1,
"bundle_id": "com.adapty.adaptydemoapp",
"ip_address": "127.0.0.1",
"os_version": "18.1.1",
"product_id": "month.premium.99",
"app_version": "3.2.0",
"sdk_version": "server",
"device_model": "iPhone 13 Mini",
"advertising_id": "00000000-0000-0000-0000-000000000000",
"os_version_release": "18.1.1",
"developer_device_id": "00000000-0000-0000-0000-000000000000",
"analytics_installation_id": "00000000-0000-0000-0000-000000000000"
}
Where
| Paramètre | Type | Description |
|---|---|---|
| price | Float | Le prix unitaire de l’article acheté dans l’unité standard de la devise (par ex., USD est exprimé en dollars). |
| locale | String | La locale de l’appareil. Pour Android : Locale.getDefault().toString(). Pour iOS : [[NSLocale currentLocale] localeIdentifier]. |
| country | String | Le code pays selon la norme ISO locale (par ex., US pour les États-Unis). |
| postcut | String (Boolean) | Indique si l’achat a été envoyé après la commission de la plateforme. 1 pour vrai, 0 pour faux. |
| currency | String | Le code de devise ISO (par ex., USD pour les dollars américains). |
| platform | String | La plateforme de l’appareil (par ex., ios, android, windows, amazon). |
| quantity | Integer | Le nombre d’unités achetées. |
| bundle_id | String | L’identifiant de bundle de l’application (par ex., com.example.app). |
| ip_address | String (IPv4) | L’adresse IP de l’utilisateur. Utilisée pour déterminer le pays. |
| os_version | String | La version du système d’exploitation de l’appareil. Pour Android : String.valueOf(Build.VERSION.SDK_INT). Pour iOS : [[UIDevice currentDevice] systemVersion]. |
| product_id | String | Identifiant unique du produit acheté. |
| app_version | Float, Decimal | La version de l’application. Pour Android : context.getPackageManager().getPackageInfo(). Pour iOS : [[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]. |
| sdk_version | String | La version du SDK utilisée, toujours définie sur server. |
| device_model | String | Le modèle de l’appareil. Pour Android : Build.MODEL. Pour iOS : sysctl("hw.machine"). |
| advertising_id | UUID | L’identifiant publicitaire de l’appareil. Obligatoire pour Android. Pour iOS, il peut être vide ou composé uniquement de zéros. |
| os_version_release | String | La version de publication du système d’exploitation. Pour Android : String.valueOf(Build.VERSION.RELEASE). Pour iOS : [[UIDevice currentDevice] systemVersion]. |
| developer_device_id | UUID | L’identifiant du fournisseur (iOS uniquement). |
| analytics_installation_id | UUID | Identifiant d’installation pour les analytics. Pour plus de détails, consultez la documentation sur https://docs.tenjin.com. |
Dépannage
Certains événements apparaissent comme échoués dans l’Event Feed
Tenjin n’accepte que les événements listés dans Configurer les événements et les tags. Tous les autres événements apparaissent quand même dans l’Event Feed, marqués comme une livraison échouée avec le message « The event type is not supported for integration. » C’est notamment le cas de access_level_updated, qui n’apparaît pas du tout dans la section Events names, car il est réservé à l’intégration webhook.