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.

Warning

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.

google-cloud-storage-setup.webp

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.

event-specific-settings.webp
NomPar défautDescription
Exclude historical eventstrueExclure 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 pratique

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

Si ce paramètre est activé, le rapport n’inclura pas l’événement « abonnement démarré » de janvier, ni l’événement « abonnement renouvelé » de février. Il inclura l’événement « abonnement renouvelé » du 10 mars.

Include events without profilefalseInclure 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 attributesfalseInclure 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.

Warning

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.

  1. 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.
30a81ef-CleanShot_2023-03-17_at_15.22.142x.webp
  1. Ensuite, créez un nouveau compte de service pour Adapty en cliquant sur le bouton + CREATE SERVICE ACCOUNT.

    98f8ebf-CleanShot_2023-03-17_at_15.40.062x.webp
  2. 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.

    2190c50-CleanShot_2023-03-17_at_15.48.552x.webp
  3. Pour créer et télécharger une clé JSON privée, accédez à la section KEYS et cliquez sur le bouton « ADD KEY ».

    8a45468-CleanShot_2023-03-17_at_15.58.092x.webp
  4. 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.

    6ccd0f0-CleanShot_2023-03-17_at_16.03.162x.webp
  5. 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.

    3cdd937-CleanShot_2023-03-17_at_16.14.232x.webp
  6. 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.

    62801f4-CleanShot_2023-03-17_at_16.17.312x.webp

    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.

e347308-CleanShot_2023-03-17_at_17.39.452x.webp

Structure des données

Adapty utilise des fichiers .csv pour exporter les données dans un format tabulaire.

Warning

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.

Note

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.

ColonneDescription
profile_idID utilisateur Adapty.
event_typeNom de l’événement en minuscules. Consultez la section Événements pour connaître les types d’événements.
event_datetimeDate au format ISO 8601.
transaction_idIdentifiant unique d’une transaction, comme un achat ou un renouvellement.
original_transaction_idIdentifiant de la transaction d’achat d’origine.
subscription_expires_atDate d’expiration de l’abonnement. Généralement dans le futur.
environmentPeut être Sandbox ou Production.
revenue_usdRevenus en USD. Peut être vide.
proceeds_usdProduits en USD. Peut être vide.
net_revenue_usdRevenus nets (après taxes) en USD. Peut être vide.
tax_amount_usdMontant déduit pour les taxes en USD. Peut être vide.
revenue_localRevenus en devise locale. Peut être vide.
proceeds_localProduits en devise locale. Peut être vide.
net_revenue_localRevenus nets (après taxes) en devise locale. Peut être vide.
tax_amount_localMontant déduit pour les taxes en devise locale. Peut être vide.
customer_user_idID utilisateur développeur. Par exemple, il peut s’agir de votre UUID utilisateur, d’un e-mail ou de tout autre identifiant. Null si vous ne l’avez pas défini.
storePeut être app_store ou play_store.
product_idID du produit sur l’Apple App Store, le Google Play Store ou Stripe. Pour un abonnement avec engagement de 12 mois, la valeur est <product_id>:monthly.
base_plan_idID du plan de base sur le Google Play Store ou ID de prix sur Stripe.
developer_idID développeur (SDK) du paywall d’où provient la transaction.
ab_test_nameNom du test A/B d’où provient la transaction. Pour un test A/B multi-placement, le nom du test sur un placement (<test name> child-N). Pour regrouper un test multi-placement sur tous les placements, utilisez ab_test_id.
ab_test_revisionRévision du test A/B d’où provient la transaction.
paywall_nameNom du paywall d’où provient la transaction. Pour un flow, l’ID de l’écran du paywall (scr_...). Le nom du flow est dans flow_name.
paywall_revisionRévision du paywall d’où provient la transaction.
profile_countryPays du profil déterminé par Adapty, d’après l’IP.
install_dateDate d’installation au format ISO 8601.
idfvidentifierForVendor sur les appareils iOS
idfaadvertisingIdentifier sur les appareils iOS
advertising_idL’Advertising ID est un code 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_addressIP de l’appareil (peut être IPv4 ou IPv6, IPv4 étant privilégié si disponible). Mise à jour à chaque changement d’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_idUn AppSetId — identifiant unique par appareil et par compte développeur, réinitialisable par l’utilisateur, destiné aux cas d’usage publicitaires non monétisants.
android_idSur Android 8.0 (niveau d’API 26) et versions ultérieures, un 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 pour les développeurs.
deviceNom du modèle d’appareil visible par l’utilisateur final.
currencyCode de devise à 3 lettres (ISO-4217) de la transaction.
store_countryPays du profil déterminé par le store Apple/Google.
attribution_sourceSource d’attribution.
attribution_network_user_idID attribué à l’utilisateur par la source d’attribution.
attribution_statusPeut être organic, non_organic ou unknown.
attribution_channelNom du canal marketing.
attribution_campaignNom de la campagne marketing.
attribution_ad_groupGroupe d’annonces de l’attribution.
attribution_ad_setEnsemble d’annonces de l’attribution.
attribution_creativeMot-clé créatif de l’attribution.
attributesJSON des attributs utilisateur personnalisés. Contient tous les attributs personnalisés que vous avez configurés pour les envoyer depuis votre application mobile. Pour l’activer, activez l’option Send User Attributes sur la page Integrations -> Webhooks.
integration_idsTous les IDs d’intégration associés à un profil. Dictionnaire. Exemple : {‘mixpanel_user_id’: ‘mixpanelUserId-test’, ‘facebook_anonymous_id’: ‘facebookAnonymousId-test’}
variation_idID unique du paywall d’où provient la transaction. Pour un flow, l’ID de l’écran du paywall dans le flow, et non l’ID de la variante du test A/B.
flow_idID du flow d’où provient la transaction.
flow_nameNom du flow d’où provient la transaction.
flow_variation_idID de la variante du flow sur ce placement, identique à flow.variationId dans le SDK.
ab_test_idID du test A/B d’où provient la transaction. Pour un test A/B multi-placement, identique sur chaque placement.
ab_test_variant_idID de la variante du test A/B d’où provient la transaction. Utilisez-le pour ventiler les transactions par variante de test.
ab_test_variant_nameNom de la variante du test A/B.
ab_test_parent_nameNom du test A/B multi-placement. Vide pour les autres tests A/B.

Les colonnes flow et test A/B sont les dernières colonnes du fichier. Adapty les calcule au moment de l’export, donc un nom dans l’export peut différer du nom dans un webhook antérieur si vous avez renommé le test A/B, la variante ou le flow entre-temps. Pour le contenu de chaque colonne selon le type de test A/B, consultez Champs flow et test A/B.

Visites de paywall

ColonneDescription
profile_idID utilisateur Adapty.
customer_user_idID 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_countryPays du profil déterminé par le store Apple/Google.
install_dateDate d’installation au format ISO 8601.
storePeut être app_store ou play_store.
paywall_showed_atDate à laquelle le paywall a été affiché à l’utilisateur.
developer_idID développeur (SDK) du paywall à l’origine de la transaction.
ab_test_nameNom du test A/B à l’origine de la transaction.
ab_test_revisionRévision du test A/B à l’origine de la transaction.
paywall_nameNom du paywall à l’origine de la transaction.
paywall_revisionRé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.