Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

User Registration for Multi-player online game app (Android)

Options
  • 27-10-2014 10:43pm
    #1
    Registered Users Posts: 3,078 ✭✭✭


    I am looking to make user registration as quick and easy as possible for the member, but yet still have some validation measures in place.

    For example, to use the multi-player on-line portion of the app, a member must be registered.

    To register at minimum I want the user to have a unique user-name, email address and password.

    (I will consider also using FB, G+ etc., but not mandatory for those few without FB, and many without Google+).

    On websites, the typical standard is to get the user to enter their email address twice and get them to click on the confirmation email to fully activate the profile. Mobile apps seem to bypass a lot of this to avoid hindering the on-boarding of users

    I know that for a lot of mobile apps, just accessing and using your phone number (when it has telephony) is sufficient to validate. However for an app that can be used on devices with an without telephony, this won't work. For example, Viber cannot be set-up on a tablet (which has no telephony) unless you already have it set-up on a device with telephony.

    From what I remember, SnapChat asks for an email address, but does not do any validation on it.

    Require users to click link in validation email before giving full access?

    Use AccountManager class to read saved / default email address and validate against that? (Won't work if user enters a secondary email address that is valid for them, but not stored in the AccountManager)

    Don't validate but allow user to change their email address when logged in if they find they entered a wrong one later? (Require validation of new address if changing their email though).

    Any suggestions welcome.


Comments

  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    Basically you want a unique identifier for a user/device. Unfortunately there's no 100% reliable way of doing this.

    As you point out, TelephonyManager.getDeviceId() won't work unless there's a SIM present. Using the Mac address is another approach, but again this won't work if the device has no WiFi.

    Another consideration is that some users may play a game using multiple devices (e.g. tablet at home, phone during the day) but will want to be able to access the same account.

    After a great deal of study on this I found that using a combination of the following three works well and require a minimum of extra permissions, although again, none are 100% reliable:
    • Google Ad ID. Recently added by Google and required by them. That is, as of August 1st, you're have to send this identifier if you're tracking your users. Google don't yet limit you to this yet, but you still have to use it. It's not completely persistent though as a user may elect to junk their ID and generate a new one.
    • Android ID. Good Identifier, but a bit ropey prior to 2.2 and one manufacturer reportedly sent out all their devices out with the same ID. Can be reset with a factory reset.
    • Build Serial. Requires 2.3+. Not all manufacturers seem to have implemented this correctly.
    The current trend at present seems to be to use one or more of these, with linking to a social network such as Facebook as backup if the user changes device or does a factory reset.


  • Registered Users Posts: 3,078 ✭✭✭onemorechance


    Thank you for your reply.

    I do want a unique id for a user / device.

    To register, I will require a username and password. I will also need an email to help administer the account, e.g. reset password. One of my issues here is easing on-boarding; don't require user to click on link in verification email and other such validations that are typical in web registrations.

    Since I will use GCM I guess that I will have a unique registration_id which I can use instead of the Android ID.


Advertisement