Как реализовать функцию приостановки пользователя в iOS

В приложении для iOS, когда я обнаруживаю неподобающее действие пользователя (например, публикую контент с насилием), я не хочу откладывать использование моего приложения пользователем. Основная идея для реализации этой функции заключается в создании и сохранении уникального идентификатора для каждой установки приложения и приостановке использования из API сервера.

Мой вопрос заключается в том, как я могу реализовать эту функцию, даже если пользователь переустанавливает приложение и все еще передает заявку Apple на iTunes?

Я придумал два способа технически реализовать эту функцию, но мне было интересно, как Apple отреагирует.

  1. Сохраните IDFA (я понимаю, что пользователи могут сбросить идентификатор от своего имени)
  2. Сохраните приложение, сгенерированное udid, в связку ключей (которую не следует удалять, даже если пользователь удаляет приложение)

Я знаю, что нет идеальных ответов, но был бы рад обсудить эту проблему с кем-либо, кто пытался представить аналогичное приложение, или с кем-то, кто хорошо знает руководящие принципы Apple. Спасибо.

2 ответа

Решение

Apple будет отклонять приложения, которые ненадлежащим образом используют IDFA.

Если ваше приложение не использует регистрацию на сервере (в этот момент любые требуемые флаги могут быть доставлены клиенту), хранилище цепочки для ключей будет единственным реальным решением.

Однако, если вы не используете логин на сервере, вы блокируете устройство, а не пользователя. Это твое намерение?

Кстати, без входа на сервер определенный пользователь все еще может обойти хранилище цепочки для ключей: сбросить цепочку для ключей на устройстве

Вы можете заблокировать данный аккаунт. Большинство людей в наши дни вводят учетную запись с адресом электронной почты. Некоторым требуется кредитная карта (Facebook полностью проверяет учетные записи с использованием номеров кредитных карт), другим требуется банковский счет (PayPal должен куда-то отправлять деньги!), И популярность запроса номера телефона растет (Twitter становится там). В конце концов, чтобы быть по-настоящему эффективным, вы должны заблокировать то, что сложно произвести.

С электронной почтой ваши пользователи всегда могут создать новую учетную запись. Проверьте mailinator.com. Кроме того, все, что вам нужно, это один домен, чтобы иметь столько адресов электронной почты, сколько вы хотите - я использую пять разных учетных записей электронной почты ежедневно, и я использую еще около двух десятков в месяц.

Идентификаторы установки в порядке, но пользователи всегда могут просто удалить / переустановить. И если вам удастся получить идентификационный номер устройства (это действительно легко сделать даже в эпоху после UDID), чтобы вы могли заблокировать определенное устройство, ваши пользователи могут просто получить новое устройство или взломать ваше приложение для использования. какое-то случайное значение или подделка вашего API с помощью cURL. У меня есть три айфона, два айпада, две вкладки Samsung, три других телефона Android, два Mac Book Pro, мини-компьютер, два компьютера, и я использую три виртуальных Linux-бокса и один виртуальный XP-бокс. И что происходит, когда кто-то продает заблокированное устройство неагрессивному пользователю?

Так что просто заблокируйте учетную запись пользователя, ведите отличные лог-файлы и продолжайте сражаться.

Другие вопросы по тегам