Actions et types de données du plugin Adapty FlutterFlow

Actions personnalisées

Voici les méthodes Adapty disponibles dans FlutterFlow via le plugin Adapty. Elles peuvent être utilisées comme actions personnalisées dans FlutterFlow.

Custom ActionDescriptionAction ArgumentsAdapty Data Types - Action Output Variable
activateInitialise le SDK AdaptyAucun

getPaywall

Récupère un paywall. Ne retourne pas les produits du paywall. Utilisez l’action getPaywallProducts pour obtenir les produits réelsAdaptyGetPaywallResult

getPaywallProducts

Retourne une liste des produits réels du paywallAdaptyPaywallAdaptyGetProductsResult

getProductsIntroductoryOfferEligibility

Vérifie si l’utilisateur est éligible à une offre de lancement iOSAdaptyPaywallProductAdaptyGetIntroEligibilitiesResult

makePurchase

Finalise un achat et déverrouille le contenu. Si un paywall comporte une offre promotionnelle, Adapty l’applique automatiquement lors du paiement
  • product : un objet AdaptyPaywallProduct récupéré depuis le paywall.
  • subscriptionUpdateParams : un objet AdaptySubscriptionUpdateParameters utilisé pour mettre à niveau ou rétrograder un abonnement (à utiliser pour Android).
  • isOfferPersonalized : indique si l’offre est personnalisée pour l’acheteur (à utiliser pour Android).
AdaptyMakePurchaseResult

getProfile

Récupère le profil de l’utilisateur actuel de l’application. Cela vous permet de définir les niveaux d’accès et d’autres paramètres

En cas d’échec (par ex. absence de connexion internet), les données en cache sont renvoyées. Adapty met régulièrement à jour le cache du profil pour que les informations restent aussi actuelles que possible

AucunAdaptyGetProfileResult
updateProfileModifie les attributs optionnels du profil de l’utilisateur actuel, comme l’adresse e-mail, le numéro de téléphone, etc. Vous pouvez ensuite utiliser ces attributs pour créer des segments d’utilisateurs ou les consulter dans le CRML’ID et les paramètres à mettre à jour pour l’AdaptyProfileAdaptyError (Optionnel)
restorePurchasesRestaure tous les achats effectués par l’utilisateurAucunAdaptyGetProfileResult
logShowPaywallEnregistre l’affichage d’un paywall spécifique à l’utilisateurAdaptyPaywallAdaptyError (Optionnel)
identifyIdentifie l’utilisateur à l’aide du customerUserId de votre systèmecustomerUserIdAdaptyError (Optionnel)
logoutDéconnecte l’utilisateur actuel de votre applicationAucunAdaptyError (Optionnel)
presentCodeRedemptionSheetAffiche une feuille permettant aux utilisateurs de saisir des codes de remboursement (iOS uniquement)AucunAucun

Types de données

Les types de données Adapty (collections de valeurs de données) transmis à FlutterFlow via le plugin Adapty.

AdaptyAccessLevel

Informations sur le niveau d’accès de l’utilisateur.

