在应用程序中使用相同的 Apple 帐户但使用不同的用户帐户时禁用恢复 IAP
Disable restore IAP when same Apple account but different user account in application
在我的应用程序中,我有项目只为付费订阅的用户显示。用户可以通过电子邮件和密码登录到应用程序,并且可以注销并且在同一设备上可以登录不同的用户。
我的问题是 phone 中的 Apple Id 仍然相同。因此,当不同的用户登录时,即使他没有支付任何费用,他也可以恢复购买。
所以我的问题是我该如何修复它?如何将 Apple 帐户连接到我的自定义帐户?或者至少在尝试恢复 IAP 时以某种方式检查此 Apple 帐户是否已拥有此订阅但不同的用户已登录。其他应用程序如何做到这一点?谢谢
编辑:
我想在我的应用程序中使用自动续订订阅,但我不知道如何将它连接到我的自定义帐户系统。
当用户进行 IAP 时,您不会知道用于进行购买的 Apple Id。但是,您将知道的是购买的交易 ID。您需要做的是将原始购买的交易 ID 存储在您的自定义帐户中。
当用户恢复时,您将确定 SKPaymentTransaction 的 originalTransaction 的 transactionIdentifier 是否与自定义帐户匹配。如果不是,那么您可以假设这是一个不同的用户。您可以在此处阅读更多相关信息:
请注意,收据包含一个称为原始交易 ID 的字段。这是您用于订阅以跟踪原始事务 ID 的内容。这是因为每次自动续订时,都会为自动续订生成一个新的交易 ID。收据实际上包含所有的购买。
在您的服务器上,您可能希望保存原始交易 ID 和可能的收据。从本质上讲,您围绕此存储的元数据越多,如果您必须进行任何形式的双重检查交易,您的生活就会越好。
在我的应用程序中,我有项目只为付费订阅的用户显示。用户可以通过电子邮件和密码登录到应用程序,并且可以注销并且在同一设备上可以登录不同的用户。
我的问题是 phone 中的 Apple Id 仍然相同。因此,当不同的用户登录时,即使他没有支付任何费用,他也可以恢复购买。
所以我的问题是我该如何修复它?如何将 Apple 帐户连接到我的自定义帐户?或者至少在尝试恢复 IAP 时以某种方式检查此 Apple 帐户是否已拥有此订阅但不同的用户已登录。其他应用程序如何做到这一点?谢谢
编辑: 我想在我的应用程序中使用自动续订订阅,但我不知道如何将它连接到我的自定义帐户系统。
当用户进行 IAP 时,您不会知道用于进行购买的 Apple Id。但是,您将知道的是购买的交易 ID。您需要做的是将原始购买的交易 ID 存储在您的自定义帐户中。
当用户恢复时,您将确定 SKPaymentTransaction 的 originalTransaction 的 transactionIdentifier 是否与自定义帐户匹配。如果不是,那么您可以假设这是一个不同的用户。您可以在此处阅读更多相关信息:
请注意,收据包含一个称为原始交易 ID 的字段。这是您用于订阅以跟踪原始事务 ID 的内容。这是因为每次自动续订时,都会为自动续订生成一个新的交易 ID。收据实际上包含所有的购买。
在您的服务器上,您可能希望保存原始交易 ID 和可能的收据。从本质上讲,您围绕此存储的元数据越多,如果您必须进行任何形式的双重检查交易,您的生活就会越好。