问题描述
我想在用户购买内容后为它启用内容,并且该内容应该一直可供该用户使用.正确的方法是使用非消耗性IAP.我有用户(登录,注册),并且想将其与IAP(通过我的服务器)连接.我可以使用original_transaction_id
,可以购买/恢复IAP,并可以在具有相同帐户的其他设备上使用它.
I want to have content enabled for user after he purchase it and it should be available for that user all the time. Right way to do this is with Non-consumable IAPs. I have users (login, registration) and I want to connect it with IAPs (via my server). I can use original_transaction_id
and it's okay for purchase/restore IAPs and have it on other devices with same account.
现在是什么问题.如果用户注销并且另一个未购买IAP的用户登录,则他无法在该设备上再次购买(使用该Apple帐户登录的设备),因为当应用尝试购买时,它会恢复以前的购买并具有服务器支持它发现此original_transaction_id
已保存到另一个帐户.那么,您将如何解决呢?是否有可能?还是应该将其更改为可消耗的IAP?还是只有一个人不在乎的问题?
Now what's the problem. If user logouts and another user logged in which doesn't buy IAP then he can't purchase it again on that device (with that Apple account logged in device) because when app tries to buy it, it restore previous purchase and with server support it finds out that this original_transaction_id
is already saved for another account. So how would you fix it? Is it possible? Or should I change it to consumable IAP? Or it's just problem that no one carres?
谢谢
推荐答案
问题是您正在尝试将IAP绑定到自己的帐户系统.显然,iOS并不关心您的用户注销"您的应用程序,就iOS而言,没有发生用户切换.他们仍然使用该Apple ID在该特定设备上登录. :1台设备= 1个用户= 1个Apple ID.
The problem is that you are trying to tie an IAP to your own account system. Obviously iOS doesn't care about your users "logging out" of your app, as far as iOS is concerned no user-switch has happened. They are still logged in with their Apple ID on that particular device. As far as Apple is concerned: 1 device = 1 user = 1 Apple ID.
如果IAP的性质不可消耗(例如硬币),那么使用耗材的IAP来规避此问题"并不是可行的方法. IAP的类型应真正反映您为用户提供的值的类型.
Using consumable IAPs to circumvent this "problem" is not the way to go if the nature of the IAP is not consumable (like coins). The type of IAP should really reflect the kind of value you are offering to the user.
这是一个问题吗?您是否希望您的用户共享这样的1台设备,他们想在其中动态登录和注销您的应用程序?如果您确实要解决此问题,请在检测到重复的交易ID时尽最大可能通知用户.您可以提示他们先退出App Store,并说明IAP与Apple ID绑定,而不与服务中的帐户绑定.
Is this a problem though? Do you expect your users to share 1 device like that, where they would want to log in and out of your app on the fly? If it is something you'd really like to address, try to inform the user as best as possible whenever you detect a duplicate transaction ID. You could prompt them to log out of the App Store first and explain IAPs are tied to an Apple ID and not the account from your service.
这篇关于具有自定义用户帐户管理功能的iOS非消耗性IAP-多次购买的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!