Nom du champTypeDescription
activatedAtDateTimeL’heure à laquelle ce niveau d’accès a été activé
activeIntroductoryOfferTypeStringLe type d’offre de lancement active. Si défini, cela signifie qu’une offre a été appliquée durant cette période d’abonnement
activePromotionalOfferIdStringL’identifiant de l’offre promotionnelle active (achetée depuis iOS)
activePromotionalOfferTypeStringLe type d’offre promotionnelle active (achetée depuis iOS). Si défini, cela signifie qu’une offre a été appliquée durant cette période d’abonnement
billingIssueDetectedAtDateTimeL’heure à laquelle un problème de facturation a été détecté. L’abonnement peut toujours être actif. Défini à null si le paiement est traité avec succès
cancellationReasonStringLa raison pour laquelle l’abonnement a été annulé
expiresAtDateTimeLa date d’expiration du niveau d’accès (peut être dans le passé ou non définie pour un accès à vie)
idStringL’identifiant du niveau d’accès
isActiveBooleanTrue si ce niveau d’accès est actif. En général, vous pouvez vérifier cette propriété pour déterminer si un utilisateur a accès aux fonctionnalités premium
isInGracePeriodBooleanTrue si cet abonnement auto-renouvelable est en délai de grâce
isLifetimeBooleanTrue si ce niveau d’accès est actif à vie (sans date d’expiration)
isRefundBooleanTrue si cet achat a été remboursé
offerIdStringL’identifiant de l’offre promotionnelle active (achetée depuis Android)
renewedAtDateTimeL’heure du dernier renouvellement du niveau d’accès
startsAtDateTimeL’heure de début de ce niveau d’accès (peut être dans le futur)
storeStringLe store où l’achat a été effectué
unsubscribedAtDateTimeL’heure à laquelle le renouvellement automatique a été désactivé pour l’abonnement. L’abonnement peut toujours être actif. Si non défini, l’utilisateur a réactivé l’abonnement
vendorProductIdStringL’identifiant du produit dans le store qui a déverrouillé ce niveau d’accès
willRenewBooleanTrue si cet abonnement auto-renouvelable est configuré pour se renouveler

AdaptyAccessLevelIdentifiers

Cette structure est destinée à remplacer la paire clé-valeur pour Map<String, AdaptyAccessLevel AdaptyAccessLevel.

Nom du champTypeDescription
accessLevelIdentifierStringL’identifiant du niveau d’accès
accessLevelData (AdaptyAccessLevel)Le AdaptyAccessLevel associé

AdaptyCustomDoubleAttribute

Informations sur les attributs double personnalisés définis pour l’utilisateur.

Nom du champTypeDescription
keyStringL’identifiant de l’attribut double personnalisé
valueDoubleLa valeur de l’attribut double personnalisé

AdaptyCustomStringAttribute

Informations sur les attributs de chaîne personnalisés définis pour l’utilisateur.

Field NameTypeDescription
keyStringL’identifiant de l’attribut de chaîne personnalisé
valueStringLa valeur de l’attribut de chaîne personnalisé

AdaptyError

Contient les détails d’une erreur. Pour la liste complète des codes d’erreur, consultez React Native, Flutter, Unity - Gérer les erreurs.

Nom du champTypeDescription
errorMessageStringUne description lisible de l’erreur
errorCodeIntegerCode numérique identifiant l’erreur

AdaptyGetIntroEligibilitiesResult

Contient le résultat de l’action personnalisée getProductsIntroductoryOfferEligibility.

Nom du champTypeDescription
valueList < Data (AdaptyProductIntroEligibility) >Liste des éligibilités de l’utilisateur aux offres de lancement
errorData (AdaptyError)Contient les détails de l’erreur via AdaptyError

AdaptyGetPaywallResult

Contient le résultat de l’action personnalisée getPaywall.

Nom du champTypeDescription
valueData (AdaptyPaywall)Contient une liste d’objets AdaptyPaywall
errorData (AdaptyError)Contient les informations d’erreur via AdaptyError

AdaptyGetProductsResult

Contient le résultat de l’action personnalisée getPaywallProducts.

Nom du champTypeDescription
valueList < Data (AdaptyPaywallProduct) >Contient une liste d’AdaptyPaywallProducts
errorData (AdaptyError)Contient les informations d’erreur via AdaptyError

AdaptyGetProfileResult

Contient le résultat de l’action personnalisée getProfile.

Nom du champTypeDescription
valueData (AdaptyProfile)Contient le profil utilisateur sous forme d’AdaptyProfile
errorData (AdaptyError)Contient les informations d’erreur via AdaptyError

AdaptyMakePurchaseResult

Contient le résultat de l’action personnalisée makePurchase.

Nom du champTypeDescription
valueData (AdaptyProfile)Contient le profil de l’utilisateur sous forme d’AdaptyProfile
errorData (AdaptyError)Contient les informations d’erreur via AdaptyError

