React-native-iap: 在iOS中更改订阅时,buySubscription无法解析

创建于 2018-09-26  ·  14评论  ·  资料来源: dooboolab/react-native-iap

版本的react-native-iap

2.2.2

您遇到错误的平台(IOS或Android还是两者兼有?)

的iOS

预期行为

从每月订阅更改为每年订阅时,应该解决buySubscription问题,而不是拒绝并返回错误,从而强制执行catch子句。

实际行为

如果当前订阅了一个计划,则更改为另一个计划会导致buySubscription捕获并返回以下错误:
screen shot 2018-09-27 at 1 21 10 am

经过测试的环境(仿真器?真实设备?)

真实设备,iPhone 6

重现行为的步骤

当“修改订阅”对话框在应用程序内弹出时,会询问您是否要从当前的订阅更改为新选择的订阅。 点击此对话框后,将引发错误,而不是预期的已解决承诺。 看来此用例尚未解决。

现在这对我来说很麻烦,因为那时没有办法确认他们是否实际购买或验证了这些案件的收据。 如果您知道解决方法或修复程序,或者有什么我可以帮助的(尽管我没有Obj-C经验),请告诉我。 我现在唯一想到的可能的解决方法是,如果buySubscriptions返回错误,请检查此错误,如果与该错误匹配,则确认购买。 但这是非常危险的,因为它使收据验证变得不可能,并且其他一些错误(例如无法连接到服务器等)也可能产生相同的错误代码,从而使用户无需真正付费即可订阅。 因此,换句话说,我认为目前没有可行的解决方法。 我在这里想念什么吗? 是否有某些原因我不需要解决buySubscriptions的承诺? 非常感谢您收到某人的来信。

编辑:这可能是我已经描述过的明显结果,但是在尝试修改您的订阅后,此购买未添加到您的购买历史中。 在用户端没有任何迹象表明该购买没有成功-用户成功完成了对话框的购买流程,最后说了一个“您已准备就绪”。

EDIT2 :有时它可以工作,但是我不确定如何重现,如果我找到方法,它将报告。 当它工作时,第一个对话框要求输入密码,然后好像我还没有其他订阅一样正常进行,这与第一个对话框是“ Confirm Purchase”(确认购买)并询问是否要修改我的订阅时相反。当它不工作时会出现什么。 当它起作用时,所购买的订阅将按预期添加到我的购买历史记录中。

EDIT3 :我之前对错误消息进行了拍照。 我现在已更正它。 错误消息显示为:“错误:发生未知或意外错误。请稍后重试。” 另外,您可能需要考虑使用react-native-in-app-utils购买产品的方法。 他们使用了不同的方法,这些差异可以帮助解释为什么会发生这种情况,尽管我没有使用过该库,因此无法确认它不会在那里发生。

🍗 enhancement 🐛 bug 📱 iOS

最有用的评论

今天再看一遍,我想我发现了一些值得注意的地方。 似乎正在发生的是在此错误中发现的内容: https

所有14条评论

您现在可以尝试使用2.3.15最新版本吗?

是的,今天我会旋转一下

@kevinEsherick这个人的结果是什么?

还是行不通。 如果我订阅了每月并切换到年度,则会出现catch子句。 曾经有一段时间它随机工作,但是还没有找到一种复制方法。 我会及时通知您我的发现,并请为我做同样的事情。 谢谢!

@kevinEsherick您如何“切换”订阅的? 我想您“取消”了每月订阅,而“再次购买”了年度订阅。 是对的吗?

在iOS上,您不能通过进入设置应用程序来管理订阅并在同一组中选择其他产品来切换订阅吗?

@JJMoon不,我只是购买应用内的按月订阅,然后购买应用内的按年订阅。 他们正在自动更新同一订阅组中的订阅。 如果iTunes Connect上的同一组中有两个订阅(A和B),则在订阅A的同时购买B应该会自动取消A并订阅B。您认为此软件包不支持此功能是否有问题? 如果是这样,我们是否可以找到一种方法来实现呢?

我也遇到了这个问题。 任何进展?

不。最近没有太多时间来解决这个问题。 我很快会再次调查。

仔细研究一下,我已经意识到苹果似乎至少在某种程度上认识到订阅的变化。 如果我从每月切换到每年,它将显示适当的模式以及有关修改订阅的语言。 当我每年购买时,出现错误,buySubscription无法解决。 但是,当我再次进行购买时,这次返回月度订购,Apple的API知道我正在按年订购,并再次显示“您是否要修改订购...”模式。 我还不确定这是如何在生产中体现出来的,因为这都是沙盒。 今晚的某个时候,我将进一步研究这个问题,但这可能意味着苹果方面一切正常,而这只是客户端的错误。 在这种情况下,这可能不再是严重的错误,但仍然可以修复。

今天再看一遍,我想我发现了一些值得注意的地方。 似乎正在发生的是在此错误中发现的内容: https

我希望可以通过我提到的方法来解决此问题。
正在关闭...

具有相同的行为,可以采取任何步骤解决此问题?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

makarsky picture makarsky  ·  3评论

bakedbean picture bakedbean  ·  5评论

ramondelmondo picture ramondelmondo  ·  4评论

Symyon picture Symyon  ·  5评论

jvandenaardweg picture jvandenaardweg  ·  4评论