Android In App Billing v5定价异常遭Google审核驳回求助
问题分析与解决方案
问题根源
你的订阅包含7天免费试用+后续$9.00付费阶段,当前代码直接取pricingPhaseList.firstOrNull(),拿到的是第一个定价阶段(免费试用)。Google审核环境的计费响应会完整返回所有定价阶段,而你的测试设备可能因账号或地区配置默认展示了后续付费阶段,导致两端显示不一致。
解决步骤
筛选非试用的定价阶段
遍历定价阶段列表,排除试用阶段,获取正式付费阶段的价格:val price = productDetails.subscriptionOfferDetails ?.firstOrNull() ?.pricingPhases?.pricingPhaseList ?.firstOrNull { !it.isTrial } // 筛选非试用阶段 ?.formattedPrice ?: "$9.00" // 兜底值可根据业务需求调整处理多付费阶段场景
如果订阅有阶梯定价(比如首月折扣+后续原价),可通过recurrenceMode判断循环付费阶段,确保取到长期定价:val price = productDetails.subscriptionOfferDetails ?.firstOrNull() ?.pricingPhases?.pricingPhaseList ?.firstOrNull { !it.isTrial && it.recurrenceMode == PricingPhase.RecurrenceMode.RECURRING } ?.formattedPrice ?: ""模拟审核环境验证
- 使用Google Play Console的内部测试轨道,邀请审核测试账号测试
- 确保测试账号未享受过订阅优惠,还原真实审核场景
确认Play后台配置
检查订阅定价设置,确认付费阶段的$9.00价格已正确配置,未被地区定价规则覆盖
内容的提问来源于stack exchange,提问作者Javier
相关产品推荐
相关产品推荐

