Adapty FlutterFlow プラグインのアクションとデータ型
カスタムアクション
以下は、Adapty プラグインを通じて FlutterFlow に提供される Adapty メソッドです。FlutterFlow のカスタムアクションとして使用できます。
| カスタムアクション | 説明 | アクション引数 | Adapty データ型 - アクション出力変数 |
|---|---|---|---|
| activate | Adapty SDK を初期化します | なし | |
getPaywall | ペイウォールを取得します。ペイウォールのプロダクトは返しません。実際のプロダクトを取得するには getPaywallProducts アクションを使用してください | AdaptyGetPaywallResult | |
getPaywallProducts | 実際のペイウォールプロダクトのリストを返します | AdaptyPaywall | AdaptyGetProductsResult |
getProductsIntroductoryOfferEligibility | ユーザーが iOS サブスクリプションの初回オファーを利用できるか確認します | AdaptyPaywallProduct | AdaptyGetIntroEligibilitiesResult |
makePurchase | 購入を完了してコンテンツを解放します。ペイウォールにプロモーションオファーがある場合、Adapty は自動的にチェックアウト時に適用します |
| AdaptyMakePurchaseResult |
getProfile | 現在のアプリユーザーのプロファイルを取得します。これによりアクセスレベルやその他のパラメーターを設定できます。 失敗した場合(例: インターネット接続なし)、キャッシュされたデータが返されます。Adapty はプロファイルのキャッシュを定期的に更新し、情報をできる限り最新の状態に保ちます。 | なし | AdaptyGetProfileResult |
| updateProfile | メールアドレスや電話番号などの現在のユーザープロファイルのオプション属性を変更します。属性を使ってユーザーのセグメントを作成したり、CRM で閲覧したりすることができます | AdaptyProfile の ID および更新が必要なパラメーター | AdaptyError(オプション) |
| restorePurchases | ユーザーが行った購入を復元します | なし | AdaptyGetProfileResult |
| logShowPaywall | 特定のペイウォールがユーザーに表示されたときにログを記録します | AdaptyPaywall | AdaptyError(オプション) |
| identify | システムの customerUserId を使用してユーザーを識別します | customerUserId | AdaptyError(オプション) |
| logout | 現在のユーザーをアプリからログアウトします | なし | AdaptyError(オプション) |
| presentCodeRedemptionSheet | ユーザーがコードを引き換えるためのシートを表示します(iOS のみ) | なし | なし |
データ型
Adapty プラグインを通じて FlutterFlow に届く Adapty のデータ型(データ値のコレクション)です。
AdaptyAccessLevel
ユーザーのアクセスレベルに関する情報。
| フィールド名 | 型 | 説明 |
|---|---|---|
| activatedAt | DateTime | このアクセスレベルが有効化された日時 |
| activeIntroductoryOfferType | String | 有効な初回オファーのタイプ。設定されている場合、このサブスクリプション期間中にオファーが適用されたことを意味します |
| activePromotionalOfferId | String | 有効なプロモーションオファーのID(iOSから購入) |
| activePromotionalOfferType | String | 有効なプロモーションオファーのタイプ(iOSから購入)。設定されている場合、このサブスクリプション期間中にオファーが適用されたことを意味します |
| billingIssueDetectedAt | DateTime | 請求の問題が検出された日時。サブスクリプションは引き続き有効な場合があります。支払いが正常に処理された場合はnullに設定されます |
| cancellationReason | String | サブスクリプションがキャンセルされた理由 |
| expiresAt | DateTime | アクセスレベルの有効期限(過去の日時になる場合や、永続アクセスの場合は未設定になる場合があります) |
| id | String | アクセスレベルの識別子 |
| isActive | Boolean | このアクセスレベルが有効な場合はtrue。一般的に、ユーザーがプレミアム機能にアクセスできるかどうかの判定にこのプロパティを使用できます |
| isInGracePeriod | Boolean | この自動更新サブスクリプションがグレース期間中の場合はtrue |
| isLifetime | Boolean | このアクセスレベルが永続的に有効(有効期限なし)な場合はtrue |
| isRefund | Boolean | この購入が返金された場合はtrue |
| offerId | String | 有効なプロモーションオファーのID(Androidから購入) |
| renewedAt | DateTime | アクセスレベルが最後に更新された日時 |
| startsAt | DateTime | このアクセスレベルの開始日時(将来の日時になる場合があります) |
| store | String | 購入が行われたストア |
| unsubscribedAt | DateTime | サブスクリプションの自動更新がオフになった日時。サブスクリプションは引き続き有効な場合があります。未設定の場合、ユーザーはサブスクリプションを再有効化しています |
| vendorProductId | String | このアクセスレベルを解放したストアのプロダクトID |
| willRenew | Boolean | この自動更新サブスクリプションが更新設定になっている場合はtrue |
AdaptyAccessLevelIdentifiers
この構造体は、Map<String, AdaptyAccessLevel AdaptyAccessLevel のキーと値のペアを置き換えるためのものです。
| フィールド名 | 型 | 説明 |
|---|---|---|
| accessLevelIdentifier | String | アクセスレベルの ID |
| accessLevel | Data (AdaptyAccessLevel) | 関連する AdaptyAccessLevel |
AdaptyCustomDoubleAttribute
ユーザーに定義されたカスタムDouble属性に関する情報です。
| フィールド名 | 型 | 説明 |
|---|---|---|
| key | String | カスタムDouble属性のID |
| value | Double | カスタムDouble属性の値 |
AdaptyCustomStringAttribute
ユーザーに定義されたカスタム文字列属性の情報です。
| フィールド名 | 型 | 説明 |
|---|---|---|
| key | String | カスタム文字列属性のID |
| value | String | カスタム文字列属性の値 |
AdaptyError
エラーの詳細情報を含みます。エラーコードの完全なリストについては、React Native、Flutter、Unity - エラー処理を参照してください。
| フィールド名 | 型 | 説明 |
|---|---|---|
| errorMessage | String | エラーの人間が読める説明 |
| errorCode | Integer | エラーを識別する数値コード |
AdaptyGetIntroEligibilitiesResult
getProductsIntroductoryOfferEligibility カスタムアクションの結果を含みます。
| フィールド名 | 型 | 説明 |
|---|---|---|
| value | List < Data (AdaptyProductIntroEligibility) > | ユーザーのプロモーションオファー利用資格のリスト |
| error | Data (AdaptyError) | AdaptyError を通じたエラーの詳細 |
AdaptyGetPaywallResult
getPaywall カスタムアクションの結果を格納します。
| フィールド名 | 型 | 説明 |
|---|---|---|
| value | Data (AdaptyPaywall) | AdaptyPaywall オブジェクトのリストを格納します |
| error | Data (AdaptyError) | AdaptyError を通じたエラー情報を格納します |
AdaptyGetProductsResult
getPaywallProducts カスタムアクションの結果を格納します。
| フィールド名 | 型 | 説明 |
|---|---|---|
| value | List < Data (AdaptyPaywallProduct) > | AdaptyPaywallProduct のリストを格納します |
| error | Data (AdaptyError) | AdaptyError を通じてエラー情報を格納します |
AdaptyGetProfileResult
getProfile カスタムアクションの結果を含みます。
| フィールド名 | 型 | 説明 |
|---|---|---|
| value | Data (AdaptyProfile) | AdaptyProfile としてユーザープロファイルを含みます |
| error | Data (AdaptyError) | AdaptyError を通じてエラー情報を含みます |
AdaptyMakePurchaseResult
makePurchase カスタムアクションの結果を含みます。
| フィールド名 | 型 | 説明 |
|---|---|---|
| value | Data (AdaptyProfile) | AdaptyProfile としてユーザーのプロファイルを含みます |
| error | Data (AdaptyError) | AdaptyError を通じたエラー情報を含みます |
AdaptyNonSubscription
サブスクリプション以外の購入に関する情報です。これには、消耗型アイテム(一度限りの購入)やアンロック(ゲームの新しいマップのアンロックなど)が含まれます。
| フィールド名 | 型 | 説明 |
|---|---|---|
| isConsumable | Boolean | プロダクトが消耗型アイテムかどうかを示す |
| isOneTime | Boolean | プロダクトが買い切り購入かどうかを示す(true の場合、購入は一度だけ処理される) |
| isRefund | Boolean | プロダクトが返金済みかどうかを示す |
| isSandbox | Boolean | プロダクトがサンドボックス環境で購入されたかどうかを示す |
| purchasedAt | DateTime | プロダクトが購入された日時 |
| purchaseId | String | Adapty における購入の ID。買い切り購入のトラッキングに使用できる |
| store | String | プロダクトが購入されたストア(App Store、Google Play など) |
| vendorProductId | String | ベンダーのシステムにおけるプロダクト ID |
| vendorTransactionId | String | ベンダーのシステムにおけるトランザクション ID |
AdaptyPaywall
ペイウォールに関する情報です。
| フィールド名 | 型 | 説明 |
|---|---|---|
| abTestName | String | 親 A/B テストの名前 |
| hasViewConfiguration | Boolean | ペイウォールにビュー設定があるかどうかを示す |
| locale | String | ペイウォールのロケール ID |
| name | String | ペイウォール名 |
| placement.id | String | 親プレースメントの ID |
| remoteConfigString | String | このペイウォールに関連付けられた Adapty ダッシュボードのカスタムディクショナリ |
| placement.revision | Integer | ペイウォールの現在のリビジョン/バージョン。変更のたびに新しいリビジョンが生成される |
| variationId | String | このペイウォールへの購入を紐付けるために使用するバリエーション ID |
| vendorProductIds | String | ペイウォールに関連するプロダクト ID の配列 |
AdaptyPaywallProduct
プロダクトに関する情報です。
| フィールド名 | 型 | 説明 |
|---|---|---|
| vendorProductId | String | アプリストアのプロダクトID |
| localizedDescription | String | ユーザーの言語によるプロダクトの説明 |
| localizedTitle | String | ユーザーの言語によるプロダクト名 |
| regionCode | String | プロダクトの価格をフォーマットする際に使用するロケールのリージョンコード(iOS用) |
| isFamilyShareable | Boolean | App Store Connectでプロダクトのファミリー共有が有効かどうかを示すBoolean値。iOS 14.0未満およびmacOS 11.0未満では常にFALSEになります(iOS用) |
| paywallVariationId | String | バリアントのID。購入をこのペイウォールにアトリビュートするために使用します |
| paywallABTestName | String | 親A/B テスト名 |
| paywallName | String | 親ペイウォール名 |
| price | Data (AdaptyPriceData) | プロダクトの価格 |
| subscriptionDetails | Data (AdaptySubscriptionDetails) | サブスクリプションに関する情報 |
AdaptyPrice
プロダクトの価格に関する情報です。
| フィールド名 | 型 | 説明 |
|---|---|---|
| amount | Double | 価格の数値 |
| currencyCode | String | 価格の通貨コード |
| currencySymbol | String | 通貨に使用される記号 |
| localizedString | String | ユーザーの言語で表示された価格 |
AdaptyProductIntroEligibility
iOSサブスクリプションの初回オファー対象資格をユーザーが持っているかどうかを定義します。
| フィールド名 | 型 | 説明 |
|---|---|---|
| vendorProductId | String | アプリストアのプロダクトID |
| eligibility | AdaptyEligibilityEnum | iOSサブスクリプションの初回オファーにユーザーが適格かどうかの定義 |
AdaptyProductNonsubscriptions
このプロダクトに紐づくアクティブな買い切り購入の詳細。
| フィールド名 | 型 | 説明 |
|---|---|---|
| productId | String | アプリストアにおけるプロダクトのID |
| nonsubscriptions | AdaptyNonSubscription | サブスクリプション以外の購入に関する情報。消耗型アイテム(コンシューマブル)や、ゲームの新マップ解放などの買い切り購入が含まれます。 |
AdaptyProductSubscriptions
このプロダクトに紐づくアクティブなサブスクリプションの詳細。
| フィールド名 | 型 | 説明 |
|---|---|---|
| productId | String | ストアのプロダクトID |
| subscription | AdaptySubscription | サブスクリプション購入に関する情報 |
AdaptyProfile
ユーザーのプロファイルに関する情報
| フィールド名 | 型 | 説明 |
|---|---|---|
| accessLevels | List < Data (AdaptyAccessLevelIdentifiers) > | ユーザーに紐づくすべてのアクセスレベルのリスト |
| profileId | String | ユーザープロファイルのID |
| customerUserId | String | ベンダーシステム上のユーザーID |
| subscriptions | List < Data (MapKeySubscriptions) > | ユーザーが購入したすべてのサブスクリプションのリスト |
| nonSubscriptions | List < Data (MapKeyNonSubscriptions) > | ユーザーが購入したすべての非サブスクリプションプロダクトのリスト |
AdaptyProfileParameters
ユーザーに関する情報。
| フィールド名 | 型 | 説明 |
|---|---|---|
| firstName | String | ユーザーの名前 |
| lastName | String | ユーザーの苗字 |
| gender | AdaptyGenderEnum | ユーザーの性別 |
| birthday | String | ユーザーの生年月日 |
| String | ユーザーのメールアドレス | |
| phoneNumber | String | ユーザーの電話番号 |
| facebookAnonymousId | String | Facebook Ads 連携におけるユーザーの ID |
| amplitudeUserId | String | Amplitude 連携におけるユーザーの ID |
| amplitudeDeviceId | String | Amplitude 連携におけるユーザーのデバイス ID |
| mixpanelUserId | String | Mixpanel 連携におけるユーザーの ID |
| appmetricaProfileId | String | AppMetrica 連携におけるユーザーの ID |
| appmetricaDeviceId | String | AppMetrica 連携におけるユーザーのデバイス ID |
| oneSignalPlayerId | String | OneSignal 連携におけるユーザーの ID |
| pushwooshHWID | String | Pushwoosh 連携におけるユーザーのデバイス ID |
| firebaseAppInstanceId | String | Firebase 連携におけるユーザーの ID |
| airbridgeDeviceId | String | Airbridge 連携におけるユーザーのデバイス ID |
| appTrackingTransparencyStatus | AdaptyATTStatus | IDFA へのアクセスステータス(iOS 用) |
| analyticsDisabled | Boolean | 特定のユーザーに対して外部アナリティクスをオプトアウトするかどうかの設定 |
| customStringAttributes | List < Data (AdaptyCustomStringAttribute) > | ユーザーのカスタム文字列属性のリスト |
| customDoubleAttributes | List < Data (AdaptyCustomDoubleAttribute) > | ユーザーのカスタム数値(double)属性のリスト |
AdaptySubscription
既存のユーザーサブスクリプションに関する情報。
| フィールド名 | 型 | 説明 |
|---|---|---|
| activatedAt | DateTime | このサブスクリプションがアクティベートされた日時 |
| activeIntroductoryOfferType | String | 有効な初回オファーのタイプ。設定されている場合、このサブスクリプション期間中にオファーが適用されたことを意味します |
| activePromotionalOfferId | String | 有効なプロモーションオファーのID(iOS用) |
| activePromotionalOfferType | String | 有効なプロモーションオファーのタイプ(iOS用)。設定されている場合、このサブスクリプション期間中にオファーが適用されたことを意味します |
| cancellationReason | String | サブスクリプションがキャンセルされた理由 |
| expiresAt | DateTime | サブスクリプションの有効期限 |
| renewedAt | DateTime | サブスクリプションが最後に更新された日時 |
| unsubscribedAt | DateTime | サブスクリプションの自動更新がオフになった日時。サブスクリプション自体はまだ有効な場合があります。設定されていない場合、ユーザーがサブスクリプションを再有効化したことを意味します |
| billingIssueDetectedAt | DateTime | 請求の問題が検出された日時。サブスクリプション自体はまだ有効な場合があります。支払いが正常に処理された場合はnullに設定されます |
| isActive | Boolean | このサブスクリプションが有効な場合はTrue。一般的に、ユーザーがプレミアム機能にアクセスできるかどうかを判断するにはこのプロパティを確認します |
| isInGracePeriod | Boolean | この自動更新サブスクリプションがグレース期間内にある場合はTrue |
| isLifetime | Boolean | このサブスクリプションが永続アクセス(有効期限なし)の場合はTrue |
| isRefund | Boolean | この購入が返金された場合はTrue |
| isSandbox | Boolean | プロダクトがサンドボックス環境で購入されたかどうかを示します |
| offerId | String | 有効なプロモーションオファーのID(Android用) |
| startsAt | DateTime | このアクセスレベルの開始日時(将来の日時になる場合もあります) |
| store | String | プロダクトが購入されたストア(例:App Store、Google Play) |
| vendorOriginalTransactionId | String | ベンダーシステムにおける最初のサブスクリプションのID |
| vendorProductId | String | ベンダーシステムにおけるプロダクトのID |
| vendorTransactionId | String | ベンダーシステムにおけるトランザクションID |
| willRenew | Boolean | この自動更新サブスクリプションが更新される設定になっている場合はTrue |
AdaptySubscriptionDetails
AdaptyPaywallProduct の一部である Subscription オブジェクトのスキーマ。
| フィールド名 | 型 | 説明 |
|---|---|---|
| androidBasePlanId | String | Google Play ストアのベースプランID、またはStripeの価格ID。 |
| androidIntroductoryOfferEligibility | AdaptyEligibilityEnum | iOSサブスクリプションの初回オファーにユーザーが適格かどうかの定義 |
| androidOfferId | String | アクティブなプロモーションオファーのID(Android用) |
| androidOfferTags | List < String > | ベースプランおよびサブスクリプションオファーに指定されたカスタムタグのリスト。 |
| introductoryOffer | List < Data (AdaptySubscriptionPhase) > | 初回オファーのID(iOS用) |
| localizedSubscriptionPeriod | String | ユーザーの言語によるサブスクリプション期間 |
| promotionalOffer | Data (AdaptySubscriptionPhase) | プロモーションオファーの詳細(iOS用) |
| promotionalOfferEligibility | Boolean | iOSサブスクリプションのプロモーションオファーにユーザーが適格かどうかの定義 |
| promotionalOfferId | String | プロモーションオファーのID(iOS用) |
| renewalType | AdaptyRenewalTypeEnum | AdaptyRenewalTypeEnum によって、サブスクリプションが自動更新かどうかを定義する |
| subscriptionGroupIdentifier | String | プロダクトが属するプロダクトグループのID(iOS用) |
| subscriptionPeriod | Data (AdaptySubscriptionPeriod) | サブスクリプションの期間 |
AdaptySubscriptionPeriod
サブスクリプションの期間。
| フィールド名 | 型 | 説明 |
|---|---|---|
| numberOfUnits | Integer | サブスクリプションの期間(日数・週数・月数・年数)。 |
| unit | AdaptyPeriodUnitEnum | 期間の単位(日・週・月・年)。 |
AdaptySubscriptionPhase
サブスクリプションのフェーズ(無料トライアルや初回オファー期間など)を表します。
| フィールド名 | 型 | 説明 |
|---|---|---|
| identifier | String | フェーズのID |
| localizedNumberOfPeriods | String | フェーズの長さ。たとえば、6ヶ月のオファーはユーザーの言語で 6 months のように表示されます。 |
| localizedSubscriptionPeriod | String | ユーザーの言語でのサブスクリプション期間(例:3 months)。 |
| numberOfPeriods | Integer | このフェーズのサブスクリプション期間の数。たとえば、6ヶ月のオファーは3ヶ月の期間が2つになります。 |
| paymentMode | AdaptyPaymentModeEnum | このフェーズに使用される支払いモデル。 |
| price | Data (AdaptyPrice) | このフェーズの価格。 |
| subscriptionPeriod | Data (AdaptySubscriptionPeriod) | このフェーズが基づくサブスクリプション期間。 |
AdaptySubscriptionUpdateParameters
(Android のみ) サブスクリプションを別のサブスクリプションに切り替えるためのパラメーター。
| フィールド名 | 型 | 説明 |
|---|---|---|
| oldSubVendorProductId | String | 置き換えたい現在のサブスクリプションの Play Store 上の ID。 |
| replacementMode | AdaptySubscriptionUpdateReplacementMode | BillingFlowParams.ProrationMode の値に対応する Enum。 |
MapKeyNonSubscriptions
AdaptyNonSubscription の辞書の代替です。
| フィールド名 | 型 |
|---|---|
| key | String |
| value | List < Data (AdaptyNonSubscription) > |
MapKeySubscriptions
AdaptySubscription の辞書の代替。
| フィールド名 | 型 |
|---|---|
| key | String |
| value | List < Data (AdaptySubscription) > |
列挙型
Adapty プラグインを通じて FlutterFlow に提供される Adapty の列挙型(あらかじめ定義された定数の集合)です。
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 | 新しいプランはすぐに有効になり、請求サイクルはそのまま維持されます。残り期間分の料金が請求されます。このオプションはサブスクリプションのアップグレード時のみ使用できます。 |
アプリの状態
アプリ状態変数は、アプリケーションの現在の状態を保持する特別な変数です。すべてのページやコンポーネントにわたってアプリ全体からアクセス・変更できます。この種の変数は、ユーザー設定や認証トークンなど、アプリのさまざまな部分で共有する必要があるデータを保存する際に役立ちます。
| フィールド名 | データ型 | 永続化 | 説明 |
|---|---|---|---|
| currentProfile | Data (AdaptyProfile) | False | 現在のユーザープロファイルの情報を格納する変数です。常に最新の状態を保つようにしてください。 |