在集成和调试订阅型商品时,我们会依赖沙盒环境来进行模拟实际场景。

订阅型商品的购买流程和一次性商品的购买流程类似,但订阅还有其他细节场景,比如续订成功或失败,续订周期时长等。沙盒环境下的订阅续订时间会比正常情况更快,引入“时光机”概念帮助您快速测试您应用的订阅场景。比如订阅周期为1周,商品在3分钟后发生续期,此时订阅型商品有效期延长了3分钟。

下面对沙盒环境和现网环境订阅通知事件进行简单对比,针对两种环境下收到的notificationType事件进行对照。

a)撤销订阅

测试一:购买商品后,在自动续费前撤销订阅:

测试二:购买商品后,商品到期并发生自动续期后再撤销原订阅:

总结:沙盒环境、现网环境对于撤销订阅后,订阅商品都立即消失,同时这笔订阅费都用会立刻发起返还,后续不再自动续期。订阅通知事件上,由于沙盒环境采用了时光机概念,短期内会多次收到续期成功的订阅事件通知。

b)设置暂停计划

** 场景分析**

正式环境下:

7月28号14:27首次购买周卡,返回订阅关键事件0。0表示首次购买。

7月28号14:28取消订阅,返回订阅关键事件5。5表示订阅停止。

7月28号14:29恢复订阅,返回订阅关键事件6,恢复订阅。

7月28号14:29设置暂停计划一周,返回订阅关键事件11,11表示设置了暂停续期计划(包括暂停计划的创建、修改以及在暂停计划生效前的计划终止)。

8月5号13:27进入暂停期,原订阅是7月28号购买的周卡,到期时间是8月4号,8月5号进入暂停期,收到通知10。

8月8号09:17恢复续订,此时商品已到期,收到关键事件通知3、6。3表示恢复一个已过期的订阅,6表示续期恢复正常。

沙盒环境下:

9月20号10:17首次购买半年卡,返回订阅关键事件0。0表示首次购买,与正式环境一致。

9月20号10:18取消订阅,返回订阅关键事件5。与正式环境一致。

9月20号10:19恢复订阅,返回订阅通知6和7,与正式环境多返回通知7,这个沙盒设置如此,正式环境不受影响。

9月20号10:19设置暂停25分钟,返回订阅通知11(表示创建、暂停计划生效前终止)。商品11:17分到期后进入暂停期25分钟。

沙盒下进入暂停期没有收到关键事件通知10。是因为暂停和过期事件是通过事后检查发现的,目前是通过每日检查发现订阅进入暂停期或是过期。由于沙盒周期短,在次日检查时周期已经结束,所以没有10的事件通知,正式环境下正常。

9月20号11:25在暂停期内,手动恢复续订,返回订阅通知3和6,与正式环境一致。

之后每隔半小时自动续订一次。

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee

关注我们,第一时间了解 HMS Core 最新技术资讯~