Flutter应用中Google Play支付优先级高于Amazon支付的问题咨询
解决非亚马逊设备上Amazon测试触发Google支付的问题
核心原因
RevenueCat默认会优先检测设备上已安装的Google Play服务,因此在装有Google Play的非亚马逊设备上,会自动走Google Billing流程,即便你想测试Amazon的支付逻辑。
可行解决办法
强制指定RevenueCat使用Amazon计费:初始化RevenueCat时,手动指定使用Amazon适配器,跳过自动检测逻辑。代码示例:
// Android端初始化代码 Purchases.configure( PurchasesConfiguration.Builder(context, "你的API密钥") .setStore(Store.AMAZON) .build() )测试完成后记得移除
.setStore(Store.AMAZON),让正式版根据设备环境自动适配对应的支付渠道。使用纯亚马逊设备测试:直接用亚马逊官方Fire设备进行Live App Testing,这类设备无Google Play服务,会默认走Amazon支付流程,更贴近真实用户场景。
测试包移除Google Billing依赖:在构建变体中区分测试包和正式包的依赖,测试包仅引入Amazon支付SDK。示例:
// build.gradle配置 releaseImplementation 'com.android.billingclient:billing:6.0.1' debugImplementation 'com.amazon.android:amazon-purchasing:2.0.0'这样测试包不会包含Google Billing代码,自然只会触发Amazon支付流程。
额外注意点
- 测试结束后务必恢复配置,避免正式版在对应设备上无法正常使用目标支付渠道。
- 确保Amazon Live App Testing使用的是针对亚马逊商店构建的安装包,不要混用Google Play签名包。
内容的提问来源于stack exchange,提问作者king mort
相关产品推荐
相关产品推荐

