我们有一个带有可自动更新的IAP的应用,我们为其提供初始试用期,并在试用期结束后收费。我们的应用程序维护用户帐户管理(用户登录),并且只有在用户登录后才能访问所有功能(包括IAP)。
要考虑两种情况:
情况1::新用户(应用程序用户)选择在使用Apple ID登录的设备上购买试用期的订阅。她稍后(在试用期到期后)将应用程序安装在另一台设备上,并使用其他应用程序帐户注册,但使用相同的Apple ID。由于Apple Ids对应用程序是不透明的,因此该应用程序无法知道该用户已经购买了试用版,因此应用程序UI向他们提供了一个从试用期开始的选项。由于使用的Apple ID是相同的,因此将向用户收费。
尽管这种情况很少见,但可以以使用相同的Apple ID为借口来证明是正确的,因此应该向用户收费,但是在该应用程序的一部分上存在谬误,表明该试用期可用于新的应用程序用户(不同的登录ID)
此外,用户可能没有故意这样做以利用第二次试用期,但可能已经忘记了先前的购买,并可能在下次注册时使用备用电子邮件。
如果用户已经用完了相同的Apple ID试用版,或者是否有办法知道当前用户(Apple ID用户)过去是否已经进行过购买,那么如何避免向用户收费,这样您就不再向他们显示试用选项。在这方面恢复购买会有所帮助吗?
情况2::同一应用程序用户可能有意更改新设备/相同设备上的Apple ID,以进行多次试用。虽然您的应用将检测到用户已经购买了试用版,但您可以选择不让用户显示订阅购买界面,但是如果您在Apple的一部分上进行购买工作流程,仍会认为它是试用期(新的Apple ID)而不是将相同的款项汇给您。
您如何规避这些情况,或者如果我理解根本不会出现这些情况的缺陷。
对于情况1:也许以下方法可能有效,但不确定:
每当有新的应用程序登录时,应用程序应刷新收据或要求将交易恢复给用户(这对于初次使用的用户可能会感到沮丧),并且应执行收据验证以检查用户是否有先前的购买,以及交易ID是否链接到某个先前的用户。这基本上是一种自我管理的还原。但是在这种情况下,新用户将无法获得试用期,您只需提示当前的Apple ID已用于试用即可。
请提出我的理解是否正确。