【问题标题】:How to prevent same Apple ID usage for multiple users' in app purchases如何防止多个用户在应用内购买时使用相同的 Apple ID
【发布时间】:2018-11-08 16:06:46
【问题描述】:

我正在开发跨平台移动应用并使用InAppBiling Plugin 来实现我的应用的应用内购买功能,但我对 iOS 上的以下场景有疑问:

场景

  • 用户 A 使用其应用凭据和 Apple ID 获取订阅。
  • 用户 B 使用用户 A 的设备并使用用户 B 应用凭据登录,但使用用户 A 的 Apple ID 购买订阅。

目前,它允许用户 B 购买此项目,但它说该用户有订阅,并请求修改此订阅的权限。

我的问题是如何防止用户B修改用户A的订阅?在收据创建之前我找不到任何解决方案。我不想让用户 B 修改用户 A 的订阅。我想通知用户 B 使用不同的 Apple ID 继续购买订阅。

提前致谢

【问题讨论】:

    标签: ios xamarin in-app-purchase subscription apple-id


    【解决方案1】:

    您的问题与this one有关

    您必须拥有作为订阅真相来源的后端。

    您提供的情况如下所示:

    1. 用户 A 使用其应用凭据和 Apple ID 获取订阅。
    2. 您将收据发送到后端进行验证,如here 所述
    3. 您的服务器存储有关订阅的信息并将其与用户 A 链接
    4. 用户 B 使用用户 A 的设备并使用用户 B 应用凭据登录,但使用用户 A 的 Apple ID 购买订阅。
    5. 您按照第 2 点将该收据发送到您的后端
    6. 您的后端响应此订阅已与用户 A 连接

    编辑:

    apple docs中所述:

    将收据副本连同某种形式的信息一起发送到您的服务器 凭据或标识符,以便您可以跟踪哪些收据 属于特定用户。例如,让用户识别 使用电子邮件或用户名以及密码将他们自己发送到您的服务器。

    【讨论】:

    • 那么,在去后端之前没有办法防止这种情况吗?我目前正在做后端解决方案,但我想在去后端之前阻止用户。
    • @BasakSerit 是的,这是唯一的方法。我已经通过提到此解决方案的苹果文档链接扩展了答案
    • 好的,我目前正在后台检查,但是用户 A 的订阅随着用户 B 的请求而变化,用户 A 使用修改后的订阅收费。因为有一个有效的、更新的收据,这是一个问题。
    • @BasakSerit 你应该比较transaction id
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    相关资源
    最近更新 更多