小众平台也能做内购:flutter_inapp_purchase 在 Kindle、Fire TV 与 Horizon OS 上的完整配置指南

发布时间:2026/8/22 14:31:45

小众平台也能做内购:flutter_inapp_purchase 在 Kindle、Fire TV 与 Horizon OS 上的完整配置指南
小众平台也能做内购flutter_inapp_purchase 在 Kindle、Fire TV 与 Horizon OS 上的完整配置指南【免费下载链接】flutter_inapp_purchaseFlutter In App Purchase plugin that confirms OpenIAP项目地址: https://gitcode.com/gh_mirrors/fl/flutter_inapp_purchaseflutter_inapp_purchase是一款遵循 OpenIAP 规范的 Flutter 内购插件In App Purchase plugin让开发者用同一套 Dart API 同时对接 Google Play、Apple、**AmazonKindle / Fire TV**和 **Meta Horizon OSQuest 系列**四大支付平台。对于想在智能电视、电纸书和 VR 头显上做付费变现的开发者来说这是一份可以直接照着做的完整配置指南 为什么选择 flutter_inapp_purchase 做多端内购大多数 Flutter 内购插件只覆盖 Google Play 和 Apple而 flutter_inapp_purchase 的核心优势在于能力说明 Amazon 平台内置 Amazon 内购 SDK自动检测 Kindle、Fire TV 设备 Horizon OS支持 Meta Quest 2 / Quest 3 / Quest Pro 的 VR 内购 自动路由运行时检测设备自动切换到正确的支付通道 统一 API所有平台共用同一套 Dart 接口无需为不同平台写分支代码它的设备识别逻辑位于 [android/src/main/kotlin/io/github/hyochan/flutter_inapp_purchase/FlutterInappPurchasePlugin.kt]插件启动时会检查是否安装了 Google Play 商店com.android.vending或 Amazon 商店com.amazon.venezia。如果两个都没检测到比如 Quest 头显则默认走 Android 通道由 OpenIAP 的 flavor 机制接管 Horizon 支付。 即使 Amazon 设备上侧载了 Google Play 商店插件也会根据应用是从哪个商店安装的来决定使用哪个支付通道避免误判。如需本地运行示例项目可克隆仓库git clone https://gitcode.com/gh_mirrors/fl/flutter_inapp_purchase一、Amazon Kindle 与 Fire TV 内购配置官方已备好完整的 Amazon 接入文档位于项目根目录的KINDLE.md插件本体也直接内置了 Amazon 内购 SDKandroid/jars/in-app-purchasing-2.0.76.jar。1. 配置 AndroidManifest.xml关键一步在android/app/src/main/AndroidManifest.xml中需要添加两样东西uses-permission android:nameandroid.permission.INTERNET/ receiver android:namecom.amazon.device.iap.ResponseReceiver android:exportedtrue intent-filter action android:namecom.amazon.inapp.purchasing.NOTIFY android:permissioncom.amazon.inapp.purchasing.Permission.NOTIFY / /intent-filter /receiver可参考示例应用的完整写法example/android/app/src/main/AndroidManifest.xml第 52~59 行。2. 零成本测试用 Amazon App TesterAAT好消息测试阶段完全不需要注册 Amazon 开发者账号在 Amazon 商店安装官方工具Amazon App TesterAAT准备一个amazon.sdktester.json测试商品清单文件项目里自带模板ancillary/amazon.sdktester.json在里面填入你自己的 Product ID模板中的商品示例涵盖了三种类型ENTITLED永久权益CONSUMABLE消耗型商品SUBSCRIPTION订阅用 adb 把文件推送到设备存储卡adb push amazon.sdktester.json /sdcard/在 AAT 中打开即可校验文件是否合法并查看商品列表之后你在 App 中发起购买时AAT 会拦截并弹出模拟购买界面——你的 App 会像收到真实支付一样走完整流程非常适合联调 3. 真实付费测试Live App Testing在 Amazon 开发者后台的Live App Testing标签页上传你的 APK在In-App Items标签页创建内购项目填写银行卡信息并提交等待状态变为live邀请测试者后他们会收到一个免付费测试链接⚠️ 一个容易踩的坑如果 Gradle 版本高于 3.4.0 并启用了代码混淆Amazon 支付会失效。解决方案是在android/app下创建proguard-rules.pro写入-dontwarn com.amazon.** -keep class com.amazon.** {*;} -keepattributes *Annotation*然后在build.gradle的 release 配置中引用该 Proguard 文件并关闭资源压缩。4. 上架 Amazon 商店的小贴士Amazon 开发者账号免费审核体验相对宽松应用截图尺寸与 Nexus 7 一致即可提交时系统会提示检测到 Google Billing只需在测试说明中注明使用跨平台工具Google IAP 代码未启用即可通过审核二、Horizon OSMeta Quest内购配置从 7.1.13 版本起插件通过 OpenIAP 的openiap-google-horizon封装支持了 Meta Quest 系列头显。完整教程位于docs/docs/getting-started/setup-horizon.md核心步骤如下1. 三个配置文件一键切换平台第一步在android/gradle.properties中启用 Horizon 模式horizonEnabledtrue第二步在android/local.properties中填入 Meta 后台申请的 App IDHORIZON_APP_IDyour_horizon_app_id_here第三步在AndroidManifest.xml的application标签内注入 App ID 占位符由 Gradle 自动填充meta-data android:namecom.meta.horizon.platform.ovr.HORIZON_APP_ID android:value${HORIZON_APP_ID} /2. 构建与运行命令# 默认构建 → Google PlayhorizonEnabled 默认为 false无需任何配置 flutter build apk --release # 构建 → Meta Horizon Store flutter build apk --flavor horizon --release # 直接连上 Quest 设备运行 flutter run --flavor horizon -d Quest整个切换机制由插件在android/build.gradle中通过product flavors实现playflavor 依赖 Google Play Billinghorizonflavor 依赖 Meta Platform SDK你的 Dart 代码一行都不用改✅3. 在 Quest 设备上测试在 Quest 设备上开启开发者模式电脑端执行adb devices确认设备已连接在 Meta Quest 开发者后台配置测试商品使用 horizon flavor 构建并运行4. 平台功能对照表功能Google PlayMeta Horizon一次性购买✅✅消耗型商品✅✅订阅✅✅购买验证 / 恢复购买✅✅优惠码Promo codes✅✅替代计费Alternative billing✅❌延迟支付Deferred payments✅❌三、统一 API所有平台一套代码无论目标平台是 Kindle、Fire TV 还是 QuestDart 侧调用完全一致// 1. 初始化连接 await FlutterInappPurchase.instance.initConnection(); // 2. 获取商品 final products await FlutterInappPurchase.instance.fetchProductsProduct( skus: [consumable_item], type: ProductQueryType.InApp, ); // 3. 发起购买 await FlutterInappPurchase.instance.requestPurchase( RequestPurchaseProps.inApp(( apple: RequestPurchaseIosProps(sku: consumable_item), google: RequestPurchaseAndroidProps(skus: [consumable_item]), )), );这套接口定义在lib/flutter_inapp_purchase.dart中配套的枚举与类型分别位于lib/enums.dart、lib/types.dart。常见问题速查问题解决方案Quest 上fetchProducts()返回空列表检查HORIZON_APP_ID是否正确、商品在 Meta 后台是否处于激活状态、SKU 是否完全匹配Quest 构建报 flavor 错误执行flutter clean并清理 Gradle 后重新以--flavor horizon构建App 在 Quest 上误走 Google Play确认gradle.properties中horizonEnabledtrue且使用了 horizon flavorAmazon 上支付无响应确认 Manifest 中已添加ResponseReceiver并在 release 包中保留 Amazon 混淆规则写在最后一次编写、多端变现借助 flutter_inapp_purchase 的自动设备检测与 flavor 构建机制你可以用同一份 Dart 代码覆盖 Amazon Kindle、Fire TV 电视以及 Meta Quest VR 头显这些小众却竞争更小、用户付费意愿更强的平台。建议从KINDLE.md和docs/docs/getting-started/setup-horizon.md两份官方文档入手配合example/目录下的示例 App 快速上手 【免费下载链接】flutter_inapp_purchaseFlutter In App Purchase plugin that confirms OpenIAP项目地址: https://gitcode.com/gh_mirrors/fl/flutter_inapp_purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

