Stopping a Session
The stopSession: function stops an explicit session started with startSession:.
Explicit sessions are allowed only if createConfig was called with multiSessionEnabled = true. Any explicit sessions not ended with a call to stopSession: are automatically ended when stopSDK: is called. In case this method is never called, eventually this session will be considered as “timed-out”, and the time of the last recorded event will be assumed to be the time when the last event was recorded.
stopSession: can be called between startSDK and stopSDK:, and can be called zero or more times.
stopSession: is a synchronous function, returning when all functionality is completed.
(RUIRESULTOBJC) stopSession: (NSString*)sessionID
Parameters
The stopSession: function has the following parameters.
Parameter |
Description |
sessionID (NSString*) |
This parameter should contain a unique ID that refers to the user session that is being started. This same ID should later be used for Feature / Event Tracking. |
Returns
The stopSession: function returns one of the return status constants below.
Return |
Description |
RUI_OK |
Function successful. |
RUI_SDK_INTERNAL_ERROR_FATAL |
Irrecoverable internal fatal error. No further API calls should be made. |
RUI_SDK_ABORTED |
A required New Registration has failed, and hence the SDK is aborted. stopSDK: and Objective-C instance release are possible. |
RUI_SDK_SUSPENDED |
The Server has instructed a temporary back-off. |
RUI_SDK_PERMANENTLY_DISABLED |
The Server has instructed a permanent disable. |
RUI_SDK_OPTED_OUT |
Instance has been instructed by the application to opt-out. |
RUI_CONFIG_NOT_CREATED |
Configuration has not been successfully created. |
RUI_SDK_NOT_STARTED |
SDK has not been successfully started. |
RUI_SDK_ALREADY_STOPPED |
SDK has already been successfully stopped. |
RUI_INVALID_SESSION_ID_EXPECTED_NON_EMPTY |
The sessionID is expected to be non-empty, and it was not. |
RUI_INVALID_SESSION_ID_TOO_SHORT |
The sessionID violates its allowable minimum length. |
RUI_INVALID_SESSION_ID_TOO_LONG |
The sessionID violates its allowable maximum length. |
RUI_INVALID_SESSION_ID_NOT_ACTIVE |
The sessionID is not currently in use. |