Starting the SDK

The startSDK function starts the SDK. startSDK must be paired with a call to stopSDK:.

After the SDK is started, the various event tracking APIs are available to be used. If createConfig did not detect a configuration file, startSDK will perform a New Registration with the Server. Until a New Registration is complete, the SDK will not be able to save event data to a log file or perform synchronization with the Server. A successful New Registration (or presence of a configuration file) will put the SDK into a normal running state, whereby events are saved to a log file, automatic and manual synchronizations with the Server are possible, and getting ReachOut campaigns from the Server are possible. A failed New Registration will put the SDK into an aborted state, not allowing further activity.

startSDK must be called after createConfig, and must be called only once.

startSDK is an asynchronous function, returning immediately with further functionality executed on separate thread(s).

startSDK will always attempt a new registration or sync with the server. This includes sending data to the server regarding past application and event usage that had not been synced yet, product information which has been set by the application and environment data (OS version, CPU, GPU etc..) automatically collected by the SDK. Refer to optOut: for how to configure the SDK to disable tracking an installation.




The startSDK function returns one of the return status constants below.

ruiStartSDK() Returns




Synchronous functionality successful.


Irrecoverable internal fatal error. No further API calls should be made.


A required New Registration has failed, and hence the SDK is aborted. stopSDK: and Objective-C instance release are possible.


The Server has instructed a permanent disable.


Configuration has not been successfully created.


SDK has already been successfully started.


SDK has already been successfully stopped.