Playstore 订阅 - 测试策略
Posted
技术标签:
【中文标题】Playstore 订阅 - 测试策略【英文标题】:Playstore subscriptions - testing strategy 【发布时间】:2013-10-22 00:38:15 【问题描述】:场景: 我即将完成我的 google playstore 应用内计费实施。我正在使用按月或按年订阅来向我的消费者收费。
问题:我似乎找不到将订阅从活动状态中删除的方法,因为取消只会停止计费。这不允许 QA 在没有为每个测试创建帐户或等待订阅期结束的情况下彻底测试购买过程。
问题:我是否遗漏了什么或有什么错误?如果是这样,它是什么?如果没有,应该怎么做才能让 QA 进行适当的测试?
【问题讨论】:
在下面查看我的答案,让我知道您在寻找以下答案或更多内容。 Ben,我已经阅读了下面与 Maulik 的聊天记录。看来您从未从那次聊天中找到解决方案。你找到解决问题的方法了吗?我正在尝试测试订阅并遇到同样的问题。我等不及要进行另一次调试了。 :) 您找到的任何解决方案将不胜感激。 @MichaelStoner 我们使用试用订阅进行了测试,好吧,对于无法使用的测试,我们只是等待。真是太可惜了。 【参考方案1】:根据我从你的问题中了解到的,
您无法从测试帐户测试订阅。 Google play 不提供使用虚拟产品的订阅测试。您必须在真实产品上进行测试。
现在问题出现了我如何测试订阅
您可以通过购买真实产品来检查订阅,并使用服务器上的purchase status api 检查产品状态或购买取消。
您还可以从以下给定链接获取更多信息,了解逐步取消购买状态:
1) link1 2)link2
您可以简单地每天查询并检查您的订阅是否有效,并获得它的到期日期。
我还有另一种选择,无需为您的真实产品支付任何费用,您可以在 Google 控制台中设置试用期,然后在试用期结束之前从 Google Play 商店菜单 -> MyApp -> 订阅取消订阅和取消产品并检查链接中给出的上述程序。
编辑:
重要提示:在任何情况下,您都必须继续提供符合以下条件的内容 您的订阅者通过他们的订阅购买,例如 任何用户都可以访问它。也就是说,您不得删除任何 订阅者的内容,而任何用户仍具有有效订阅 到它,即使该订阅将在结束时终止 当前计费周期。删除订阅者有权的内容 访问将导致处罚。请参阅政策文件 了解更多信息。
更多信息请查看以下链接:
1) http://developer.android.com/google/play/billing/billing_subscriptions.html#cancellation
2) https://support.google.com/googleplay/answer/2476088?hl=en
3) https://support.google.com/googleplay/android-developer/answer/140504?hl=en
如果不等到订阅流程周期在取消订阅产品后完成,您将无法做到这一点,剩下的唯一方法是Free trial
版本,它是唯一提供我们测试产品取消的方法,其中产品取消在您取消订阅试用期后立即,它不会继续,直到试用期结束。
更多信息请查看以下链接:
http://developer.android.com/google/play/billing/billing_subscriptions.html#administering
而且我认为这是更好的方法,因为在试用期内你应该去 使用实际的信用卡付款流程,但您不需要 为它付出任何代价。 Google play 将交易记录为 0.00 美元 订阅过程。如果您取消订阅,您 不应该为测试支付任何费用,但是我不确定免费试用版 在您发布应用程序之前已经工作,但它只能通过努力获得。
结论:
在当前的 api 中,无法像这样测试订阅产品 正常产品,如果用户已取消订阅产品 那么您必须等待购买相同的产品,直到 订阅周期已过期,如果 订阅周期正在进行,您可以测试相同的产品 在订阅周期结束之前再次。如果你还想测试 对于相同的产品,您必须选择另一个帐户 测试它或其他方式是免费试用,您不会被收取任何费用 直到您的免费试用期到期或取消订阅 期间和发布应用程序之前的测试帐户,您将获得退款 根据我的购买产品 14 天后自动 知识。
希望它能解决你的问题。
【讨论】:
这并没有真正解决我的问题,因为我需要 Google Play 真正清除购买,以便我继续测试应用程序的流程。在我进行订阅后,我的应用程序将在接下来的 30 天内看到用户处于活动状态,即使他们在此期间取消。 据我了解,您是说如果我取消处于试用期的订阅,Google Play 将放弃用户的有效试用期以及他们的订阅,这样 getPurchases 将不再呈现用户有权享受高级服务? 你的意思是用户取消订阅产品的试用期后想再次购买订阅试用期? 我需要 QA 才能测试订阅购买的过程,这意味着允许他们重复订阅相同的产品。 为什么要重复购买订阅产品?确保您了解同一产品的定期计费,直到用户取消订阅。检查我编辑的ans链接号。 3).【参考方案2】:对于这个问题,我有一个非常笨拙的解决方法。每次我想测试应用内订阅时,我都会这样做:
-
在 google play 开发者控制台中创建新的应用内订阅产品。
将安卓应用指向您刚刚创建的新订阅产品。
在您检查有效订阅的代码中,添加一行以专门忽略您测试的上一个订阅的订单号。
导出应用程序的发布版本并将其直接传输到您的测试设备。
测试完成后,返回步骤#1进行下一次测试。
在部署应用程序之前,不要忘记修复第 2 步中的更改!
您可能希望在第 1 步中创建多个订阅,这样您就不必连续等待数小时来传播它们。如果您知道更好的方法,请发表评论!
更新:Google 现在有测试订阅,并且更容易使用它们! https://android-developers.googleblog.com/2018/01/faster-renewals-for-test-subscriptions.html
【讨论】:
我讨厌我赞成这个,但我赞成这个。目前似乎没有更有效的方法来处理这个问题。【参考方案3】:现在似乎有更好的解决方案:
-
在 Google Play 商店应用中打开您的应用页面
点击“管理订阅”
点击“取消订阅”
在手机中转到“设置”、“应用程序”。
查找 Google Play 商店并清除应用数据。
您现在应该可以重新购买订阅了。
【讨论】:
它是否从应用内 API 调用中清除订阅的活动状态?还是尽管取消了,应用程序仍会将用户识别为已订阅? 是的,但通常需要一些时间——从几分钟到几小时不等。然后库存购买状态与 0 不同: inv.getPurchase(SUBSCRIPTION_SKU).getPurchaseState() != 0 . 这并不理想,但听起来是目前最好的选择。【参考方案4】:创建一个模拟您正在使用的 Google Play 方法的模拟类。
【讨论】:
以上是关于Playstore 订阅 - 测试策略的主要内容,如果未能解决你的问题,请参考以下文章