Adapty FlutterFlow 插件操作与数据类型

自定义操作

以下是通过 Adapty 插件为 FlutterFlow 提供的 Adapty 方法,可在 FlutterFlow 中作为自定义操作使用。

自定义操作说明操作参数Adapty 数据类型 - 操作输出变量
activate初始化 Adapty SDK

getPaywall

获取付费墙。不返回付费墙产品,请使用 getPaywallProducts 操作获取实际产品AdaptyGetPaywallResult

getPaywallProducts

返回付费墙实际产品列表AdaptyPaywallAdaptyGetProductsResult

getProductsIntroductoryOfferEligibility

检查用户是否符合 iOS 订阅新用户优惠的资格AdaptyPaywallProductAdaptyGetIntroEligibilitiesResult

makePurchase

完成购买并解锁内容。如果付费墙包含促销活动,Adapty 会在结账时自动应用
  • product:从付费墙获取的 AdaptyPaywallProduct 对象。
  • subscriptionUpdateParams:用于升级或降级订阅的 AdaptySubscriptionUpdateParameters 对象(适用于 Android)。
  • isOfferPersonalized:指定优惠是否针对买家个性化(适用于 Android)。
AdaptyMakePurchaseResult

getProfile

获取当前应用用户的用户画像,可用于设置访问等级及其他参数。

如果获取失败(例如无网络),将返回缓存数据。Adapty 会定期更新用户画像缓存,以确保信息尽可能保持最新。

AdaptyGetProfileResult
updateProfile修改当前用户画像的可选属性,如邮箱、电话号码等。你可以利用这些属性创建用户市场细分或在 CRM 中查看AdaptyProfile 的 ID 及需要更新的任意参数AdaptyError(可选)
restorePurchases恢复用户已完成的购买AdaptyGetProfileResult
logShowPaywall记录特定付费墙向用户展示的事件AdaptyPaywallAdaptyError(可选)
identify使用系统的 customerUserId 识别用户customerUserIdAdaptyError(可选)
logout将当前用户退出应用AdaptyError(可选)
presentCodeRedemptionSheet显示允许用户兑换码的界面(仅限 iOS)

数据类型

Adapty 数据类型(数据值的集合)通过 Adapty 插件传递给 FlutterFlow。

AdaptyAccessLevel

关于用户访问等级的信息。

字段名称类型描述
activatedAtDateTime该访问等级的激活时间
activeIntroductoryOfferTypeString当前有效的新用户优惠类型。若已设置,表示本订阅周期内应用了某项优惠
activePromotionalOfferIdString当前有效的促销活动 ID(通过 iOS 购买)
activePromotionalOfferTypeString当前有效的促销活动类型(通过 iOS 购买)。若已设置,表示本订阅周期内应用了某项促销活动
billingIssueDetectedAtDateTime检测到结算问题的时间。订阅仍可能处于有效状态。支付成功处理后将置为 null
cancellationReasonString订阅被取消的原因
expiresAtDateTime访问等级的到期时间(可能已过期,或对永久授权不设置此字段)
idString访问等级的标识符
isActiveBoolean若该访问等级当前有效则为 True。通常可通过此属性判断用户是否有权访问高级功能
isInGracePeriodBoolean若该自动续费订阅处于宽限期则为 True
isLifetimeBoolean若该访问等级为永久授权(无到期日期)则为 True
isRefundBoolean若该购买已退款则为 True
offerIdString当前有效的促销活动 ID(通过 Android 购买)
renewedAtDateTime访问等级最近一次续费的时间
startsAtDateTime该访问等级的开始时间(可能是未来的时间)
storeString购买所在的商店
unsubscribedAtDateTime订阅关闭自动续费的时间。订阅仍可能处于有效状态。若未设置,表示用户已重新激活订阅
vendorProductIdString解锁该访问等级的商店产品 ID
willRenewBoolean若该自动续费订阅已设置为续费则为 True

AdaptyAccessLevelIdentifiers

此结构体用于替代 Map<String, AdaptyAccessLevel AdaptyAccessLevel 的键值对。

字段名称类型描述
accessLevelIdentifierString访问等级的 ID
accessLevelData (AdaptyAccessLevel)关联的 AdaptyAccessLevel

AdaptyCustomDoubleAttribute

关于为用户定义的自定义 double 类型属性的信息。

字段名称类型描述
keyString自定义 double 属性的 ID
valueDouble自定义 double 属性的值

AdaptyCustomStringAttribute

关于为用户定义的自定义字符串属性的信息。

字段名类型描述
keyString自定义字符串属性的 ID
valueString自定义字符串属性的值

