You need to enable JavaScript to run this app. Flutter In-App-Purchase 跨端实现非续订周期通行证功能咨询
优惠活动
大模型
产品
解决方案
定价
更多

Flutter In-App-Purchase 跨端实现非续订周期通行证功能咨询

双平台非续订周期通行证Flutter内购实现方案

首先纠正一个常见认知误区:Flutter官方in_app_purchase插件提供的consumable、nonConsumable两个配置项,本质是标记「商品购买后是否需要主动调用消费接口」,而非直接和平台侧的商品类型一一绑定,按照下面的步骤适配即可:

1. 双平台后台商品创建规则

  • Android端:在Google Play控制台创建subscription类型商品,选择「非自动续订计划」,对应你的周卡、月卡周期即可
  • iOS端:在App Store Connect后台直接创建non-renewable-subscription(非续订订阅)类型商品,设置对应周期即可

2. Flutter端商品类型配置

不管是Android的非自动续订订阅,还是iOS的非续订订阅,在Flutter侧统一按ProductType.consumable类型处理即可。
原因是这两类商品都支持重复购买,和消耗品的处理逻辑完全一致:购买完成后必须主动调用completePurchase方法完成消费,否则Android端3天内会自动退款,iOS端会一直卡在待确认状态无法再次购买。

3. 会员有效期自主管理

非续订类订阅商品的有效期不会由应用商店自动管理,需要你自己的后端服务维护:

  • 每次用户购买完成后,将拿到的订单票据传到自有后端做验签,Android用Google Play Developer API校验,iOS用App Store verifyReceipt接口校验,不要在前端做校验避免破解
  • 验签通过后,根据商品对应的周期(周/月)给用户账号累加会员时长即可

4. 特殊场景兼容

  • 更换设备/重装App恢复会员:非续订类商品没有平台统一的恢复购买接口,用户登录账号后直接从自有后端拉取当前会员有效期即可;如果用户未绑定账号,可引导提供订单号找客服手动补录时长
  • 重复购买拦截:前端可在用户当前会员未到期时,对对应周期的购买按钮做置灰/提示处理,避免用户误购,后端同步做兜底逻辑,即使用户重复购买也正常累加时长即可

内容的提问来源于stack exchange,提问作者andromedian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 09:06:03