Opt-Out Mechanism

Starting from version 5.1.0, a new opt-out mechanism was introduced. Using this mechanism, if a user does not want to send tracking information to Revenera, the function RUISDK.OptOut must be called after calling RUISDK.CreateConfig and before RUISDK.StartSDK.

RUISDK.OptOut instructs the SDK to send a message to the server to indicate that this user is opting-out (if not already sent in previous sessions) and disables all further functionality and communication with the server.

When RUISDK.OptOut is called, the SDK sends a message to the Server after startup (RUISDK.StartSDK). This message informs the Server that this client has opted-out and the Server will register the opt-out. This message is only sent to the Server once. The opt-out flag on the Server will be used for reporting opt-out statistics only.

If RUISDK.OptOut is called before a new registration, the Server will never have any data about that installation. If RUISDK.OptOut is called for an installation that was already being tracked, the Server will still contain the data that had been collected in the past and no past data is deleted.

The SDK will send no further information to the server as long as the user is opted-out. The application must keep calling RUISDK.OptOut before every startup as long as the user wants to stay opted-out. If this function is not called, then the SDK assumes that the user is opting-in again and will start tracking normally.

Note:When an installation is not opted-out, it communicates with the Server immediately on calling RUISDK.StartSDK. At this point, the SDK attempts to sync data regarding past application and event usage that had not been synced yet, and also system and product information such as OS version, CPU, GPU, product version, product edition, etc.

RUISDK.OptOut

RUIRESULT RUISDK.OptOut ()

Returns

The RUISDK.OptOut function returns a RUIResult enum value with the following possible values:

RUISDK.OptOut Returns

Return

Description

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. RUISDK.StopSDK and RUISDK destructor are possible.

sdkPermanentlyDisabled

The Server has instructed a permanent disable.

configNotCreated

Configuration has not been successfully created.

sdkAlreadyStarted

SDK has already been successfully started.

sdkAlreadyStopped

SDK has already been successfully stopped.