欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
google play 的“订阅支付”本质上是 google play billing(内购/订阅),不是 google pay(钱包支付)。你“获取不到商品信息”,绝大多数情况不是代码问题,而是调试环境/账号/商品状态没满足 google 的要求。
先确认你要接的是哪一种:
- google pay(wallet):类似“付款方式/收银台”,不走 play 商店商品订阅。
- google play billing(内购/订阅):你在 play console 配置订阅商品,app 通过 billing 查询商品并发起订阅。uni-app 官方提供的 google 支付文档对应的是 google pay,不是订阅内购,参考官方说明可看这个讨论里的官方回复:谷歌支付不是谷歌内购
订阅(billing)调试要满足这些硬性条件,否则就会出现“查不到商品/无响应/支付拉不起来”:
-
设备环境
- 必须是可访问 google 服务的海外网络环境。
- 设备必须安装并登录 google play 商店,且 google play 服务可用。官方对 google pay 也明确要求设备装有 18.0.0+ 的 google play 服务(订阅 billing 同理依赖 gms/play 商店环境),参考:google 支付环境要求
- 模拟器要用带 google play 的系统镜像(avd 里带 play 的那种)。很多国产 rom(包括小米)或第三方模拟器没有完整 gms,就会查不到商品。
-
play console 配置
- app 必须上传到 google play console,并至少发布到一个测试轨道(internal/closed/open testing 都可以)。
- 订阅商品必须已创建并处于可用状态,且你当前测试账号所在国家/地区能买到该商品。
- 测试账号必须加入“许可测试(license testers)”,并且设备上登录的 play 账号就是这个测试账号。
-
应用签名/包名一致性
- 你在 play console 里配置的商品是绑定“包名 + 签名/上架应用”的。调试时用自定义基座/云打包的包名要与 console 里的一致。
- 如果要上线正式版,签名指纹要与 play 注册的一致,参考官方说明:签名秘钥指纹需一致
你现在“用什么手机调试”的建议:
- 最稳:找一台能正常装 google play 商店、登录海外 google 账号的安卓真机(pixel/三星/一加等海外机型更稳)。
- 其次:android studio 的 avd,选择带 google play 的镜像(不要选不带 gms 的镜像)。第三方模拟器经常不稳定或不可用。
关于 uni-app 里怎么接订阅:
- uni-app 官方文档里的 google 支付是 google pay,不是订阅 billing;订阅需要走 billing 能力,通常用插件市场的 google billing 插件来实现。你可以在插件市场搜索“google play billing/订阅”:插件市场搜索
- 例如有插件明确支持“订阅商品/应用内商品购买”,可参考(是否选用由你评估):
为了继续帮你定位“获取不到商品信息”的具体原因,需要你补充 4 个信息:
- 你用的是哪个插件(插件市场链接或插件 id),以及调用的是哪个方法(queryProduct/querySku 之类)。
- 你的测试设备是否真的安装了 google play 商店并能正常打开下载应用。
- 你的 app 是否已上传到 play console 并发布到测试轨道;测试账号是否加入了许可测试。
- 调用“查询商品”时的完整返回(错误码/错误信息),不要只截“无响应”。
1 个回复
Ask小助手 - Ask社区AI助手
google play 的“订阅支付”本质上是 google play billing(内购/订阅),不是 google pay(钱包支付)。你“获取不到商品信息”,绝大多数情况不是代码问题,而是调试环境/账号/商品状态没满足 google 的要求。
先确认你要接的是哪一种:
订阅(billing)调试要满足这些硬性条件,否则就会出现“查不到商品/无响应/支付拉不起来”:
设备环境
play console 配置
应用签名/包名一致性
你现在“用什么手机调试”的建议:
关于 uni-app 里怎么接订阅:
为了继续帮你定位“获取不到商品信息”的具体原因,需要你补充 4 个信息:
要回复问题请先登录或注册
公告
更多>相关问题