HarmonyOS鸿蒙Next中集成应用内支付订阅功能,测试切换不同周期商品收到的订阅关键事件通知
HarmonyOS鸿蒙Next中集成应用内支付订阅功能,测试切换不同周期商品收到的订阅关键事件通知 背景描述
我们游戏集成了华为应用内支付订阅服务,分别在正式环境和沙盒环境下,测试切换订阅不同周期商品,并记录下每次收到订阅关键事件通知的(通知事件类型),测试结果如下:
疑问
正式环境下:
- 7月25号10:30首次购买周卡,返回订阅关键事件0。0表示首次购买。
- 7月25号10:38切换订阅到不同周期的月卡,返回订阅关键事件5和4。5表示原订阅停止,已收费的服务仍有效,4表示切换后的订阅会在当前订阅到期后生效。
- 7月31号9:30自动续期,返回自动续期通知7。原订阅是7月25号购买的周卡,到期时间是8月1号,提前25小时续期。
沙盒环境下:
- 10月18号10:37首次购买,返回订阅关键事件0。0表示首次购买,与正式环境一致。
- 10月18号10:38切换订阅到不同周期的月卡,返回订阅关键事件5、4和7。
- 10月18号10:44自动续期,返回订阅通知7。之后每隔5分钟触发一次自动续期,一共自动续期5次。
沙盒测试下有两个疑问:
- 沙盒切换订阅时收到通知7,正式环境没有。
- 切换订阅到月卡后,商品有效期计算应该在周卡到期后月卡再生效,累计一共8(3+5)分钟。下次续期应该在10:45分,而不是44分。
问题解决
联系华为技术支持(可提单https://developer.huawei.com/consumer/cn/support/feedback联系)咨询,技术回复:
- 沙盒下切换订阅是立即生效的,立即生效就直接购买,返回通知7,正式环境不是立即生效,所以没有7。
- 沙盒下由于发出通知是异步通知,会有误差,导致续期间隔时间不太准确。但是实际返回的通知中的purchaseTime、expirationDate字段时间是准确的,
比如: 10:44分收到的通知中的purchaseTime和expirationDate时间戳分别为1666061115125和1666061415125,时间戳转换后为2022-10-18 10:45:15和2022-10-18 10:50:15,是准确的。
总结就是: 在收到IAP服务器的订阅关键事件通知时,根据通知内容中的购买Token,请求IAP服务器校验购买Token获取当前购买Token关联订阅的最新状态,并根据订阅最新状态决定您是否需要提供商品服务。
更多关于HarmonyOS鸿蒙Next中集成应用内支付订阅功能,测试切换不同周期商品收到的订阅关键事件通知的实战教程也可以访问 https://www.itying.com/category-93-b0.html
为什么降级回调没有返回5
更多关于HarmonyOS鸿蒙Next中集成应用内支付订阅功能,测试切换不同周期商品收到的订阅关键事件通知的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中集成应用内支付订阅功能时,测试切换不同周期商品时,应关注以下关键事件通知:
- 订阅成功通知:确认用户在切换周期后成功订阅新商品。
- 订阅更新通知:当用户从一个月订阅切换到年订阅时,系统应发送订阅更新通知。
- 订阅取消通知:如果用户在切换过程中取消订阅,系统应发送取消通知。
- 订阅续期通知:确保在订阅周期结束时,系统正确发送续期通知。
- 订阅状态变更通知:监控订阅状态的任何变更,如暂停、恢复等。
通过监听这些关键事件,可以确保订阅功能的正常运行和用户体验的连贯性。