iOS沙箱测试用户帐户订阅管理

2020/12/15 17:11 · ios ·  · 0评论

我目前正在尝试将IAP添加到现有应用中。为此,我添加了一些产品并创建了一些测试用户。产品是定期订阅。我正在测试的设备是带有iOS 5.1的iPhone 4S。

我可以成功地在商店中查询我的产品,并与新的Test用户一起成功购买它们。我遇到的问题是,如果我尝试通过“商店设置”应用程序管理订阅,这会迫使我检查我的帐户,方法是告诉我“此帐户尚未用于在AppStore中购买任何商品,请检查您的帐户并继续。” 如果我查看了该帐户,它将不让我继续提供信用卡信息。

最终结果是我永远无法取消测试订阅。我已删除测试用户并创建了新用户,删除了该应用程序并重新安装它,杀死了StoreApp和设置应用程序,重启了设备,在购买前通过电子邮件验证了帐户,在购买前未通过电子邮件验证了帐户...所有排列似乎失败了。

有时我会购买两次相同的订阅,这将提示StoreKit要求我管理我的订阅设置。有时这会导致以前的“帐户查看”过程,有时会导致显示“无法连接到iTunes Store”的警报。

我没有关于如何继续的想法。

编辑-这是我创建的任何iTunesConnect测试用户的事件流

初始订阅
初始订阅

使用现有ID
使用现有ID

测试帐户登录
测试帐户登录

管理订阅
管理订阅

AppStore登录
AppStore登录

无法连接到AppStore
无法连接

查看您的帐户
评论

然后,即使我的地址为“ 1 Infinite Loop Cupertino,CA”(即它知道这是一个测试帐户),审核过程也迫使我输入CreditCard Info。

苹果开发人员对此做出了回应。(Rich Kubota)关于沙盒环境中的订阅测试。

这是应用内购买模拟过程中的一个漏洞。没有支持的方法来模拟用户iTunes应用程序中的取消过程或模拟管理订阅过程。应用程序的TestFlight版本也存在此限制。当您将应用程序的TestFlight构建提交给用户并测试该应用程序时,该用户帐户实际上是在沙盒环境中运行的。您已经验证了这一点,因为TestFlight应用程序不会在“ TestFlight用户iTunes托管订阅”部分中显示为托管应用程序。这是因为该应用程序位于沙盒环境中,而iTunes应用程序对此一无所知。

自从我在这个论坛上回复以来已经有一段时间了,但是,验证该应用程序将处理自动续订过程的最佳方法是验证该应用程序还能够正确地通过transactionObserver处理检测到自动续订的订阅续订。例如,如果您在沙盒环境中购买了1个月的订阅。然后杀死该应用程序,等待6分钟,然后重新启动该应用程序,transactionObserver是否检测到有待处理的incompleteTransaction(压缩后的一个月续订)。

这与用户在iTunes订阅管理页面中重新启动订阅的情况非常相似。该交易记录由iTunes商店记录,并为用户帐户/应用捆绑包ID启用了notcompleteTransaction。当应用程序启动并激活transactionObserver(通过对addTransactionObserver的调用)时,将检测到incompleteTransaction并调用了updatedTransaction delefgate方法来处理续订。然后,应用程序可以验证applicationReceipt,以验证自动续订订阅项中现在有一个in_app数组项,该数组项的expire_date大于当前日期,并且知道自动续订订阅product_id处于活动状态。

至于测试自动续订已被取消的测试,这再次需要iTunes Store服务器支持来模拟。但是,收据验证过程每天都会工作,并且可以检测到哪个in_app数组项是自动续订的最新项目,然后检测是否设置了cancel_date通知应用程序该订阅已取消。请注意,仅检测到任何元素的cancel_date字段都可能导致误报。用户可能早些时候取消了自动续订,然后又确定它还不错,然后重新购买了该商品。因此,逻辑需要确保在最新的in_app数组元素中设置了cancel_date字段,以知道当前的订阅实际上已被取消。我的一个问题 m尝试确定-取消的项目是否将expire_date移到cancel_date,以便取消的订阅可以看起来与过期的订阅相同。似乎是正确的举动-但此信息由iTunes Store服务器团队控制。

如果您想寻求一种机制来模拟沙盒中生产商店环境的这些功能,建议您使用Apple Developer Bug Report网页提交增强请求。请为错误报告选择iTunesConnect产品,因为建议是iTunes Store可以模拟的,而不是iOS。

您实际上无法在沙盒中管理订阅,但正如Jean-Paul de Ville de Goyet在Apple开发者论坛上发现的那样

1个月的订阅每5分钟自动更新一次。到现在为止还挺好。它们会自动更新5次,然后停止,因此25分钟后,您会收到21006错误。但是,即使回购了相同的订阅,它也不会在同一测试帐户上再次自动更新,因为它已经自动更新了5次。因此,如果您要测试续订并且已经困扰了这些订阅一段时间,则需要创建一个新的iTunes连接测试用户。老实说,这很烦人,如果我们只需重置测试用户帐户的整个购买历史,就会容易得多。

我以相同的方式测试了订阅。

本文地址:http://ios.askforanswer.com/iosshaxiangceshiyonghuzhanghudingyueguanli.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!