Client vs. Server Managed Licensing
Usage Intelligence gives you the option to choose between managing your license key status (i.e. Blacklisted, Whitelisted, Expired or Activated) and key type on the server (server managed) or managing this status through the application (client managed). Applications can individually set whether each license status or license type is either Sever Managed or Client Managed by visiting the License Key Management Settings page on the Usage Intelligence dashboard. The major difference is outlined below:
Client Managed
The server licensing mechanism works in reporting-only mode and your application is expected to notify the server that the license status has changed through the use of RUI.SetLicenseData.
When to Use
Use client managed when you have implemented your own licensing module/mechanism within your application that can identify whether the license key used by this client is blacklisted, whitelisted, expired or activated. In this case you do not need to query the Usage Intelligence server to get this license status. However you can simply use this function to passively inform Usage Intelligence about the license status used by the client. In this case:
• | Usage Intelligence will use this info to filter and report the different key types and statuses and their activity. |
• | Usage Intelligence licensing server will operate in passive mode (i.e. reporting only). |
• | Calling RUISDK.CheckLicenseKey will return the license type and flags as Unknown (-1). |
Server Managed
You manage the key status on the server side and your application queries the server to determine the status of a particular license key by calling RUISDK.CheckLicenseKey or RUISDK.SetLicenseKey.
When to Use
Use server managed if you do not have your own licensing module/mechanism within your application and thus you have no way to identify the license status at the client side.
In this mode, whenever a client changes their license key your application can call RUISDK.SetLicenseKey to register the new license key. In reply to this API call, the server will check if the license key exists on the key register and in the reply it will specify to your application whether this key is flagged as blacklisted, whitelisted, expired or activated, along with the type of key submitted. If you want to verify a key without actually registering a key change for this client you can use RUISDK.CheckLicenseKey which returns the same values but does not register this key with the server. In this case:
• | The key register is maintained manually on the server by the software owner |
• | Usage Intelligence licensing server will operate in active mode so apart from using this key info for filtering and reporting, it will also report back the key status (validity) to the SDK whenever requested through the API. |
• | Calling RUISDK.CheckLicenseKey or RUISDK.SetLicenseKey will return the 4 status flags denoting whether a registered key is: Blacklisted, Whitelisted, Expired and Activated and the key type. |
• | If the key does not exist on the server, all 4 status flags will be returned as false (0). |