AdaptyError

包含错误的详细信息。有关错误代码的完整列表,请参阅 React Native、Flutter、Unity - 错误处理

字段名称类型描述
errorMessageString人类可读的错误描述
errorCodeInteger标识错误的数字代码

AdaptyGetIntroEligibilitiesResult

包含 getProductsIntroductoryOfferEligibility 自定义操作的结果。

字段名类型描述
valueList < Data (AdaptyProductIntroEligibility) >用户对促销活动的资格列表
errorData (AdaptyError)通过 AdaptyError 包含错误的详细信息

AdaptyGetPaywallResult

包含 getPaywall 自定义操作的返回结果。

字段名称类型描述
valueData (AdaptyPaywall)包含 AdaptyPaywall 对象列表
errorData (AdaptyError)通过 AdaptyError 包含错误信息

AdaptyGetProductsResult

包含 getPaywallProducts 自定义操作的结果。

字段名称类型描述
valueList < Data (AdaptyPaywallProduct) >包含 AdaptyPaywallProduct 列表
errorData (AdaptyError)通过 AdaptyError 包含错误信息

AdaptyGetProfileResult

包含 getProfile 自定义操作的结果。

字段名称类型描述
valueData (AdaptyProfile)包含用户画像,类型为 AdaptyProfile
errorData (AdaptyError)包含错误信息,类型为 AdaptyError

AdaptyMakePurchaseResult

包含 makePurchase 自定义操作的结果。

字段名称类型说明
valueData (AdaptyProfile)AdaptyProfile 形式返回用户画像
errorData (AdaptyError)通过 AdaptyError 返回错误信息

AdaptyNonSubscription

关于一次性购买的相关信息。这类购买可以是消耗型商品(如游戏道具),也可以是功能解锁(如游戏中新地图的解锁)等。

字段名称类型描述
isConsumableBoolean表示该产品是否为消耗型商品
isOneTimeBoolean表示该产品是否为一次性购买(例如,若为 true,则该购买仅处理一次)
isRefundBoolean表示该产品是否已退款
isSandboxBoolean表示该产品是否在沙盒环境中购买
purchasedAtDateTime产品的购买时间
purchaseIdString该购买在 Adapty 中的 ID,可用于追踪一次性购买产品
storeString产品的购买渠道(例如 App Store、Google Play)
vendorProductIdString产品在供应商系统中的 ID
vendorTransactionIdString供应商系统中的交易 ID

AdaptyPaywall

关于付费墙的信息。

字段名称类型描述
abTestNameString父级 A/B 测试的名称
hasViewConfigurationBoolean表示付费墙是否存在视图配置
localeString付费墙的语言区域 ID
nameString付费墙名称
placement.idString父级版位的 ID
remoteConfigStringStringAdapty 看板中与该付费墙关联的自定义字典
placement.revisionInteger付费墙当前的修订版本号,每次更改都会生成新的修订版本
variationIdString用于将购买归因到该付费墙的实验变体 ID
vendorProductIdsString与该付费墙关联的产品 ID 数组

AdaptyPaywallProduct

关于产品的信息。

字段名类型描述
vendorProductIdString应用商店中产品的 ID
localizedDescriptionString产品在用户语言中的描述
localizedTitleString产品在用户语言中的名称
regionCodeString用于格式化产品价格的语言区域代码(适用于 iOS)
isFamilyShareableBoolean布尔值,表示产品是否在 App Store Connect 中支持家庭共享。在 iOS 14.0 以下及 macOS 11.0 以下版本中始终为 FALSE(适用于 iOS)
paywallVariationIdString实验变体的 ID,用于将购买归因到此付费墙
paywallABTestNameString父级 A/B 测试名称
paywallNameString父级付费墙名称
priceData (AdaptyPriceData)产品价格
subscriptionDetailsData (AdaptySubscriptionDetails)订阅相关信息

AdaptyPrice

产品价格相关信息。

字段名类型描述
amountDouble价格的数值
currencyCodeString价格货币的代码
currencySymbolString货币符号
localizedStringString以用户语言显示的价格文本

AdaptyProductIntroEligibility

定义用户是否有资格享受 iOS 订阅的新用户优惠。

字段名称类型描述
vendorProductIdString应用商店中产品的 ID
eligibilityAdaptyEligibilityEnum用户是否符合 iOS 订阅新用户优惠资格的定义

AdaptyProductNonsubscriptions

与该产品关联的活跃非订阅详情。

字段名称类型描述
productIdString应用商店中该产品的 ID
nonsubscriptionsAdaptyNonSubscription非订阅购买的相关信息,包括一次性(消耗型商品)产品、解锁类内容(如游戏中的新地图解锁)等。

