User profile
This generation of SDK is deprecated and is no longer supported. Information about the current version can be found here.
In addition to basic methods, you can observe and change the user profiles data. A user profile is the set of properties describing the user, which can be divided into 4 groups:
Cross-platform or custom user identifier. If this identifier is not set by a developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
The default set of user properties, which can be set by a developer. The set of this parameters works with separate methods. This set includes the data of the user's name, sex, age, e-mail, phone number and URL of user picture. Also, this set includes the mark of a user as a cheater.
Custom set of user properties. In this case, a developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array, or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by a developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
The default set of user properties, which can be set by a developer. The set of this parameters works with separate methods. This set includes the data of the user's name, sex, age, e-mail, phone number, and URL of user picture. Also, this set includes the mark of a user as a cheater.
Custom set of user properties. In this case, a developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array, or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
Default set of user properties, which can be set by developer. The set of this parameters works with separate methods. This set includes the data of user's name, sex, age, e-mail, phone-number and url of user picture. Also this set includes the mark of user as cheater.
Custom set of user properties. In this case developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by developer, then the identifier which was set during the initialization is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
Basic set of user properties, which can be set by developer. The set of this parameters works with separate methods. This set includes the data of user's name, sex, age, e-mail, phone-number and url of user picture. Also this set includes the mark of user as cheater.
Custom set of user properties. In this case developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
Default set of user properties, which can be set by developer. The set of this parameters works with separate methods. This set includes the data of user's name, sex, age, e-mail, phone-number and url of user picture. Also this set includes the mark of user as cheater.
Custom set of user properties. In this case developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
Default set of user properties, which can be set by developer. The set of this parameters works with separate methods. This set includes the data of user's name, sex, age, e-mail, phone-number and url of user picture. Also this set includes the mark of user as cheater.
Custom set of user properties. In this case developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
Default set of user properties, which can be set by developer. The set of this parameters works with separate methods. This set includes the data of user's name, sex, age, e-mail, phone-number and url of user picture. Also this set includes the mark of user as cheater.
Custom set of user properties. In this case developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array or boolean. Each project can have up to 30 custom user properties.
Cross-platform or custom user identifier. If this identifier is not set by developer, then the device identifier is used.
Automatically collected properties, including data about user's device, geography, app version, SDK, and some other data which can be received from SDK.
Default set of user properties, which can be set by developer. The set of this parameters works with separate methods. This set includes the data of user's name, sex, age, e-mail, phone-number and url of user picture. Also this set includes the mark of user as cheater.
Custom set of user properties. In this case developer sets any user data he/she needs to know. The data is set in key-value format and can be numeric, string, array or boolean. Each project can have up to 30 custom user properties.
You can segment users by all the properties in My Apps section of an application.
Cross-platform user ID
This method is used for user initialization in the applications that are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the setUserID method call.
If your cross-platform application is supposed to be used without cross-platform authorization, don't use the setUserID method or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will be used until the real cross-platform identifier is assigned to the user.
If your application allows user to re-login (changing the user during the working session of the application), then the setUserID method should be called just after the authorization. You don't need to call the SDK initialization one more time.
/**
* Initializes the user with the specified cross-platform identifier
* @param NSString userId - unique cross-platform user ID used
* for user identification on your server.
*/
[DevToDev setUserId: (NSString *) userId];To see which identifier is used at the moment:
/**
* Returns current cross-platform user id
* @return userId - current cross-platform user id
*/
[DevToDev getUserId];This method is used for user initialization in the applications which are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the setUserID method call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the setUserID method or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will we used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the setUserID method should be called just after the authorization. You don't need to call the SDK initialization one more time.
/**
* Initializes the user with the specified cross-platform identifier
* @param String userId - unique cross-platform user ID used
* for user identification on your server.
*/
DevToDev.setUserId(String userId);To see which identifier is used at the moment:
/**
* Returns current cross-platform user id
* @return userId - current cross-platform user id (or null, if sdk not initialized)
*/
DevToDev.getUserId();This method is used for user initialization in the applications which are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identiticator from the previous session will be used since the SDK initialization moment till the UserID property call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the UserID property or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will we used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the UserID property should be called just after the authorization. You don't need to call the SDK initialization one more time.
This property also allows you to see which identifier is used at the moment.
This method is used for user initialization in the applications which are the parts of cross-platform project. You also can use this identifier in non-crossplatform projects, but in your app the own unique user identifier is used.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the setCrossplatformUserId method call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the setCrossplatformUserId method or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will be used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the setCrossplatformUserId method should be called just after the authorization. You don't need to call the SDK initialization one more time.
To see which identifier is used at the moment:
This method is used for user initialization in the applications which are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the UserID property call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the UserID property or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will we used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the UserID property should be called just after the authorization. You don't need to call the SDK initialization one more time.
This property also allows you to see which identifier is used at the moment.
This method is used for user initialization in the applications which are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the setUserID method call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the setUserID method or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will we used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the setUserID method should be called just after the authorization. You don't need to call the SDK initialization one more time.
To see which identifier is used at the moment:
This method is used for user initialization in the applications which are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the setUserID method call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the setUserID method or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will we used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the setUserID method should be called just after the authorization. You don't need to call the SDK initialization one more time.
To see which identifier is used at the moment:
This method is used for user initialization in the applications which are the parts of cross-platform project.
We recommend you to apply this method before the SDK initialization, otherwise the user identifier from the previous session will be used since the SDK initialization moment till the setUserID method call.
If your cross-platform application supposes to be used without cross-platform authorization, don't use the setUserID method or use the empty string ("") as the user identifier. SDK will assign the unique identifier to user. This identifier will we used until the real cross-platform identifier assigns to the user.
If your application allows user to re-login (changing the user during the working session of application), then the setUserID method should be called just after the authorization. You don't need to call the SDK initialization one more time.
Blueprint

