Developer Zone

Custom Properties

Apart from the pre-set values that Revulytics Usage Intelligence collects, such as OS version, product version, edition, language, license type, etc. you also have the possibility to collect any custom value that is relevant to your specific application.

Typical examples where you can benefit from custom properties include storing the download source or marketing campaign from where the user downloaded your software or else some other status in your application. These custom properties will then be available inside the filters panel on every report so you may use them as part of your report filtering criteria.

Please note that Custom properties are intended to store values that are not very dynamic for a particular installation since the reporting granularity provided by Revulytics Usage Intelligence is on a daily basis. This means if you use this API to register multiple values inside the same custom property (for the same user), Revulytics Usage Intelligence will only store the latest known property value for that user on that particular day.

Note: By default you can store up to 1000 unique values inside every custom property. Please contact Revulytics Usage Intelligence support (support-rui@revulytics.com) if you want to discuss this limit or alternative uses.

RUIResult SetCustomProperty (UInt32 customPropertyID, String customValue)

This method is used to set the value of a custom property.

Parameters:

customPropertyId (UInt32) - This is a numeric index between 1 and 20. On the Revulytics Usage Intelligence dashboard,
custom values are given an ID ranging from C01 to C20. This ID is used to identify which of the 20 possible custom value is being set.

customValue (String) - The custom property value to use in RUI Server reports; null clears the value.

Return Type:

RUIResult enum value with the following possible values:

* ok                                     Function successful.
* sdkInternalErrorFatal                  Irrecoverable internal fatal error.  No further API calls should be made.
* sdkAborted                             A required New Registration has failed, and hence the SDK is aborted.  StopSDK and RUISDK destructor are possible.
* sdkSuspended                           The RUI Server has instructed a temporary back-off.
* sdkPermantelyDisabled                  The RUI Server has instructed a permanent disable.
* sdkOptedOut                            Instance has been instructed by the application to opt-out.
* configNotCreated                       Configuration has not been successfully created.
* sdkAlreadyStopped                      SDK has already been successfully stopped.
* invalidCustomPropertyID                The customPropertyID violates its allowable range.