AdaptyProductSubscriptions

与此产品绑定的有效订阅详情。

字段名称类型描述
productIdString应用商店中该产品的 ID
subscriptionAdaptySubscription订阅购买的相关信息

AdaptyProfile

用户画像信息

字段名称类型描述
accessLevelsList < Data (AdaptyAccessLevelIdentifiers) >该用户所有访问等级的列表
profileIdString用户画像的 ID
customerUserIdString用户在开发商系统中的 ID
subscriptionsList < Data (MapKeySubscriptions) >用户已购买的所有订阅列表
nonSubscriptionsList < Data (MapKeyNonSubscriptions) >用户已购买的所有非订阅产品列表

AdaptyProfileParameters

用户信息。

字段名类型描述
firstNameString用户的名字
lastNameString用户的姓氏
genderAdaptyGenderEnum用户的性别
birthdayString用户的生日
emailString用户的邮箱
phoneNumberString用户的电话号码
facebookAnonymousIdString用户在 Facebook Ads 集成 中的 ID
amplitudeUserIdString用户在 Amplitude 集成 中的 ID
amplitudeDeviceIdString用户设备在 Amplitude 集成 中的 ID
mixpanelUserIdString用户在 Mixpanel 集成 中的 ID
appmetricaProfileIdString用户在 AppMetrica 集成 中的 ID
appmetricaDeviceIdString用户设备在 AppMetrica 集成 中的 ID
oneSignalPlayerIdString用户在 OneSignal 集成 中的 ID
pushwooshHWIDString用户设备在 Pushwoosh 集成 中的 ID
firebaseAppInstanceIdString用户在 Firebase 集成 中的 ID
airbridgeDeviceIdString用户设备在 Airbridge 集成 中的 ID
appTrackingTransparencyStatusAdaptyATTStatus访问 IDFA 的状态(适用于 iOS)
analyticsDisabledBoolean标识该用户是否已退出外部数据分析
customStringAttributesList < Data (AdaptyCustomStringAttribute) >用户的自定义字符串属性列表
customDoubleAttributesList < Data (AdaptyCustomDoubleAttribute) >用户的自定义双精度浮点属性列表

AdaptySubscription

关于用户现有订阅的信息。

字段名称类型描述
activatedAtDateTime该订阅的激活时间
activeIntroductoryOfferTypeString当前新用户优惠的类型。若已设置,表示该订阅周期内应用了某个优惠
activePromotionalOfferIdString当前促销活动的 ID(适用于 iOS)
activePromotionalOfferTypeString当前促销活动的类型(适用于 iOS)。若已设置,表示该订阅周期内应用了某个优惠
cancellationReasonString订阅被取消的原因
expiresAtDateTime订阅的过期时间
renewedAtDateTime订阅上次续期的时间
unsubscribedAtDateTime订阅关闭自动续期的时间。订阅仍可处于有效状态。若未设置,表示用户已重新激活订阅
billingIssueDetectedAtDateTime检测到账单问题的时间。订阅仍可处于有效状态。若付款成功处理则置为 null
isActiveBoolean若该订阅处于有效状态则为 true。通常可通过此属性判断用户是否有权访问高级功能
isInGracePeriodBoolean若该自动续期订阅处于宽限期则为 true
isLifetimeBoolean若该订阅为永久授权(无过期时间)则为 true
isRefundBoolean若该购买已退款则为 true
isSandboxBoolean表示产品是否在沙盒环境中购买
offerIdString当前促销活动的 ID(适用于 Android)
startsAtDateTime该访问等级的开始时间(可能为未来时间)
storeString购买产品的商店(例如 App Store、Google Play)
vendorOriginalTransactionIdString供应商系统中初始订阅的 ID
vendorProductIdString供应商系统中产品的 ID
vendorTransactionIdString供应商系统中的交易 ID
willRenewBoolean若该自动续期订阅已设置为续期则为 true

AdaptySubscriptionDetails

AdaptyPaywallProduct 中订阅对象的结构说明。

