Intégrations de services de messagerie
L’acquisition n’est ni facile ni bon marché dans un marché mobile en pleine croissance. Traiter intelligemment les utilisateurs acquis améliore donc votre économie unitaire, surtout dans les niches très concurrentielles.
Adapty fournit des informations en temps réel sur les principales actions de paiement de vos utilisateurs. Nous savons quand un client a commencé un essai, s’il a rencontré des problèmes de paiement, ou s’il a souscrit un abonnement avant de décider d’annuler. Tous ces événements, et d’autres encore, reflètent un changement d’état du client. C’est le moment idéal pour réagir : envoyer une offre, un cadeau personnalisé, ou tout autre moyen de fidélisation.
Les plateformes de notifications push permettent de décrire un utilisateur à l’aide de tags standard et personnalisés afin de mettre en place un système de rétention automatique efficace. Pour que ce système fonctionne, il suffit de déclencher des événements qui indiquent au système qu’il est temps d’envoyer un message. Ces événements seront transmis à la plateforme push depuis Adapty via l’intégration configurée.
Choisissez ci-dessous le service à intégrer et suivez les instructions :
Votre fournisseur d’attribution n’apparaît pas dans la liste ?
Faites-le nous savoir ! Créez une demande de fonctionnalité et nous l’examinerons.
Propriétés des événements
Les événements webhook sont envoyés au format JSON. Tous les événements suivent la même structure, mais leurs champs varient selon le type d’événement, le store et votre configuration spécifique.
Adapty convertit les autres devises en USD au taux de change de currencylayer.com (actualisé toutes les 8 heures). Le taux est fixé au moment de la transaction — les variations ultérieures n’affectent pas le résultat de la conversion.
| Propriété | Type | Description |
|---|---|---|
| profile_id | uuid | Identifiant utilisateur Adapty. |
| currency | str | Devise locale (USD par défaut). |
| price_usd | float | Prix du produit avant la commission Apple/Google. Revenu. |
| proceeds_usd | float | Prix du produit après la commission Apple/Google. Revenu net. |
| net_revenue_usd | float | Revenu net (revenu après la commission Apple/Google et les taxes) en USD. Peut être vide. |
| price_local | float | Prix du produit avant la commission Apple/Google en devise locale. Revenu. |
| proceeds_local | float | Prix du produit après la commission Apple/Google en devise locale. Revenu net. |
| transaction_id | str | Identifiant unique d’une transaction, comme un achat ou un renouvellement. |
| original_transaction_id | str | Identifiant de transaction de l’achat d’origine. |
| purchase_date | ISO 8601 date | Date et heure d’achat du produit. |
| original_purchase_date | ISO 8601 date | Date et heure de l’achat d’origine. |
| environment | str | Peut être Sandbox ou Production. |
| vendor_product_id | str | ID du produit dans l’Apple App Store, le Google Play Store ou Stripe. |
| base_plan_id | str | ID du plan de base dans le Google Play Store ou ID de prix dans Stripe. |
| event_datetime | ISO 8601 date | Date et heure de l’événement. |
| store | str | Peut être app_store ou play_store. |
| trial_duration | str | Durée de la période d’essai en jours. Envoyée au format ” days”, par exemple “7 days”. |
| cancellation_reason | str | Raison pour laquelle l’utilisateur a annulé son abonnement. Peut être iOS & Android voluntarily_cancelled, billing_error, refund iOS price_increase, product_was_not_available, unknown Android new_subscription_replace, cancelled_by_developer |
| subscription_expires_at | ISO 8601 date | Date d’expiration de l’abonnement. Généralement dans le futur. |
| consecutive_payments | int | Nombre de périodes durant lesquelles l’utilisateur est abonné sans interruption. Inclut la période en cours. |
| rate_after_first_year | bool | Booléen indiquant que l’abonnement est éligible à un taux de commission réduit (généralement 15 %) après un an de renouvellement continu. Les taux de commission varient selon l’éligibilité au programme et le pays. Voir Commission et taxes du store pour plus de détails. |
| promotional_offer_id | str | ID de l’offre promotionnelle indiqué dans la section Produit de l’Adapty Dashboard. |
| store_offer_category | str | Peut être introductory ou promotional. |
| store_offer_discount_type | str | Peut être free_trial, pay_as_you_go ou pay_up_front. |
| paywall_name | str | Nom du paywall d’où provient la transaction. |
| paywall_revision | int | Révision du paywall d’où provient la transaction. La valeur est 1. |
| developer_id | str | ID développeur (SDK) du placement d’où provient la transaction. |
| ab_test_name | str | Nom du test A/B d’où provient la transaction. |
| ab_test_revision | int | Révision du test A/B d’où provient la transaction. La valeur est 1. |
| cohort_name | str | Nom de l’audience à laquelle appartient le profil. |
| profile_event_id | uuid | ID d’événement unique pouvant être utilisé pour la déduplication. |
| store_country | str | Le pays transmis par le store. |
| profile_ip_address | str | IP du profil (IPv4 ou IPv6, IPv4 prioritaire si disponible). Mise à jour à chaque changement d’adresse IP de l’appareil. |
| profile_country | str | Déterminé par Adapty, à partir de l’IP du profil. |
| profile_total_revenue_usd | float | Revenu total du profil, remboursements inclus. |
| variation_id | uuid | ID unique du paywall sur lequel l’achat a été effectué. |
| access_level_id | str | ID du niveau d’accès payant. |
| is_active | bool | Booléen indiquant si le niveau d’accès payant est actif pour le profil. |
| will_renew | bool | Booléen indiquant si le niveau d’accès payant sera renouvelé. |
| is_refund | bool | Booléen indiquant si la transaction est remboursée. |
| is_lifetime | bool | Booléen indiquant si le niveau d’accès payant est à vie. |
| is_in_grace_period | bool | Booléen indiquant si le profil est en délai de grâce. |
| starts_at | ISO 8601 date | Date et heure auxquelles le niveau d’accès payant commence pour l’utilisateur. |
| renewed_at | ISO 8601 date | Date et heure du début de la période en cours du niveau d’accès payant. Correspond à activated_at jusqu’au premier renouvellement. |
| expires_at | ISO 8601 date | Date et heure d’expiration de l’accès payant. |
| activated_at | ISO 8601 date | Date et heure d’activation de l’accès payant. |
| billing_issue_detected_at | ISO 8601 date | Date et heure du problème de facturation. |
| profile_has_access_level | Bool | Booléen indiquant si le profil dispose d’un niveau d’accès actif (webhook uniquement). |
Chaque événement possède les propriétés suivantes :
transaction_id, original_transaction_id, purchase_date, original_purchase_date, environment, vendor_product_id, event_datetime, store.
En outre, certains événements disposent de propriétés supplémentaires. Pour les événements subscription_refunded et non_subscription_purchase_refunded, il est obligatoire de fournir les valeurs de price_usd et proceeds_usd en tant que propriétés supplémentaires.
| Event Name | Properties |
|---|---|
| subscription_initial_purchase | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_renewed | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_cancelled | cancellation_reason, trial_duration |
| trial_started | subscription_expires_at, trial_duration |
| trial_converted | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| trial_cancelled | cancellation_reason, trial_duration |
| non_subscription_purchase | price_usd, proceeds_usd |
| billing_issue_detected | subscription_expires_at, trial_duration |
| entered_grace_period | subscription_expires_at, trial_duration |
Exemple d’événement
{
"price_usd": 9.99,
"proceeds_usd": 6.99,
"transaction_id": "1000000628581600",
"original_transaction_id": "1000000628581600",
"purchase_date": "2020-02-18T18:40:22.000000+0000",
"original_purchase_date": "2020-02-18T18:40:22.000000+0000",
"environment": "Sandbox",
"vendor_product_id": "premium",
"event_datetime": "2020-02-18T18:40:22.000000+0000",
"store": "app_store"
}
Adapty envoie des événements à votre serveur et aux systèmes d’analyse tiers.
La propriété profile_ip_address est synchronisée avec l’adresse IP de l’appareil actuel. Chaque fois que les serveurs Adapty reçoivent des informations du SDK, l’adresse IP est mise à jour si elle diffère de celle enregistrée.