Рекомендации по подтверждению электронной почты для мобильных приложений

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

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

Излишне говорить, что на мобильном приложении это немного неуклюжим, как пользователь будет перенаправлен из вашего приложения и в его браузер.

поэтому я посмотрел, как это делают другие мобильные приложения (WP7), и был удивлен, увидев, что DropBox и Evernote позволяют Вам зарегистрироваться, не подтверждая свой адрес электронной почты. Конечным результатом этого является то, что я смог зарегистрироваться с полностью поддельными адресами электронной почты и/или действительными адресами электронной почты, которые мне не принадлежат.

Я предполагаю, что это сделано специально.

ваши мысли?

8 ответов


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

Я бы предложил альтернативные способы проверки адреса электронной почты пользователей. Мое приложение позволяет пользователям делать Facebook Connect. Все, что нужно сделать, это войти в Facebook, и приложение разговаривает с Facebook, чтобы подтвердить, что они используете правильный адрес электронной почты. Нет необходимости проверять его с помощью URL-адреса в электронном письме.

Я считаю, что Twitter имеет аналогичную службу, и может быть даже несколько других, которые предоставляют API.

Я также обнаружил, что многие люди просто хотят возиться в приложении и не создавать учетную запись вообще. Это определенно балансирующий акт


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

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


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

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


У вас есть веб-сервер? Написать веб-службу, которая выполняет проверку на стороне сервера, и отправляет обратно результат.


либо вы можете использовать некоторую платформу, такую как Facebook connect, как @Brian Ответил выше, или вы можете дать пользователям разумные сроки для проверки, например, несколько дней или даже неделю. После этого аккаунт удаляется.

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


не запрашивайте подтверждение по электронной почте на мобильном телефоне и разрешайте пользователю использовать сервис. Когда пользователь использует ПК, попросите его подтвердить свою электронную почту.

Я не буду защищать свою рекомендацию, потому что большинство решений здесь действительны. Нет ни одного правильного пути. Вы просили идеи, и вот одна из них.


лично я не был слишком рад, что пользователи создают учетные записи с любым старым адресом электронной почты.

Я думаю, что несколько достойных вариантов являются:

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

  • отправить короткий PIN-код в электронной почте для них, чтобы войти обратно в приложение.

  • отправить подтверждение электронная почта с веб-ссылкой, ваш сервер подтвердит действительную электронную почту / токен, и ваше приложение проверит статус учетной записи либо периодически, либо с помощью какой-то технологии в реальном времени, такой как SignalR или Firebase.

Я предпочитаю последний, хотя труднее всего реализовать. Пользователь может иметь свой телефон в руке и ноутбук рядом с ними, зарегистрироваться в приложении и попытаться щелкнуть ссылку в письме, которое только что появилось на их ноутбуке. Мне нравится идея приложения, то просто "зная", что они подтвердили.


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

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