Android端Google Play内购促销码实现与验证相关技术咨询
问题1 应用内促销码兑换的代码改造要求
- 是需要新增额外代码的,你可以根据需求选择实现方式:
- 如果要做应用内兑换入口,你用的react-native-iap库已经封装了官方的兑换接口,只需要在应用内新增「兑换促销码」的入口,点击时调用
requestPromoCodePurchase方法即可调起Google Play原生的兑换弹窗,用户输入促销码后全程由Play侧完成有效性校验,你只需要在后续的购买结果回调中按正常内购逻辑处理订单、发放权益即可。 - 相关开发规则可以直接参考Google Play Billing服务的官方促销码开发规范即可。
- 如果要做应用内兑换入口,你用的react-native-iap库已经封装了官方的兑换接口,只需要在应用内新增「兑换促销码」的入口,点击时调用
问题2 Play Store站外兑换的规则与校验要求
- 支持在Play Store的「兑换与礼品卡」板块完成一次性内购、订阅类促销码的站外兑换,相关规则如下:
- 购买校验规则:用户在站外完成兑换后,你不需要额外新增校验逻辑,只需要在应用启动、内购页加载等时机,主动调用
queryPurchases或getPurchaseHistory接口拉取当前登录Google账号的未消耗购买记录,校验购买记录的purchaseState为已生效、isAcknowledged状态正常,即可按正常流程给用户发放权益,和常规支付订单的校验逻辑完全一致。 - 权益发放范围:仅可发放给兑换该促销码时登录Play Store的Google账号对应的应用内用户,单个促销码仅可被兑换1次,兑换后直接和对应Google账号绑定,无法转赠给其他账号。
- 若兑换的是订阅类促销码,兑换后会自动触发订阅生效逻辑,你拉取订阅状态时会直接拿到更新后的有效期信息,按常规订阅规则处理即可。
- 购买校验规则:用户在站外完成兑换后,你不需要额外新增校验逻辑,只需要在应用启动、内购页加载等时机,主动调用
内容的提问来源于stack exchange,提问作者Raghuvanshi Harsh
相关产品推荐
相关产品推荐

