11. NEX Unique ID

The NEX unique ID is a unique ID issued by the game server.

You can get the NEX unique ID with the UtilityClient::AcquireNexUniqueId or UtilityClient::AcquireNexUniqueIdWithPassword function. The latter function includes a password, so use it when a password is needed. A new NEX unique ID is issued every time one of these functions is called. Both use the same ID system, and they only differ in whether they return a password. To check whether a NEX unique ID is valid and was issued from the server, use the UtilityClient::IsValidNexUniqueId function.

When using UtilityClient, initialize and finalize as you would when using other service clients. (For more information, see Section 4.3 Initializing and Finalizing a Service Client.)

Warning

NEX unique IDs are not unique across game servers. This is also true for server environments. NEX unique IDs are not guaranteed to be unique between a development environment and a production environment, for example.

11.1. Using NEX Unique IDs for Rankings

You can use NEX unique IDs to register scores on a more detailed basis than when using principal IDs alone.

For example, they can be used in situations such as the following.

  • When you want to share the same save data among multiple users and register scores separately for each user
  • When a single user plays a game using multiple characters, and you want to register scores for each character

When using NEX unique IDs, get a NEX unique ID the first time a score is ranked, and pass that ID as an argument to each of the ranking functions. The first time a NEX unique ID is obtained, save it in save data and then retrieve it from the save data from then on.

To register scores on the basis of principal IDs, specify nn::nex::INVALID_UNIQUEID (the default value) for the NEX unique ID.

Comments

You cannot pass values other than NEX unique IDs issued by the game server as arguments to the ranking APIs.

Warning

When using NEX unique IDs issued by the game server, describe how you plan to use them in detail on OMAS, and note the following.

  • When a user deletes save data, there is no longer a way to identify the NEX unique ID that was used. The data remains on the server with no way to be updated or deleted.
  • If the same user repeatedly creates save data, uploads a high score, and then deletes the save data, that user may end up being in first place in the rankings permanently.
  • For friend rankings, if the local user and the friends of that user upload scores under multiple NEX unique IDs, all of those scores (and not just the high score for that user) are included in the rankings because rankings are retrieved on the basis of principal IDs.

11.2. Using NEX Unique IDs With the MatchmakeReferee Feature

With the MatchmakeReferee feature, using a NEX unique ID with password enables management of personal statistics in finer units than with a principal ID.

Get a NEX unique ID with password by using the UtilityClient::AcquireNexUniqueIdWithPassword function, and use the UtilityClient::AssociateNexUniqueIdWithMyPrincipalId function to register an association between the principal ID and the NEX unique ID on the server. The NEX unique ID registered in this way is called the primary associated NEX unique ID. (When registering in a list, the first NEX unique ID is called the primary associated NEX unique ID, and the rest are called associated NEX unique IDs.) After registering a primary associated NEX unique ID, statistics are registered in units of this primary associated NEX unique ID in all subsequent processing .

Among (primary) associated NEX unique IDs registered on the server, for those that were not specified with the UtilityClient::AssociateNexUniqueIdWithMyPrincipalId function, personal statistics associated with them are deleted when UtilityClient::AssociateNexUniqueIdWithMyPrincipalId is called.

For example, if an application has three save data items, and you want to separate the personal statistics for those three, after obtaining NEX unique IDs for each of them, starting the game and logging in to the server, use the UtilityClient::AssociateNexUniqueIdWithMyPrincipalId function to register a list for all of the save data where the NEX unique ID for the save data currently being used is set at the beginning of the list. If the save data is deleted, register the list that does not include the NEX unique ID associated with the deleted save data.


CONFIDENTIAL