Field
Type
Description
User Id
FString
Unique cross-platform user id
Code
To see which identifier is used at the moment:
Blueprint

Code
Replace Cross-platform user ID
If it is possible to replace the user identifier in your application (for example, to make changes in the login/user id for a particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the cross-platform user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
If it is possible to replace the user identifier in your application (say, to make changes in the login/user id for particular user), use this method at the moment of replacing the identifier.
Don't use this method if you're going to perform the user's re-login.
Blueprint

Field
Type
Description
From
FString
Current user Id
To
FString
New user Id
Code
Current user level
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the setCurrentLevel method just after the user initialization (using the setUserID method).
Don't use the setCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the setCurrentLevel method just after the user initialization (using the setUserID method).
Don't use the setCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the SetCurrentLevel method just after the user initialization (using the UserID method).
Don't use the SetCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
If your app uses the user's level mark, we recommend to use this method after every SDK initialization, as soon as data of user's level is available to the application.
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the SetCurrentLevel method just after the user initialization (using the UserID method).
Don't use the SetCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the setCurrentLevel method just after the user initialization (using the setUserID method).
Don't use the setCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the setCurrentLevel method just after the user initialization (using the setUserID method).
Don't use the setCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
This method is used in cross-platform applications and applications with data synchronization.
This method is required for user's level data initialization. We recommend you to use the setCurrentLevel method just after the user initialization (using the setUserID method).
Don't use the setCurrentLevel method at the moment of user's level up. We recommend you to use the levelUp method in this case.
Blueprint

Field
Type
Description
Level
int32
Current user level
Code
Cheater
In case you have your own methods of determining cheaters in the application, you can have such users marked. Payments made by them will not be taken into account in the statistics.
Blueprint

Field
Type
Description
isCheater
bool
True if user is a cheater
Code
Name
User's name. Default user profile property.
We strongly recommend not to use this property because it refers to personal data.
Blueprint
--
Field
Type
Description
Name
FString
User's name
Code
Age
User's age in years. Default user profile property.
We strongly recommend not to use this property because it refers to personal data.
Blueprint

Field
Type
Description
Age
int32
User's age in years
Code
Gender
User's gender. Default user profile property.
We strongly recommend not to use this property because it refers to personal data.
Blueprint

Field
Type
Description
Gender
FString
User's gender ('male', 'female', 'unknown')
Code
E-mail
User's e-mail. Default user profile property.
We strongly recommend not to use this property because it refers to personal data.
Blueprint

Field
Type
Description
FString
User's e-mail
Code
Phone number
User's phone. Default user profile property.
We strongly recommend not to use this property because it refers to personal data.
Blueprint

Field
Type
Description
Phone
FString
User's phone
Code
Photo
User's photo URL. Default user profile property.
We strongly recommend not to use this property because it refers to personal data.
Blueprint

Field
Type
Description
Photo
FString
User's photo URL.
Code
Custom user property
Each project in devtodev can have up to 30 custom user properties.Here is how you can set properties on the current user profile:
Attention! We strongly recommend that you do not use these properties to transfer and store data that fits the definition of personal data!
Blueprint

Field
Type
Description
Attributes
TArray<FAnalyticsEventAttr>
Key-value array to set custom property, where key is a user property name, value is a property value
Code
Increment of the custom property
Increments the given numeric properties by the given values.
Blueprint

Field
Type
Description
Attributes
TArray<FAnalyticsEventAttr>
Key-value array, where key is a user property name, value is increment step
Code
Append to custom property (deprecated)
Adds values to a list-valued property. If the property does not currently exist, it will be created with the given list as it's value. If the property exists and is not list-valued, the append will be ignored.
Union with custom property (deprecated)
Adds values to a list-valued property only if they are not already present in the list. If the property does not currently exist, it will be created with the given list as it's value. If the property exists and is not list-valued, the union will be ignored.
Removing of the custom property
Removes a property or a list of properties and their values from the current user's profile.
Blueprint

Field
Type
Description
Attributes
TArray<FString>
An array of property names to be removed.
Code
Clearing of the all custom properties
Blueprint

Code
Last updated
Was this helpful?
