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

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

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

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

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

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


person Kyosuke Nakajima    schedule 26.03.2015    source источник


Ответы (2)


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

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

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

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

person Brad Brighton    schedule 26.03.2015
comment
Спасибо, что прояснили ситуацию. Да, я хотел заблокировать устройство и не планирую использовать вход на сервер. Я все еще беспокоюсь, не отклонит ли Apple мое приложение, когда я использую связку ключей для такой функции. Есть ли у вас какие-либо советы по этому поводу? - person Kyosuke Nakajima; 26.03.2015
comment
Если Apple специально не говорит что-то (например, они делают с использованием / неправильным использованием рекламного идентификатора), это немного догадка, но то, что вы описываете, - это просто данные цепочки для ключей, как и все остальное, что вы можете хранить. Ничто не вызывает явного беспокойства. - person Brad Brighton; 26.03.2015

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

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

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

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

person QED    schedule 26.03.2015