如何训练NetVLAD: trainWeakly弱监督三元组损失与困难负样本挖掘全流程图解

如何训练NetVLAD: trainWeakly弱监督三元组损失与困难负样本挖掘全流程图解

2026/8/22 14:31:45

如何训练NetVLAD: trainWeakly弱监督三元组损失与困难负样本挖掘全流程图解 【免费下载链接】netvlad NetVLAD: CNN architecture for weakly supervised place recognition 项目地址: https://gitcode.com/gh_mirrors/ne/netvlad NetVLAD 是面向弱监督地点识别&#xf…

Simple-BEV几何工具库utils/geom详解:坐标系变换约定与4x4矩阵运算新手完全指南

Simple-BEV几何工具库utils/geom详解:坐标系变换约定与4x4矩阵运算新手完全指南

2026/8/22 14:31:45

Simple-BEV几何工具库utils/geom详解:坐标系变换约定与4x4矩阵运算新手完全指南 【免费下载链接】simple_bev A Simple Baseline for BEV Perception 项目地址: https://gitcode.com/gh_mirrors/si/simple_bev Simple-BEV 是一个知名的多传感器 BEV&#xff…

用CSWin Transformer做语义分割:基于mmsegmentation的ADE20K UPerNet实战教程

用CSWin Transformer做语义分割:基于mmsegmentation的ADE20K UPerNet实战教程

