Documentation

LoginWithIOSDeviceID

Signs the user in using the vendor-specific iOS device identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user

Request Details

On iOS devices, the identifierForVendor (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/occ/instp/UIDevice/identifierForVendor) must be used as the DeviceId, as the UIDevice uniqueIdentifier has been deprecated as of iOS 5, and use of the advertisingIdentifier for this purpose will result in failure of Apple's certification process. If this is the first time a user has signed in with the iOS device and CreateAccount is set to true, a new PlayFab account will be created and linked to the vendor-specific iOS device ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the iOS device, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked to a single user account, only the one most recently used to login (or most recently linked) will be reflected in the user's account information. We will be updating to show all linked devices in a future release.

LoginWithIOSDeviceIDRequest
Request Properties
CreateAccount Boolean

Automatically create a PlayFab account if one is not currently linked to this ID.

DeviceId String

Vendor-specific iOS identifier for the user's device.

DeviceModel String

Specific model of the user's device.

EncryptedRequest String

Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only).

InfoRequestParameters GetPlayerCombinedInfoRequestParams

Flags for which pieces of info to return for the user.

OS String

Specific Operating System version for the user's device.

PlayerSecret String

Player secret that is used to verify API request signatures (Enterprise Only).

TitleId (required) String

Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected.

POST https://{{TitleID}}.playfabapi.com/Client/LoginWithIOSDeviceID
    Content-Type: application/json
{
  "DeviceId": "29848d9bh8900a0b003",
  "OS": "7.11",
  "DeviceModel": "Iphone 5s",
  "CreateAccount": false,
  "TitleId": "1000"
}
        

Response Details

LoginResult
Result Properties
EntityToken EntityTokenResponse

If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and returned.

InfoResultPayload GetPlayerCombinedInfoResultPayload

Results for requested info.

LastLoginTime DateTime

The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue

NewlyCreated (required) Boolean

True if the account was newly created on this login.

PlayFabId String

Player's unique PlayFabId.

SessionTicket String

Unique token authorizing the user and game at the server level, for the current session.

SettingsForUser UserSettings

Settings specific to this user.

Sample Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
  "code": 200,
  "status": "OK",
  "data": {
    "SessionTicket": "50DF92E291CCD4C3---A54F-8D3909FF54DEE10-B7817722BC94E536.A6DCCFE1C9709ABB",
    "PlayFabId": "50DF92E291CCD4C3",
    "NewlyCreated": false
  }
}

Authentication

None

Possible Error Codes

Name Code
AccountNotFound 1001
InvalidPublisherId 1126
InvalidSignature 1273
InvalidSignatureTime 1324
InvalidTitleId 1004
PlayerSecretAlreadyConfigured 1294
PlayerSecretNotConfigured 1323
RequestViewConstraintParamsNotAllowed 1303