如何在iOS中实现用户挂起功能

如何在iOS中实现用户挂起功能,ios,app-store-connect,udid,idfa,Ios,App Store Connect,Udid,Idfa,在iOS应用程序中,当我检测到用户的不当行为(例如发布暴力内容)时,我不想暂停用户使用我的应用程序。实现此功能的基本思想是为每个应用程序安装创建和保存唯一的id,并从服务器api暂停使用 我的问题是,即使用户重新安装了应用程序,并且仍然通过了苹果的iTunes提交,我如何实现这一功能 我想出了两种方法,从技术上实现这一功能,但不知道苹果会如何应对 存储IDFA(我知道用户可以代表他们重置id) 将应用程序生成的udid存储到钥匙链(即使用户删除应用程序,也不应删除该udid) 我知道并没有完美的

在iOS应用程序中,当我检测到用户的不当行为(例如发布暴力内容)时,我不想暂停用户使用我的应用程序。实现此功能的基本思想是为每个应用程序安装创建和保存唯一的id,并从服务器api暂停使用

我的问题是,即使用户重新安装了应用程序,并且仍然通过了苹果的iTunes提交,我如何实现这一功能

我想出了两种方法,从技术上实现这一功能,但不知道苹果会如何应对

  • 存储IDFA(我知道用户可以代表他们重置id)
  • 将应用程序生成的udid存储到钥匙链(即使用户删除应用程序,也不应删除该udid)

  • 我知道并没有完美的答案,但我希望能和任何试图提交类似应用程序的人,或者任何非常了解苹果指南的人讨论这个问题。谢谢。

    苹果将拒绝不适当使用IDFA的应用程序

    如果您的应用程序不使用服务器登录(此时,您需要的任何标志都可以传递到客户端),那么钥匙链存储将是唯一真正的解决方案

    但是,如果不使用服务器登录,则会阻止设备,而不是用户。这是你的意图吗


    顺便说一句,没有服务器登录,一个确定的用户仍然可以绕过钥匙链存储:

    您可以阻止一个给定的帐户。现在大多数人用电子邮件地址注册帐户。有些人需要信用卡(Facebook完全使用信用卡号验证账户),另一些人需要银行账户(PayPal必须在某处汇款!),而且申请电话号码越来越受欢迎(Twitter正在实现这一目标)。最后,为了真正有效,你必须阻止一些难以生产的东西

    通过电子邮件,您的用户始终可以创建新帐户。查看mailinator.com。或者,你只需要一个域名就可以拥有你想要的任意多个电子邮件地址——我每天使用五个不同的电子邮件帐户,每月使用大约24个

    安装ID正常,但用户始终可以卸载/重新安装。如果你确实设法获得了一个设备识别号(即使在后UDID时代也很容易做到),这样你就可以阻止一个给定的设备,你的用户就可以得到一个新的设备,或者破解你的应用程序使用一些随机值,或者用cURL欺骗你的API。我拥有三部iPhone、两部iPad、两部三星Tab、三部其他Android手机、两部MacBookPros、一部mini、两台PC,我运行三个虚拟Linux设备和一个虚拟XP设备。当有人把一个被屏蔽的设备卖给一个没有滥用的用户时会发生什么


    因此,只需屏蔽用户的帐户,保留优秀的日志文件,并继续进行精彩的战斗。

    谢谢您的帮助。是的,我想阻止设备,我不打算使用服务器登录。我仍然担心,当我使用钥匙链实现这一功能时,苹果是否会拒绝我的应用。你对此有什么建议吗?除非苹果公司明确表示(比如他们使用/误用广告标识),这只是一个猜测,但你所描述的只是钥匙链数据,就像你可能存储的任何其他数据一样。没有明显的担忧。