Oftentimes you need to offer your potential clients with a trial or demo period for your application.
Zentitle makes this easy and low cost, there are no special license codes required and no limit on the number of trials you can offer your potential clients.
Setting up a trial is quick and explained in "Setup your Products in the NSL V10", in essence you need to setup the number of days you wish to offer as a trial period e.g. 30 days or whatever you wish up to 999 days in the server side Zentitle UI.
Then you simply need to add an end user UI to show them what state their license is in i.e. a trial for X days left etc, or whatever suits your market/application/user base.
There is no need to setup a separate trial Zentitle ProductID, you just use your existing ProductID, and to start a trial on the client just pass a null value into the Zentitle function "NSLGetLicense" as in the code examples we offer across IDEs. Then this will start the trial for that client. The trial will run for this client until the trial period has expired then will require activating using a Zentitle license code.
Once you have the trial setup on both the Zentitle server and client side then you can release (after testing) to your under community and they can install on as many PCs as they wish and try until the trial period expires (you will get a Expired License Status on the client once the trial has expired), at this point you will display them an "activation" dialog and a Zentitle license code is required to lock your software to a specific machine (node lock).
To "activate" a Zentitle license code at the user you will call the Zentitle API function: NSLGetLicense with the Zentitle license code and the product will download the license codes parameters (as set on the server side) and run as activated if there are sufficient "clients allowed" as setup by you on the Zentitle UI. If there are not enough clients due to existing installations for this license code then you will get an alert from the API to that effect.
You will have also setup a client "lease" period (server check interval) that essentially sets the server/client heartbeat interval and it's important that this is set below the trial period so that you can check on the usage of the client regularly i.e. every hour or day. The client lease for Trials is set when configuring the product on the Zentitle UI and this value is the same for all Trials.
Please see example applications for how to do all of this.
FAQ:
Can I use a license code to setup a trial?
If you wish to actually use a license code for a "trial" type experience (often used for NFR licenses etc) then you can also use a "Subscription period" license that you can issue to a customer, and set say 30 day subscription period, and this will act the same as a trial but will allow you to define the parameters for that individual customer as they will need to use the key to access the subscription period.
Are warning messages provided by Zentitle to the trial user as time is nearing the end or do I build that into the software by checking the expiry date of the trial?
You need to build that in to your application, we don’t provide any warnings, we just provide the number of seconds left of the trial or the expiry date.
Does the user need to be online after the initial trial period start or does the local file contain the trial expiry date so that we can just check that within our software?
The client only needs to be online once the Client Lease period has expired. So the client will run locally for as long as its client lease period is still valid then it requires internet access to refresh it's license (Activated or Trial).
Is the lease period on a trial equal to the trial period or is it the default lease period associated with the ProductID?
The Lease period (server check interval) on a trial is not the same as the Trial Period. But you can set it to that if required. If you configure product and then use the advanced settings -> options the "Trial Lease Period" is set here for the product.