2026/8/22 14:31:45

用CSWin Transformer做语义分割:基于mmsegmentation的ADE20K UPerNet实战教程 【免费下载链接】CSWin-Transformer CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped, CVPR 2022 项目地址: https://gitcode.com/gh_mirrors/cs/CSWin-…

TCP与UDP互通实战:从协议差异到应用层代理实现

TCP与UDP互通实战:从协议差异到应用层代理实现

2026/8/22 15:41:47

1. 项目概述:跨越协议的鸿沟 在搞网络开发或者系统运维的兄弟,估计都遇到过这么个场景:一个老系统用的是TCP,稳如老狗,但延迟有点高;另一个新模块为了追求极致的实时性,用了UDP,快是…

iOS跨平台位置模拟实战:基于WebKit调试协议实现GeoPort方案

iOS跨平台位置模拟实战:基于WebKit调试协议实现GeoPort方案

2026/8/22 15:41:47

1. 项目概述:为什么我们需要GeoPort?在移动应用开发、游戏测试、社交软件功能验证,甚至是日常的隐私保护场景中,位置模拟(Location Spoofing)都是一个高频且核心的需求。想象一下,你是一个应用开…

Windows批处理脚本实现批量文件重命名:从基础命令到实战场景

Windows批处理脚本实现批量文件重命名:从基础命令到实战场景

2026/8/22 15:41:47

1. 项目概述:从手动到自动的文件名管理革命在Windows环境下工作,无论是整理项目文档、归档照片,还是处理下载的成百上千个文件,一个绕不开的繁琐任务就是批量重命名。想象一下,你刚从相机里导出了几百张照片&#xff0…

5个until-async常见坑点:为什么不能直接传Promise实例?

5个until-async常见坑点:为什么不能直接传Promise实例?

2026/8/22 15:41:47

5个until-async常见坑点:为什么不能直接传Promise实例? 【免费下载链接】until-async Gracefully handle Promises using async/await without try/catch. 项目地址: https://gitcode.com/gh_mirrors/un/until-async until-async 是一个轻量级 Ja…

闪电贷如何区分ETH与ERC20?flashloan-box中ethAddress设计技巧深度解析

闪电贷如何区分ETH与ERC20?flashloan-box中ethAddress设计技巧深度解析

2026/8/22 15:41:47

闪电贷如何区分ETH与ERC20?flashloan-box中ethAddress设计技巧深度解析 【免费下载链接】flashloan-box A box containing all you need to get started with developing Aave v1 flash loans 项目地址: https://gitcode.com/gh_mirrors/fl/flashloan-box 闪…

训练UniDetector前必看的20+个关键超参数:完整配置项逐条解读

训练UniDetector前必看的20+个关键超参数:完整配置项逐条解读

2026/8/22 15:31:47

训练UniDetector前必看的20个关键超参数:完整配置项逐条解读 【免费下载链接】UniDetector Code release for our CVPR 2023 paper "Detecting Everything in the Open World: Towards Universal Object Detection". 项目地址: https://gitcode.com/gh_…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/21 21:41:19

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/22 11:09:22

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/22 11:09:22

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

多尺度智能体控制:从宏观密度场到微观决策的架构与实践

多尺度智能体控制:从宏观密度场到微观决策的架构与实践

2026/8/22 0:00:52

1. 从宏观到微观:多尺度智能体控制的核心挑战在智能体(Agent)技术日益普及的今天,我们面临着一个越来越普遍的难题:如何同时管理成千上万个,甚至百万级别的智能体?无论是城市交通中的自动驾驶车…

CUBE标准:统一AI智能体评测的度量衡与架构解析

CUBE标准:统一AI智能体评测的度量衡与架构解析

2026/8/22 0:00:52

1. 项目概述:为什么我们需要一个统一的智能体评测标准?最近在折腾各种AI智能体项目,从简单的自动化脚本到复杂的多模态交互系统,我发现了一个让人头疼的共性问题:评测。每次开发完一个智能体,想看看它到底行…

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

2026/8/22 0:00:52

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…