Showing results for 
Show  only  | Search instead for 
Did you mean: 

Differences Between Usage Intelligence SDK Version 3 and Version 4

Differences Between Usage Intelligence SDK Version 3 and Version 4

New in Version 4

The following updates are available in Usage Intelligence SDK version 4:

  • Linux support: New C/C++ SDK for Linux.
  • Support for plugins: The Usage Intelligence SDK now supports running in a plugin environment, where multiple applications running as part of a plugin framework or multiple modules in the same application can all make use of the Usage Intelligence SDK independently.
  • Dynamic classes: In order to be able to support plugin environments, the SDK now uses dynamic classes instead of singletons. This requires you to create an instance of the class instead of making use of static functions. Refer to the respective platforms below for more information.
  • Support for shared file path: Usage Intelligence data files now use a new naming convention based on the product ID to allow multiple products to share the same data path.

Deprecated Functions

The following Usage Intelligence SDK functions will no longer be available as of Version 4:

  • Checking for Software Updates - Version check will no longer be supported:

    • C/C++ tbVersionCheck()
    • .NET TBApp.VersionCheck()
    • Objective-C versionCheck()
  • Privacy Mode - Due to a number of new and more sophisticated reports, a client can either be fully tracked or not tracked at all. Privacy can be handled in your application by not calling the Usage Intelligence functions if the user wants to opt out of data collection.

    • C/C++ tbSetPrivacyMode()
    • .NET TBConfig.SetPrivacyMode()
    • Objective-C setPrivacyMode()

Full API Documentation for SDK Version 4

Documentation for Version 4 can be found on the Usage Intelligence SDK Download Links and API Documentation page.


C/C++ Changes

  • Added new function tbCreateInstance() which returns a pointer (TBINSTANCE*). This pointer is required as the first parameter for all functions
  • Added new function tbDestroyInstance() to delete the instance created by tbCreateInstance()
  • The functions tbMessageCheck(), tbMessageCheckWithMessageType(), tbKeyCheck() and tbKeyChanged() now allocate the memory themselves instead of requiring a pointer to pre-allocated arrays
  • Added new function tbFree() to free memory allocated by the Usage Intelligence SDK during message check and key check

.NET Changes

  • Added new dynamic class TBClass which needs to be instantiated, to replace the static classes TbConfig and TbApp

IMPORTANT: In version 4 it is now required to set the file path where the Usage Intelligence config and log files will be created. If you were not previously setting the file path in version 3, the current working directory would have been used. If this is not the same path you used in version 4, upgraded installations will be detected as a new installation. Contact Revenera Support to discuss the best way to avoid this according to your application.

Supported Platforms

The following Windows versions are supported:

  • Windows XP through Windows 10 - 32 and 64 bit
  • Windows 2008 Server through Windows 2012 R2 Server – 32 and 64 bit


  • The Objective-C SDK has been completely re-designed and re-written. Refer to the online documentation for more information
  • Removed dependency on NSURL to address an issue caused by App Transport Security, since when enabled it only allows HTTPS connections

Supported Platforms

The following Mac versions are supported:

  • OS X 10.7 and greater - 64 bit only 


  • No support for ReachOut™ Automatic HTML popup. ReachOut™ Plain Text Message and Plain Text URL can be retrieved using checkMessageReturningMessage() or checkMessageForType()


Supported Platforms

The Linux SDK is supported on 32 and 64 bit and has been tested on the following distributions:

  • CentOS 6.7 - 64 bit
  • Debian 8.4 - 64 bit
  • Debian 8.5 - 32 bit
  • RedHat 5 and 6 - 64 bit
  • Ubuntu 14.04 - 64 bit 


  • No proxy support
  • No support for ReachOut™ Automatic HTML popup. ReachOut™ Plain Text Message and Plain Text URL can be retrieved using tbMessageCheck() or tbMessageCheckWithMessageType()
Labels (1)
Was this article helpful? Yes No
No ratings
Version history
Last update:
‎May 09, 2023 01:41 PM
Updated by: