2012-06-25 4 views
20

Also schreibe ich eine mobile App und habe einen Punkt erreicht, an dem ich Nutzern erlauben muss, einen Benutzernamen zu registrieren. Ich mache das, indem ich nach einer E-Mail-Adresse, einem Benutzernamen und einem Passwort frage.Best Practices für die E-Mail-Bestätigung für mobile Apps

Normalerweise ist es üblich, solche Dinge im Internet einzurichten, indem der Benutzer seine E-Mail-Adresse durch Klicken auf einen Link in seinem Posteingang bestätigt.

Unnötig zu sagen, auf einer mobilen App ist dies ein wenig klobig, da der Benutzer aus Ihrer App und in seinen Browser umgeleitet wird.

Also habe ich mir angesehen, wie andere mobile Apps es machen (WP7) und war überrascht zu sehen, dass DropBox und Evernote es beiden erlauben, sich zu registrieren, ohne Ihre E-Mail Adresse zu bestätigen. Das Endergebnis davon ist, dass ich mich mit völlig falschen E-Mail-Adressen und/oder gültigen E-Mail-Adressen anmelden konnte, die mir nicht gehören.

Ich nehme an, dass dies absichtlich getan wird.

Ihre Gedanken?

+1

Als die Person, die diese Frage ursprünglich gestellt hat, dachte ich nur, ich würde euch ein Update darüber geben, was ich schließlich getan habe. Ich habe die E-Mail-Verifizierung abgeschafft. Ich dachte, dass die Anzahl der Benutzer, die gefälschte E-Mail-Adressen eingeben, ziemlich niedrig sein würde. Ich fand auch heraus, dass jemand, der feststellte, dass seine E-Mail-Adresse bereits verwendet wurde, ein neues erstellen würde, wenn er * wirklich * meine App verwenden wollte. Ich mache jedoch klar, warum es wichtig ist, dass sie die richtigen Informationen eingeben, nämlich, dass sie bestimmte Benachrichtigungen per E-Mail nicht erhalten können. Und für einige Leute ist es besser, – Senkwe

Antwort

6

Ich stieß auf das gleiche Problem beim Schreiben einer Social-Networking-App. Ich habe gewählt, dass der Benutzer einen Benutzernamen erstellt und dann E-Mail und Passwort zur Verfügung stellt. Ich verifiziere die E-Mail-Adresse nicht und habe noch nie versucht, eine E-Mail an sie zu senden.

Was ich vorschlagen würde, wäre alternative Möglichkeiten, die E-Mail-Adresse eines Benutzers zu überprüfen. Meine App ermöglicht Nutzern das Ausführen von Facebook Connect. Alles, was sie tun müssen, ist sich bei Facebook anzumelden, und die App spricht mit Facebook, um zu bestätigen, dass sie eine gültige E-Mail-Adresse verwenden. Keine Notwendigkeit, es mit einer URL in einer E-Mail zu überprüfen.

Ich glaube Twitter hat einen ähnlichen Service und es gibt vielleicht sogar ein paar andere, die eine API bereitstellen.

Ich habe auch festgestellt, dass viele Leute einfach nur in der App basteln und kein Konto erstellen möchten. Es ist definitiv ein Balanceakt

+0

Cherouvim zu drücken. Es sieht so aus, als ob Ihre Frage beantwortet wurde. Wenn dies nicht der Fall ist, formulieren Sie bitte Ihre Frage so um, dass wir genau wissen, worum es sich handelt. – Brian

6

Ich würde sagen, es hängt von Ihrer App ab und wie wichtig es ist sicherzustellen, dass Benutzer gültige E-Mail-Adressen haben. In einer App, die ich gerade erstelle, möchten wir Nutzer davon abhalten, sich mit mehreren gefälschten Accounts anzumelden (weil unser System auf diese Weise gecampt werden könnte). Daher erlauben wir Nutzern nicht, sich erst nach ihrer E-Mail-Adresse anzumelden. Auf anderen Websites ist es vielleicht nicht so eine große Sache, warum also die Benutzer mit diesem zusätzlichen Schritt belästigen?

Wie für ein mobiles Gerät, sehe ich nicht, warum Sie nicht immer noch eine Bestätigungs-E-Mail senden können, die sie an Ihre Website sendet, um ihre E-Mail-Adresse zu überprüfen. Es gibt viele mobile Apps, auf denen sich auch Benutzer anmelden können, um ihr Konto zu verwalten.

1

Haben Sie einen Webserver? Schreiben Sie einen Webdienst, der die Validierung für Sie auf der Serverseite durchführt, und sendet das Ergebnis zurück.

+0

Wie? Ich möchte nicht bestätigen, dass die E-Mail gültig ist, aber dass sie dem bestimmten Benutzer gehört. – cherouvim

+0

Der Server sendet eine E-Mail an die angegebene Adresse. Die E-Mail enthält einen Bestätigungslink, auf den der Benutzer klickt. In dem Ziel stellt der Benutzer seinen Benutzernamen und sein Passwort bereit, wenn dies korrekt ist, dann beweist dies, dass die E-Mail einem Benutzer gehört, der diese geheime Information kennt, und mit sehr guter Sicherheit kann angenommen werden, dass er der beabsichtigte Benutzer ist. Dies ist nicht bahnbrechend, viele Websites verwenden diese Sequenz. –

3

Eine weitere Option sind mehrere "states" für Benutzer. Bevor sie ihre E-Mails validieren, befinden sie sich in einem "ausstehenden" Status. Sobald sie darauf klicken, sind sie in einem "aktiven" Zustand. Wenn Sie die createDate für den Benutzer speichern, können Sie regelmäßig ausstehende Benutzer entfernen, die älter als 1 Woche (oder wie lang) auch immer sind.

Der Bonus besteht darin, dass Sie problemlos weitere Status hinzufügen können, z. B. gesperrt oder gelöscht.

1

Entweder Sie können eine Plattform verwenden, wie Facebook connect, wie @Brian oben geantwortet hat, oder Sie geben Benutzern einen angemessenen Zeitrahmen, um zu überprüfen, zum Beispiel ein paar Tage oder sogar eine Woche. Danach wird das Konto entfernt.

Sie auch Ihre App Problem-Benachrichtigungen haben den Benutzer zu erinnern sein Konto (wie jeden Tag, um zu überprüfen, oder am letzten Tag der Prüfung.

1

fragt auf Handy für E-Mail-Bestätigung nicht und erlaubt Wenn der Benutzer einen PC benutzt, dann bitten Sie den Benutzer, seine E-Mail zu bestätigen

Ich werde meine Empfehlung nicht verteidigen, da die meisten Lösungen hier gültig sind Sie haben nach Ideen gefragt und hier ist eine.

0

Eine gute Strategie ist es, Menschen so viel wie möglich von Ihrer App gi verwenden zu lassen die Menge der Daten, die sie zur Verfügung gestellt haben.

Im Falle eines Newsreaders können Sie beispielsweise zulassen, dass jemand Ihre App ohne Registrierung durchsucht, dann ein Konto für die Offline-Synchronisierung und eine verifizierte E-Mail für Benachrichtigungen benötigt. Geben Sie den Menschen immer einen guten Grund, den nächsten Schritt zu machen, und bauen Sie zuerst Engagement auf, dann werden Ihnen die Leute vergeben, wenn Sie sie später belästigen.

0

Persönlich war ich nicht allzu glücklich für Benutzer, um Konten mit einer alten E-Mail-Adresse zu erstellen.

Ich denke, ein paar anständigen Optionen sind:

  • eine Bestätigungs-E-Mail mit einem Link, ein benutzerdefiniertes URL-Schema verwendet, um die App zu umleiten zurück (obwohl dies nur gut ist, wenn sie den Link verwenden, um auf das gleiche Gerät)

  • senden Sie eine kurze PIN in der E-Mail für sie wieder in die App eingeben.

  • senden Sie eine Bestätigungs-E-Mail mit einem Weblink, lassen Sie Ihren Server die gültige E-Mail/Token bestätigen, und lassen Sie Ihre App den Kontostatus entweder regelmäßig oder mit einer Art Echtzeit-Tech wie SignalR oder Firebase.

Ich bevorzuge die letzte, obwohl am schwierigsten zu implementieren. Ein Benutzer hat sein Handy in der Hand und seinen Laptop neben sich, registriert sich in der App und versucht, auf den Link in der E-Mail zu klicken, die gerade auf seinem Laptop angezeigt wurde. Ich mag die Idee der App, die dann nur "weiß", dass sie validiert hat.