1

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

我的问题是,即使用户重新安装应用程序,并且仍然通过Apple的iTunes提交,我该如何实现此功能?

我想出了两种从技术上实现此功能的方法,但想知道 Apple 会如何应对。

  1. 存储 IDFA(我了解用户可以代为重置 id)
  2. 将应用生成的 udid 存储到 Keychain(即使用户删除应用也不应删除)

我知道没有完美的答案,但希望与任何尝试提交类似申请的人或任何了解 Apple 指南的人讨论这个问题。谢谢你。

4

2 回答 2

1

Apple 将拒绝不当使用 IDFA 的应用程序。

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

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

顺便说一句,没有服务器登录,确定的用户仍然可以绕过钥匙串存储:重置设备上的钥匙串

于 2015-03-26T03:55:02.673 回答
0

您可以阻止给定的帐户。如今,大多数人都使用电子邮件地址键入帐户。有些需要信用卡(Facebook 使用信用卡号完全验证帐户),有些需要银行帐户(PayPal 必须在某处汇款!),并且请求电话号码越来越受欢迎(Twitter 正在那里)。最后,要真正有效,您必须阻止难以生产的东西。

使用电子邮件,您的用户始终可以创建一个新帐户。查看 mailinator.com。或者,您只需要一个域来拥有任意数量的电子邮件地址——我每天使用五个不同的电子邮件帐户,每月使用大约两打。

安装 ID 没问题,但用户总是可以卸载/重新安装。如果您确实设法获得了一个设备识别号码(真的很容易做到,即使在后 UDID 时代也是如此),以便您可以阻止给定的设备,您的用户可以只获得一个新设备,或者破解您的应用程序来使用一些随机值,或使用 cURL 欺骗您的 API。我拥有三部 iPhone、两部 iPad、两部三星平板电脑、三部其他 Android 手机、两部 Mac Book Pro、一台 mini、两台 PC,我运行三个虚拟 Linux 机器和一个虚拟 XP 机器。当有人将被阻止的设备出售给非滥用用户时会发生什么?

因此,只需封锁用户的帐户,保留优秀的日志文件,并继续打好仗。

于 2015-03-26T04:04:07.130 回答