Google Cloud Storage
Activez l’intégration Google Cloud Storage pour stocker en toute sécurité les événements d’abonnement et les données de visites des paywalls dans un emplacement central : votre bucket Google Cloud Storage.
Chaque jour à 4h UTC, Adapty téléverse des fichiers .csv avec les données de la veille dans vos buckets. Vous pouvez choisir de recevoir les données d’événements, les données de visites de paywall, ou les deux. Vous pouvez également exporter ces données manuellement à tout moment, pour n’importe quelle période.
Pour configurer l’intégration, générez une clé d’accès au bucket dans votre console Google Cloud, puis ajoutez-la à vos paramètres Adapty.
Calendrier et durée des téléversements
Adapty téléverse les données vers Google Cloud Storage toutes les 24 heures, à 04:00 UTC.
Les fichiers contiennent les données des événements créés au cours de la journée calendaire précédente (UTC). Le fichier téléversé le 8 mars contiendra tous les événements créés le 7 mars, de 00:00:00 à 23:59:59 UTC.
Le processus peut prendre plusieurs heures, selon le nombre total de fichiers dans la file d’attente ainsi que le volume de données que vous avez demandées. Si Adapty inclut des données historiques dans votre premier téléversement, celui-ci prendra plus de temps que les téléversements quotidiens suivants.
Configurer l’intégration Google Cloud Storage
Vous devez disposer d’une clé de compte de service Google Cloud valide avec un accès en écriture. Pour la générer, suivez les étapes de la section créer des identifiants.
Vous pouvez utiliser différents buckets avec des identifiants différents pour les événements et les visites de paywall. Cependant, si l’un ou l’autre ensemble d’identifiants est invalide, les deux envois échoueront.
Accédez à Integrations -> Google Cloud Storage et ouvrez l’onglet souhaité (Events ou Paywall visits). Activez l’intégration.
Importez le fichier contenant votre clé de compte de service Google Cloud. Indiquez le bucket et le dossier cibles. Enregistrez vos modifications.
Paramètres optionnels pour les données d’événements
Vous pouvez spécifier les événements à inclure dans le rapport et définir des noms personnalisés pour ces événements. Consultez l’article événements pour la liste complète des événements disponibles.
| Nom | Par défaut | Description |
|---|---|---|
| Exclude historical events | true | Exclure les informations sur les événements qui se sont produits avant que vous n’intégriez le SDK Adapty dans votre application. Si votre plateforme d’analyse a reçu des événements d’abonnement avant que vous ne commenciez à utiliser Adapty, cette option garantit qu’elle ne reçoit pas d’événements en double. Exemple pratiqueUn utilisateur a souscrit un abonnement mensuel le 10 janvier. La mise à jour du 1er mars de votre application était la première à inclure le SDK Adapty. |
| Include events without profile | false | Inclure les transactions qui ne sont pas liées à un profil utilisateur, ou qui ne peuvent pas être immédiatement associées à un utilisateur spécifique. Cela peut inclure des achats effectués avant l’installation du SDK Adapty, ou des transactions reçues via des notifications serveur. |
| Send user attributes | false | Inclure les attributs utilisateur personnalisés, tels que les données utilisateur et les données d’utilisation de l’application. Sélectionnez cette option si votre plan OneSignal prend en charge plus de 10 tags. Notez que dépasser les limites de tags peut entraîner des erreurs. |
Créer des identifiants Google Cloud Storage
Ce guide vous aidera à créer les identifiants nécessaires dans votre Console Google Cloud Platform.
Pour qu’Adapty puisse téléverser des rapports de données brutes dans votre bucket désigné, la clé du compte de service est requise, ainsi que l’accès en écriture au bucket correspondant. En fournissant la clé du compte de service et en accordant l’accès en écriture au bucket, vous permettez à Adapty de transférer de manière sécurisée et efficace les rapports de données brutes depuis sa plateforme vers votre environnement de stockage.
Veuillez noter que nous prenons uniquement en charge l’autorisation par clé HMAC de compte de service. Il est donc essentiel de vous assurer que votre clé HMAC de compte de service dispose des rôles « Storage Object Viewer », « Storage Legacy Bucket Writer » et « Storage Object Creator » pour permettre un accès correct à Google Cloud Storage.
- Pour commencer, rendez-vous dans la section IAM de votre compte Google Cloud et sélectionnez le projet concerné ou créez-en un nouveau.
-
Ensuite, créez un nouveau compte de service pour Adapty en cliquant sur le bouton + CREATE SERVICE ACCOUNT.
-
Remplissez les champs de la première étape — les accès seront configurés plus tard. Pour en savoir plus sur cette page, consultez la documentation ici.
-
Pour créer et télécharger une clé JSON privée, accédez à la section KEYS et cliquez sur le bouton « ADD KEY ».
-
Dans la section DETAILS, repérez la valeur Email associée au compte de service que vous venez de créer et copiez-la. Vous en aurez besoin dans les étapes suivantes pour autoriser le compte et lui permettre d’écrire dans le bucket.
-
Pour continuer, rendez-vous sur la page Buckets de Google Cloud Storage et sélectionnez un bucket existant ou créez-en un nouveau pour stocker les rapports Event ou Visits Data provenant d’Adapty. Accédez ensuite à la section PERMISSIONS et sélectionnez l’option GRANT ACCESS.
-
Dans la section PERMISSIONS, saisissez l’e-mail du compte de service obtenu à la cinquième étape mentionnée précédemment, puis choisissez le rôle Storage Object Creator. Enfin, cliquez sur SAVE pour appliquer les modifications.
N’oubliez pas de noter le nom du bucket pour une utilisation ultérieure.
Exportation manuelle des données
En plus de l’exportation automatique des données d’événements vers Google Cloud Storage, Adapty propose également une fonctionnalité d’exportation manuelle de fichiers. Cette fonctionnalité vous permet de sélectionner un intervalle de temps spécifique pour les données d’événements et de les exporter manuellement vers votre bucket GCS. Vous gardez ainsi un meilleur contrôle sur les données exportées et sur le moment où vous les exportez.
La plage de dates spécifiée sera utilisée pour exporter les événements créés depuis la date A à 00:00:00 UTC jusqu’à la date B à 23:59:59 UTC.
Structure des données
Adapty utilise des fichiers .csv pour exporter les données dans un format tabulaire.
Le contenu des événements peut évoluer au fil du temps, avec de nouvelles données introduites par nos soins ou par les tiers avec lesquels nous travaillons. Assurez-vous que le code qui traite ces données est suffisamment robuste et s’appuie sur des champs spécifiques, et non sur la structure dans son ensemble.
Événements
Vous pouvez modifier la liste des événements inclus dans vos rapports.
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.
| Colonne | Description |
|---|---|
| profile_id | Identifiant utilisateur Adapty. |
| event_type | Nom de l’événement en minuscules. Consultez la section Événements pour connaître les types d’événements. |
| event_datetime | Date au format ISO 8601. |
| transaction_id | Identifiant unique d’une transaction, comme un achat ou un renouvellement. |
| original_transaction_id | Identifiant de transaction de l’achat d’origine. |
| subscription_expires_at | Date d’expiration de l’abonnement. Généralement dans le futur. |
| environment | Peut être Sandbox ou Production. |
| revenue_usd | Revenus en USD. Peut être vide. |
| proceeds_usd | Recettes en USD. Peut être vide. |
| net_revenue_usd | Revenus nets (après impôts) en USD. Peut être vide. |
| tax_amount_usd | Montant déduit pour les taxes en USD. Peut être vide. |
| revenue_local | Revenus en devise locale. Peut être vide. |
| proceeds_local | Recettes en devise locale. Peut être vide. |
| net_revenue_local | Revenus nets (après impôts) en devise locale. Peut être vide. |
| tax_amount_local | Montant déduit pour les taxes en devise locale. Peut être vide. |
| customer_user_id | Identifiant utilisateur du développeur. Par exemple, il peut s’agir d’un UUID, d’une adresse e-mail ou de tout autre identifiant. Null si vous ne l’avez pas défini. |
| store | Peut être app_store ou play_store. |
| product_id | Identifiant du produit dans l’Apple App Store, le Google Play Store ou Stripe. |
| base_plan_id | Identifiant du plan de base dans le Google Play Store ou identifiant de prix dans Stripe. |
| developer_id | Identifiant développeur (SDK) du paywall d’où provient la transaction. |
| ab_test_name | Nom du test A/B d’où provient la transaction. |
| ab_test_revision | Révision du test A/B d’où provient la transaction. |
| paywall_name | Nom du paywall d’où provient la transaction. |
| paywall_revision | Révision du paywall d’où provient la transaction. |
| profile_country | Pays du profil déterminé par Adapty, d’après l’adresse IP. |
| install_date | Date ISO 8601 à laquelle l’installation a eu lieu. |
| idfv | identifierForVendor sur les appareils iOS |
| idfa | advertisingIdentifier sur les appareils iOS |
| advertising_id | Identifiant publicitaire unique attribué par le système d’exploitation Android, que les annonceurs peuvent utiliser pour identifier de manière unique l’appareil d’un utilisateur |
| ip_address | Adresse IP de l’appareil (IPv4 ou IPv6, avec préférence pour IPv4 si disponible). Mise à jour à chaque changement d’adresse IP de l’appareil |
| cancellation_reason | La raison pour laquelle l’utilisateur a annulé un abonnement. Valeurs possibles : iOS & Android — voluntarily_cancelled, billing_error, refund iOS uniquement — price_increase, product_was_not_available, unknown, upgraded Android uniquement — new_subscription_replace, cancelled_by_developer |
| android_app_set_id | Un AppSetId — identifiant unique par appareil et par compte développeur, réinitialisable par l’utilisateur, destiné aux cas d’usage publicitaires sans monétisation. |
| android_id | Sur Android 8.0 (API niveau 26) et versions ultérieures, nombre de 64 bits (exprimé en chaîne hexadécimale), unique pour chaque combinaison de clé de signature d’application, d’utilisateur et d’appareil. Pour plus de détails, consultez la documentation Android. |
| device | Nom du modèle d’appareil visible par l’utilisateur final. |
| currency | Code de devise à 3 lettres (ISO-4217) de la transaction. |
| store_country | Pays du profil déterminé par le store Apple/Google. |
| attribution_source | Source d’attribution. |
| attribution_network_user_id | Identifiant attribué à l’utilisateur par la source d’attribution. |
| attribution_status | Peut être organic, non_organic ou unknown. |
| attribution_channel | Nom du canal marketing. |
| attribution_campaign | Nom de la campagne marketing. |
| attribution_ad_group | Groupe d’annonces d’attribution. |
| attribution_ad_set | Ensemble d’annonces d’attribution. |
| attribution_creative | Mot-clé créatif d’attribution. |
| attributes | JSON des attributs utilisateur personnalisés. Inclut tous les attributs personnalisés que vous avez configurés pour être envoyés depuis votre application mobile. Pour l’activer, activez l’option Send User Attributes sur la page Integrations -> Webhooks. |
| integration_ids | Tous les identifiants d’intégration associés à un profil. Dictionnaire. Exemple : {‘mixpanel_user_id’: ‘mixpanelUserId-test’, ‘facebook_anonymous_id’: ‘facebookAnonymousId-test’} |
Visites de paywall
| Colonne | Description |
|---|---|
| profile_id | ID utilisateur Adapty. |
| customer_user_id | ID utilisateur développeur. Par exemple, il peut s’agir d’un UUID, d’un e-mail ou de tout autre identifiant. Null si non défini. |
| profile_country | Pays du profil déterminé par le store Apple/Google. |
| install_date | Date d’installation au format ISO 8601. |
| store | Peut être app_store ou play_store. |
| paywall_showed_at | Date à laquelle le paywall a été affiché à l’utilisateur. |
| developer_id | ID développeur (SDK) du paywall à l’origine de la transaction. |
| ab_test_name | Nom du test A/B à l’origine de la transaction. |
| ab_test_revision | Révision du test A/B à l’origine de la transaction. |
| paywall_name | Nom du paywall à l’origine de la transaction. |
| paywall_revision | Révision du paywall à l’origine de la transaction. |
Dépannage
Adapty vérifie la validité de vos clés d’accès avant de lancer l’upload. Si même une seule de vos clés Google Cloud Storage est invalide, Adapty annule l’upload et renvoie une erreur.
Pour garantir des uploads sans interruption, remplacez vos clés avant leur expiration. Si vous mettez à jour la clé pour les événements, n’oubliez pas de mettre à jour la clé pour les visites de paywall, et vice versa.