Automated Message Retrieval

The Usage Intelligence V5 SDK provides a default, automated ReachOut handler that works on Windows and macOS. Developers can override this handler by implementing the ReachOut handler interface with their own code and providing this handler to the RUISDK.SetReachOutHandler function after the creation of the RUISDK object. In brief, the RUIReachOutHandler class has three abstract methods that must be implemented:

Functions Required to Support Custom ReachOut



abstract public void Handle(String width, String height, Int32 position, String message)

Responsible for handling (displaying) the ReachOut message. The parameters are:

width—Width of the window as configured in the ReachOut campaign. Value will be suffixed by P for pixels or % for percentage.
height—Height of the window as configured in the ReachOut campaign. Value will be suffixed by P for pixels or % for percentage.
position—Position where the window should be displayed (1 = top-left, 2 = top-center, 3 = top-right, 4 = middle-left, 5 = middle-center, 6 = middle right, 7 = bottom-left, 8 = bottom-center, 9 = bottom-right).
message—URL to display.

abstract public int GetReadyForNext()

Called by the SDK to see if the handler is ready for the next ReachOut message. A zero value indicates not ready, non-zero indicates ready.

abstract public void Close()

Called by SDK when stopping or shutting down the SDK.

The RUISDK.SetReachOutHandler function sets a custom ReachOut handler. Any previously registered handler, including the default graphical ReachOut handler that may have been registered (RUISDK). Setting a handler to NULL effectively removes the current handler, if any, without setting a new handler.

RUISDK.SetReachOutHandler can be called more than once.

RUISDK.SetReachOutHandler is a synchronous function, returning when all functionality is completed.


RUIResult RUISDK.SetReachOutHandler (RUIReachOutHandler handler)


The RUISDK.SetReachOutHandler function has the following parameters.

RUISDK.SetReachOutHandler Parameters



handler (RUIReachOutHandler

An instance implementing the RUIReachOutHandler interface.


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

RUISDK.SetReachOutHandler Returns




Function successful.


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


The Server has instructed a temporary back-off.


The Server has instructed a permanent disable.


Instance has been instructed by the application to opt-out.


SDK has already been successfully started.


SDK has already been successfully stopped.