AdaptyNonSubscription

Informations sur les achats non liés à un abonnement. Il peut s’agir d’achats uniques (consommables), de déverrouillages (comme un nouveau niveau dans un jeu), etc.

Nom du champTypeDescription
isConsumableBooleanIndique si le produit est consommable
isOneTimeBooleanIndique si le produit est un achat unique (par exemple, si true, l’achat n’est traité qu’une seule fois)
isRefundBooleanIndique si le produit a été remboursé
isSandboxBooleanIndique si le produit a été acheté dans un environnement sandbox
purchasedAtDateTimeL’heure à laquelle le produit a été acheté
purchaseIdStringL’ID de l’achat dans Adapty. Peut être utilisé pour suivre les produits à achat unique
storeStringLe store où le produit a été acheté (par exemple, App Store, Google Play)
vendorProductIdStringID du produit dans le système du vendeur
vendorTransactionIdStringID de transaction dans le système du vendeur

AdaptyPaywall

Informations sur un paywall.

Nom du champTypeDescription
abTestNameStringLe nom du test A/B parent
hasViewConfigurationBooleanIndique s’il existe une configuration d’affichage pour le paywall
localeStringL’identifiant de locale du paywall
nameStringNom du paywall
placement.idStringL’identifiant du placement parent
remoteConfigStringStringUn dictionnaire personnalisé depuis l’Adapty Dashboard associé à ce paywall
placement.revisionIntegerLa révision/version actuelle du paywall. Chaque modification génère une nouvelle révision
variationIdStringL’identifiant de variante utilisé pour attribuer les achats à ce paywall
vendorProductIdsStringTableau des identifiants de produits associés au paywall

AdaptyPaywallProduct

Informations sur le produit.

