Latest news and updates from the PlayFab developers

byZac Bragg 2015-09-29

First Impressions Count: Best Practices for Friction-Free Player Authentication

The first 30 seconds of your mobile game can make the difference between a best-seller and a flop. Bore or irritate your users with complicated login prompts and they're gone. Fail to track any player information, and you might as well be flying blind. Making a great first impression is key to any successful live game.

Let's start by looking at how some of the most successful mobile games handle this crucial stage of the player experience. "Candy Crush Saga" (King), "Kim Kardashian: Hollywood" (Glu Mobile), "Clash of Clans" (Supercell), and "Game of War" (Machine Zone) are very different types of games, but all face this same login challenge. (For consistency, the screenshots below are all taken from the iOS versions of these games, but the same challenge applies to other mobile games as well.)

Initial Screens

Each of these games start with a fast download and an initial friction-free login. Generally, this initial login creates a "guest" account with minimal player details and restricted functionality. Guest accounts then build throughout gameplay into "complete" accounts as players provide more information.

"Kim Kardashian: Hollywood" has the highest friction start of the four, with the familiar GameCenter login prompt popping up immediately. But players can easily skip this and proceed without logging in. They are then landed on the red carpet, ready to begin their rise to the A-list.

Kardashian screenshot Kardashian screenshot Kardashian screenshot
"Candy Crush Saga" has a simpler initial screen. Players have the option to connect with Facebook, but they can also easily ignore it and just hit "play" to get to the overworld where their saga begins.
Candy Crush screenshot

"Clash of Clans" on the other hand, doesn't even have a "start" button. Players are immediately faced with an imminent attack, no time for logins here.

Clash of Clans screenshot Clash of Clans screenshot
"Game of War: Fire Age" also begins immediately, this time with town building and fortification.
Game of War screenshot Game of War screenshot

Getting Players to Give More Information

Once you have users actually playing your game, you want to move them as seamlessly as possible from a partial guest account to a complete one. Successful games do this by incrementally giving players options and incentives for building their account information. These options are provided both early on, such as after a tutorial, or at later strategic times, such as after completing a level or hitting a built-in limit.

One of the ways to induce players to complete their accounts is to highlight the potential risks to them of continuing with guest accounts. Guest accounts created solely with a device ID have no way to reliably verify or communicate with the players using them. This increases the risk that players' progress may be unrecoverable, if they lose access to the mobile device they used to sign in. In other words, if they drop their phone or buy a new one, players using guest accounts would have to start the game from the beginning.

Another approach, usually used alongside the first, is to highlight the benefits or enhancements that players can get if they do complete their accounts. In both cases, successful games will use their own in-game UI to create screens that explain this, rather than simply flipping players into Facebook or other login prompt screens. That way, the explanation feels more like part of learning about the game, and less like a disruption.

"Candy Crush Saga" highlights different benefits of using a Facebook-linked account at different times. The initial prompt highlights that players can share their progress with friends and play across multiple screens. Later on, when players have run out of lives, they are told that they can also extend their play time via friends in their Facebook network.

Candy Crush screenshot Candy Crush screenshot

"Kim Kardashian: Hollywood" is known for its deep social integration, with a facsimile of cellphones, followers and tweeting made part of the core gameplay experience. Entire sections of the game revolve around interacting with your Facebook contacts and so the messaging urging you to connect highlights those elements. followers which can be loaded from your Facebook friends network.

Kardashian screenshot

In "Clash of Clans," players are prompted to enter display names only after they survive their first encounter. The settings menu also gives options for linking to Facebook and using multiple devices, each time with in-game UI and clear messaging that explains players' options.

Clash of Clans screenshot Clash of Clans screenshot

"Game of War: Fire Age" also prompts for more player information, but it places prime emphasis on its own Machine Zone account system. Again, the prompts use both clear messaging as to the risks and benefits while staying within the look and feel of the game.

Game of War screenshot Game of War screenshot

Create a friction-free login flow with PlayFab

Similar low- and no-friction login systems are easy to add with PlayFab. With our SDKs and web tools developers can set up an initial frictionless device ID authentication within minutes. They can then use PlayFab's built-in 3rd-party login flows to craft messaging and prompts to users to get them to add more information at a later stage of the game.

More information about PlayFab's authentication API calls can be found at these links:

Best of all, all of these login flows tie into a single player account. This means that regardless of how a player logs in, developers have a single access point through our GameManager tool for all player data, stats and other account information. This lets you track players as they login and prompt them to organically build out their account information.

Let's look at how you might implement the login flows from each of the games above using PlayFab.

For "Kim Kardashian: Hollywood" and "Candy Crush Saga":

You would first call LoginWithAndroidDeviceID or LoginWithIOSDeviceID to let players log in using just their mobile devices. This would create new accounts if they did not already exist.

Then, later in the game, you would call LinkFacebookAccount to link the player's Facebook credentials to the current account. If the Facebook account was previously linked to another account, you would receive an error message, "AccountAlreadyLinked" and would proceed instead to use LoginWithFacebook to recover the old account. You would then call LinkAndroidDeviceID or LinkIOSDeviceID to link the current device ID to that old Facebook account.

For "Clash of Clans":

You would first call LoginWithAndroidDeviceID or LoginWithIOSDeviceID (with createAccount set to true) to let players log in using just their mobile devices. This would create new accounts if they did not already exist.

Then, after the first engagement, you would call UpdateUserTitleDisplayName to add the player's display name. While the actual "Clash of Clans" game doesn't let players change their display names, there is no such restriction in the PlayFab system, and you could allow players to change this property multiple times.  

Finally, to create the options shown in the settings screen, you would allow users to connect and disconnect from Facebook by calling LinkFacebookAccount or UnlinkFacebookAccount.

For "Game of War: Fire Age":

This is an example of a game connecting not to a social network, but to the game's proprietary MZ account system. You can set up a similar private account system for your players in PlayFab by using a publisher ID across one or more of your games. This ID would then be used when calling any Authentication and Account Management methods.

So, you would first call LoginWithAndroidDeviceID or LoginWithIOSDeviceID (with createAccount set to true, and PublisherId included) to let players log in using just their mobile devices. This would create new accounts if they did not already exist.

At a later point in the game you would prompt players to convert their guest accounts to the equivalent of an MZ account by calling AddUsernamePassword. Once this is done, the device login and LoginWithPlayFab will now both be associated with the same player.

Sample Code

PlayFab's comprehensive backend solution offers multiple login flows to power your game up the charts. Following these well-tested patterns gives you a simple, straightforward method for getting the players to the fun as fast as possible, while allowing them to organically build out their account information. This helps build player retention, provide positive gameplay experiences, and increase the pool of players you have completing your gameplay experience loop. Verifiable identifiers reduce the risk to players of losing their data while increasing the developers' ability to improve the overall player experience.

For an even more detailed example of how to implement login flows for your game, you can download sample code from our Github here.