字段名称类型描述
androidBasePlanIdStringGoogle Play 商店中的基础方案 ID 或 Stripe 中的价格 ID
androidIntroductoryOfferEligibilityAdaptyEligibilityEnum判断用户是否符合 iOS 订阅新用户优惠的资格
androidOfferIdString有效促销活动的 ID(适用于 Android)
androidOfferTagsList < String >为基础方案和订阅优惠指定的自定义标签列表。
introductoryOfferList < Data (AdaptySubscriptionPhase) >新用户优惠的 ID(适用于 iOS)
localizedSubscriptionPeriodString以用户语言显示的订阅周期
promotionalOfferData (AdaptySubscriptionPhase)促销活动详情(适用于 iOS)
promotionalOfferEligibilityBoolean判断用户是否符合 iOS 订阅促销活动的资格
promotionalOfferIdString促销活动的 ID(适用于 iOS)
renewalTypeAdaptyRenewalTypeEnum通过 AdaptyRenewalTypeEnum 定义订阅是否为自动续订
subscriptionGroupIdentifierString产品所属产品组的 ID(适用于 iOS)
subscriptionPeriodData (AdaptySubscriptionPeriod)订阅的时长

AdaptySubscriptionPeriod

订阅的持续时长。

字段名类型描述
numberOfUnitsInteger订阅持续的天数/周数/月数/年数。
unitAdaptyPeriodUnitEnum周期的计量单位:天、周、月、年。

AdaptySubscriptionPhase

表示订阅阶段,例如免费试用或新用户优惠期。

字段名称类型描述
identifierString阶段的 ID
localizedNumberOfPeriodsString阶段的时长。例如,6 个月的优惠会以用户的语言显示为 6 months
localizedSubscriptionPeriodString以用户语言表示的订阅时长,如 3 months
numberOfPeriodsInteger该阶段包含的订阅周期数。例如,6 个月的优惠包含两个 3 个月的周期。
paymentModeAdaptyPaymentModeEnum该阶段使用的支付模式。
priceData (AdaptyPrice)该阶段的价格。
subscriptionPeriodData (AdaptySubscriptionPeriod)该阶段所基于的订阅周期。

AdaptySubscriptionUpdateParameters

仅限 Android) 用于将一个订阅替换为另一个订阅的参数。

字段名称类型描述
oldSubVendorProductIdString您想要替换的当前 Play Store 订阅的 ID。
replacementModeAdaptySubscriptionUpdateReplacementMode对应于 BillingFlowParams.ProrationMode 值的枚举。

MapKeyNonSubscriptions

用于替换 AdaptyNonSubscription 字典的数据结构。

字段名类型
keyString
valueList < Data (AdaptyNonSubscription) >

MapKeySubscriptions

AdaptySubscription 字典的替代结构。

字段名类型
keyString
valueList < Data (AdaptySubscription) >

枚举

Adapty 枚举(即由一组预定义常量构成的变量)通过 Adapty 插件交付至 FlutterFlow。

AdaptyEligibilityEnum

定义用户是否有资格获得 iOS 订阅的新用户优惠。

字段名称描述
eligible用户有资格获得新用户优惠,可以在 UI 中展示相关信息
ineligible用户没有资格获得任何优惠,不应在 UI 中展示
notApplicable该产品未配置任何优惠

AdaptyGenderEnum

定义用户的性别。

字段名描述
none未设置性别
female用户性别为女性
male用户性别为男性
Other用户将其性别定义为”其他”

AdaptyPaymentModeEnum

定义支付模式。

字段名称描述
payAsYouGo按使用量计费的定价模式,客户根据实际使用量付费,而非预先支付固定费用
payUpFront预付费定价模式,客户在收到产品/服务之前先行付款
freeTrial用户处于免费试用期
unknown定价模式未定义

AdaptyPeriodUnitEnum

定义周期的计量单位。

字段名称描述
day
week
month
year
unknown未定义

AdaptyRenewalTypeEnum

定义订阅是否为自动续订。

字段名称描述
prepaid该订阅为预付费,不自动续订。
autorenewable该订阅为自动续订。

AdaptySubscriptionUpdateReplacementMode

定义 Android 的订阅更新模式。

字段名称描述
withTimeProration(默认)新方案立即生效,剩余时间将按比例折算并退还给用户。
chargeProratedPrice新方案立即生效,计费周期保持不变。剩余周期的费用将被收取。此选项仅适用于订阅升级。
withoutProration新方案立即生效,新价格将在下次续订时收取。计费周期保持不变。
deferred新购买立即生效,新方案将在旧项目到期后生效。
chargeFullPrice新方案立即生效,计费周期保持不变。剩余周期的费用将被收取。此选项仅适用于订阅升级。

应用状态

应用状态变量是一类特殊变量,用于保存应用程序的当前状态。这类变量可在整个应用的所有页面和组件中访问和修改。当需要在应用的不同部分之间共享数据时(例如用户偏好设置和身份验证令牌),这类变量非常实用。

字段名称数据类型是否持久化描述
currentProfileData (AdaptyProfile)False包含当前用户画像信息的变量。请保持其为最新状态。