Nom du champTypeDescription
vendorProductIdStringL’ID d’un produit dans un store
localizedDescriptionStringUne description du produit dans la langue de l’utilisateur
localizedTitleStringLe nom du produit dans la langue de l’utilisateur
regionCodeStringLe code région de la locale utilisée pour formater le prix du produit (pour iOS)
isFamilyShareableBooleanUne valeur booléenne indiquant si le produit est disponible pour le partage familial dans App Store Connect. Sera toujours FALSE pour les versions iOS inférieures à 14.0 et macOS inférieures à 11.0 (pour iOS)
paywallVariationIdStringL’ID d’une variante, utilisé pour attribuer les achats à ce paywall
paywallABTestNameStringNom du test A/B parent
paywallNameStringNom du paywall parent
priceData (AdaptyPriceDataLe prix du produit
subscriptionDetailsData (AdaptySubscriptionDetails)Informations sur l’abonnement

AdaptyPrice

Informations sur le prix du produit.

Nom du champTypeDescription
amountDoubleLa valeur numérique du prix
currencyCodeStringLe code de la devise du prix
currencySymbolStringLe symbole utilisé pour la devise
localizedStringStringLe prix affiché dans la langue de l’utilisateur

AdaptyProductIntroEligibility

Définit si l’utilisateur est éligible à une offre de lancement pour un abonnement iOS.

Field NameTypeDescription
vendorProductIdStringL’ID d’un produit dans un store
eligibilityAdaptyEligibilityEnumIndique si l’utilisateur est éligible à une offre de lancement pour un abonnement iOS

AdaptyProductNonsubscriptions

Détails de l’achat unique actif associé à ce produit.

Nom du champTypeDescription
productIdStringL’identifiant du produit dans le store
nonsubscriptionsAdaptyNonSubscriptionInformations sur les achats hors abonnement. Il peut s’agir de produits achetés une seule fois (consommables), de déverrouillages (comme un nouveau niveau dans un jeu), etc.

AdaptyProductSubscriptions

Détails de l’abonnement actif lié à ce produit.

Nom du champTypeDescription
productIdStringL’ID du produit dans un store
subscriptionAdaptySubscriptionInformations sur les achats d’abonnement

AdaptyProfile

Informations sur le profil de l’utilisateur

Field NameTypeDescription
accessLevelsList < Data (AdaptyAccessLevelIdentifiers) >Liste de tous les niveaux d’accès appartenant à l’utilisateur
profileIdStringL’identifiant du profil utilisateur
customerUserIdStringL’identifiant de l’utilisateur dans le système du vendeur
subscriptionsList < Data (MapKeySubscriptions) >La liste de tous les abonnements achetés par l’utilisateur
nonSubscriptionsList < Data (MapKeyNonSubscriptions) >La liste de tous les produits hors abonnement achetés par l’utilisateur

AdaptyProfileParameters

Informations sur l’utilisateur.

Nom du champTypeDescription
firstNameStringLe prénom de l’utilisateur
lastNameStringLe nom de famille de l’utilisateur
genderAdaptyGenderEnumLe genre de l’utilisateur
birthdayStringLa date de naissance de l’utilisateur
emailStringL’e-mail de l’utilisateur
phoneNumberStringLe numéro de téléphone de l’utilisateur
facebookAnonymousIdStringL’identifiant de l’utilisateur dans l’intégration Facebook Ads
amplitudeUserIdStringL’identifiant de l’utilisateur dans l’intégration Amplitude
amplitudeDeviceIdStringL’identifiant de l’appareil de l’utilisateur dans l’intégration Amplitude
mixpanelUserIdStringL’identifiant de l’utilisateur dans l’intégration Mixpanel
appmetricaProfileIdStringL’identifiant de l’utilisateur dans l’intégration AppMetrica
appmetricaDeviceIdStringL’identifiant de l’appareil de l’utilisateur dans l’intégration AppMetrica
oneSignalPlayerIdStringL’identifiant de l’utilisateur dans l’intégration OneSignal
pushwooshHWIDStringL’identifiant de l’appareil de l’utilisateur dans l’intégration Pushwoosh
firebaseAppInstanceIdStringL’identifiant de l’utilisateur dans l’intégration Firebase
airbridgeDeviceIdStringL’identifiant de l’appareil de l’utilisateur dans l’intégration Airbridge
appTrackingTransparencyStatusAdaptyATTStatusLe statut de l’accès à l’IDFA (à utiliser pour iOS)
analyticsDisabledBooleanIndique si l’analytics externe est désactivé pour l’utilisateur
customStringAttributesList < Data (AdaptyCustomStringAttribute) >Liste des attributs de chaîne personnalisés de l’utilisateur
customDoubleAttributesList < Data (AdaptyCustomDoubleAttribute) >Liste des attributs double personnalisés de l’utilisateur

AdaptySubscription

Informations sur l’abonnement existant de l’utilisateur.

Nom du champTypeDescription
activatedAtDateTimeL’heure à laquelle cet abonnement a été activé
activeIntroductoryOfferTypeStringLe type d’offre de lancement active. Si défini, cela signifie qu’une offre a été appliquée pendant cette période d’abonnement
activePromotionalOfferIdStringL’identifiant d’une offre promotionnelle active (à utiliser pour iOS)
activePromotionalOfferTypeStringLe type d’offre promotionnelle active (à utiliser pour iOS). Si défini, cela signifie qu’une offre a été appliquée pendant cette période d’abonnement
cancellationReasonStringLa raison pour laquelle l’abonnement a été annulé
expiresAtDateTimeLa date d’expiration de l’abonnement
renewedAtDateTimeLa dernière heure de renouvellement de l’abonnement
unsubscribedAtDateTimeL’heure à laquelle le renouvellement automatique a été désactivé pour l’abonnement. L’abonnement peut encore être actif. Si non défini, l’utilisateur a réactivé l’abonnement
billingIssueDetectedAtDateTimeL’heure à laquelle un problème de facturation a été détecté. L’abonnement peut encore être actif. Défini à null si le paiement est traité avec succès
isActiveBooleanTrue si cet abonnement est actif. En général, vous pouvez vérifier cette propriété pour déterminer si un utilisateur a accès aux fonctionnalités premium
isInGracePeriodBooleanTrue si cet abonnement à renouvellement automatique est en délai de grâce
isLifetimeBooleanTrue si cet abonnement est actif à vie (sans date d’expiration)
isRefundBooleanTrue si cet achat a été remboursé
isSandboxBooleanIndique si le produit a été acheté dans un environnement sandbox
offerIdStringL’identifiant d’une offre promotionnelle active (à utiliser pour Android)
startsAtDateTimeL’heure de début de ce niveau d’accès (peut être dans le futur)
storeStringLe store où le produit a été acheté (ex. : App Store, Google Play)
vendorOriginalTransactionIdStringIdentifiant de l’abonnement initial dans le système du fournisseur
vendorProductIdStringIdentifiant du produit dans le système du fournisseur
vendorTransactionIdStringIdentifiant de la transaction dans le système du fournisseur
willRenewBooleanTrue si cet abonnement à renouvellement automatique est configuré pour se renouveler

AdaptySubscriptionDetails

Schéma d’un objet Subscription faisant partie de AdaptyPaywallProduct.

Nom du champTypeDescription
androidBasePlanIdStringID du plan de base dans le Google Play Store ou ID de prix dans Stripe.
androidIntroductoryOfferEligibilityAdaptyEligibilityEnumIndique si l’utilisateur est éligible à une offre de lancement pour un abonnement iOS
androidOfferIdStringL’ID d’une offre promotionnelle active (à utiliser pour Android)
androidOfferTagsList < String >Liste des tags personnalisés spécifiés pour les plans de base et les offres d’abonnement.
introductoryOfferList < Data (AdaptySubscriptionPhase) >L’ID d’une offre de lancement (à utiliser pour iOS)
localizedSubscriptionPeriodStringLa durée de l’abonnement dans la langue de l’utilisateur
promotionalOfferData (AdaptySubscriptionPhase)Les détails de l’offre promotionnelle (à utiliser pour iOS)
promotionalOfferEligibilityBooleanIndique si l’utilisateur est éligible à une offre promotionnelle pour un abonnement iOS
promotionalOfferIdStringL’ID de l’offre promotionnelle (à utiliser pour iOS)
renewalTypeAdaptyRenewalTypeEnumIndique si l’abonnement est à renouvellement automatique ou non via AdaptyRenewalTypeEnum
subscriptionGroupIdentifierStringL’ID du groupe de produits auquel appartient le produit (à utiliser pour iOS)
subscriptionPeriodData (AdaptySubscriptionPeriod)La durée de l’abonnement

AdaptySubscriptionPeriod

La durée de l’abonnement.

Field NameTypeDescription
numberOfUnitsIntegerNombre de jours/semaines/mois/années que dure l’abonnement.
unitAdaptyPeriodUnitEnumUnité de mesure de la période : jours, semaines, mois, années.

AdaptySubscriptionPhase

Représente une phase d’abonnement, comme un essai gratuit ou une période d’offre de lancement.

Nom du champTypeDescription
identifierStringL’identifiant de la phase
localizedNumberOfPeriodsStringLa durée de la phase. Par exemple, une offre de 6 mois s’affichera comme 6 months dans la langue de l’utilisateur.
localizedSubscriptionPeriodStringLa durée de l’abonnement dans la langue de l’utilisateur, par exemple 3 months.
numberOfPeriodsIntegerLe nombre de périodes d’abonnement dans cette phase. Par exemple, une offre de 6 mois comprend deux périodes de 3 mois.
paymentModeAdaptyPaymentModeEnumLe mode de paiement utilisé pour cette phase.
priceData (AdaptyPrice)Le prix de cette phase.
subscriptionPeriodData (AdaptySubscriptionPeriod)La période d’abonnement sur laquelle cette phase est basée.

AdaptySubscriptionUpdateParameters

(Android uniquement) Paramètres pour remplacer un abonnement par un autre.

Field NameTypeDescription
oldSubVendorProductIdStringL’ID de l’abonnement actuel dans le Play Store que vous souhaitez remplacer.
replacementModeAdaptySubscriptionUpdateReplacementModeEnum qui correspond aux valeurs de BillingFlowParams.ProrationMode.

MapKeyNonSubscriptions

Remplacement d’un dictionnaire pour AdaptyNonSubscription.

Nom du champType
keyString
valueList < Data (AdaptyNonSubscription) >

MapKeySubscriptions

Remplacement d’un dictionnaire pour AdaptySubscription.

Field NameType
keyString
valueList < Data (AdaptySubscription) >

Enums

Les enums Adapty (variables correspondant à des ensembles de constantes prédéfinies) sont transmis à FlutterFlow via le plugin Adapty.

AdaptyEligibilityEnum

Définit si l’utilisateur est éligible à une offre de lancement pour un abonnement iOS.

Nom du champDescription
eligibleL’utilisateur est éligible à une offre de lancement ; vous pouvez afficher cette information dans votre interface
ineligibleL’utilisateur n’est pas éligible à une offre ; vous ne devez pas l’afficher dans votre interface
notApplicableCe produit n’est pas configuré pour proposer une offre

AdaptyGenderEnum

Définit le genre de l’utilisateur.

Field NameDescription
noneLe genre n’est pas défini
femaleLe genre de l’utilisateur est féminin
maleLe genre de l’utilisateur est masculin
OtherL’utilisateur a défini son genre comme « autre »

AdaptyPaymentModeEnum

Définit le modèle de paiement.

Nom du champDescription
payAsYouGoUn modèle de tarification où les clients sont facturés en fonction de leur utilisation réelle d’un produit/service, plutôt que de payer un montant fixe à l’avance
payUpFrontUn modèle de tarification où les clients sont facturés avant de recevoir le produit/service.
freeTrialL’utilisateur est en période d’essai gratuit
unknownLe modèle de tarification n’est pas défini

AdaptyPeriodUnitEnum

Définit les unités de mesure des périodes.

Field NameDescription
dayEn jours
weekEn semaines
monthEn mois
yearEn années
unknownNon défini

AdaptyRenewalTypeEnum

Définit si l’abonnement est à renouvellement automatique ou non.

Field NameDescription
prepaidL’abonnement est prépayé et n’est pas à renouvellement automatique.
autorenewableL’abonnement est à renouvellement automatique.

AdaptySubscriptionUpdateReplacementMode

Définit le mode de mise à jour d’abonnement pour Android.

Nom du champDescription
withTimeProration(par défaut) Le nouveau plan prend effet immédiatement, et le temps restant est calculé au prorata et crédité à l’utilisateur.
chargeProratedPriceLe nouveau plan prend effet immédiatement, et le cycle de facturation reste identique. Le prix pour la période restante est facturé. Cette option est uniquement disponible pour les mises à niveau d’abonnement.
withoutProrationLe nouveau plan prend effet immédiatement, et le nouveau prix sera facturé à la prochaine date de renouvellement. Le cycle de facturation reste identique.
deferredLe nouvel achat prend effet immédiatement, et le nouveau plan entrera en vigueur à l’expiration de l’ancien article.
chargeFullPriceLe nouveau plan prend effet immédiatement, et le cycle de facturation reste identique. Le prix pour la période restante est facturé. Cette option est uniquement disponible pour les mises à niveau d’abonnement.

États de l’application

Les variables d’état de l’application sont des variables spécifiques qui contiennent l’état actuel d’une application. Elles sont accessibles et modifiables dans toute l’application, sur toutes les pages et dans tous les composants. Ce type de variable est utile pour stocker des données devant être partagées entre différentes parties de l’app, comme les préférences utilisateur et les jetons d’authentification.

Nom du champType de donnéesPersistéDescription
currentProfileData (AdaptyProfile)FalseLa variable contenant les informations sur le profil utilisateur actuel. Gardez-la à jour.