Contents
SDK license requirements
The table shows which SDKs are free to use and those which need a license.
SDK Category | SDK | Examples | License Required ? |
---|---|---|---|
Wacom Device Kit | These SDKs are free of charge and do not need a license: | ||
Wintab/Low Level APIs | WacomTablet_6.3.22-6.exe | No | |
Bluetooth Stylus. | Bluetooth_Stylus_SDK_2.1.5-1.zip | No | |
STU SDK | STU-SDK-Windows-2.13.5.zip | No | |
WILL SDK Family | With the exception of WILL for Ink, these SDKs require a license: | ||
WILL SDK for ink | WILL_SDK_Android_1.8.4.zip | No | |
WILL SDK for devices | CDL-Android-1.0.3.zip | Yes | |
WILL SDK for signature | Signature-SDK-Android-1.0.9.zip | Yes | |
WILL SDK for documents | WILL-SDK-Documents-iOS-1.2.0.zip | Yes |
In practice, to download an SDK you will select an SDK Edition which contains a combination of SDKs as follows:
SDK Edition | Includes | SDK Edition License |
---|---|---|
Community Edition | WILL SDK for Ink | - |
Ink Edition | WILL SDK for Ink WILL SDK for devices | - License required |
Signature Edition | WILL SDK for Ink | - License required License required |
Document Edition | WILL SDK for Ink | - License required License required License required |
Wacom Device Kit | Wintab/Low Level APIs Bluetooth Pen STU SDK | - - - |
Types of license and how to get one
From a commercial point of view there are different types of license available and you will need to select one to suit your needs.
License Management System
At this time, production licenses must be requested from your regional Wacom Sales representative. If you do not have contact with a Wacom Sales Representative, please inform us here: Select Contact Sales in https://developer.wacom.com
We are currently developing the License Management System (LMS) for a quick and smooth self-service facility to create and renew licenses. The facility is now available for evaluation licenses and production licenses will be added in due course.
License Types
License type | Description |
---|---|
Evaluation | The licenses are fully functional but expire 3 months after their creation date. An evaluation license can be renewed when required. Evaluation licenses are generated on a self-service basis at no cost using the LMS on https://developer.wacom.com Having created a license it can be downloaded and installed in an application. |
Automated Commercial Production | Commercial production licenses are based on a monthly or annual subscription charge. Current Process: Contact your regional Wacom Sales representative to purchase a license which will be supplied by email. If you do not have contact with a Wacom Sales Representative, please inform us here: Select Contact Sales in https://developer.wacom.com When the LMS is available: Commercial production licenses are generated on a self-service basis using the LMS on https://developer.wacom.com The website uses the Wacom Marketplace to manage the purchase of SDK subscriptions. Having purchased a subscription a license can then be generated and downloaded from https://developer.wacom.com The license expiry date will be one year from its creation, or the expiry date of the subscription whichever is sooner. |
Enterprise Commercial Production | If you are purchasing an Enterprise Edition through your Wacom Sales representative, production license creation is taken care of by the Wacom Enterprise Sales team on your behalf, setting an agreed expiry date. Current Process: Licenses will be supplied by email. If you do not have contact with a Wacom Sales Representative, please inform us here: Select Contact Sales in https://developer.wacom.com When the LMS is available: Upon signing a contract, Enterprise licenses can then be downloaded from https://developer.wacom.com |
Using the License Management System - LMS
This is currently restricted to the management of evaluation licenses:
- Open the Developer Dashboard: https://developer.wacom.com/developer-dashboard To open the page you will need to login with your Wacom ID
- Select Licence Keys to display the Manage License Keys page
- Click New Evaluation License:
- You can now select Generate License for the required product:
A message box indicates that a license has been created:
- Select Licence Keys to return to the Manage License Keys page. License keys are now available for download:
- Click the Download icon to download the license. The license will be saved to a file named 'license.txt' by default.
- At any time you can click the link to 'Renew License' then download a new license with a revised expiry date:
General License Information
Evaluation Licenses
The licenses are fully functional but expire 3 months after their creation date. An evaluation license can be renewed when required. In the case of the Signature SDK a signature captured using an evaluation license will be displayed with an 'Evaluation' watermark:
License format
Licences are generated in the JSON Web Token (JWT) format and are downloaded to a file such as 'License.lic'.
The JWT license contains three sections: Header.Payload.VerifySignature
See https://jwt.io/introduction/ for further details of the JWT format.
The payload section of the license contains field values including:
- license type - evaluation / commercial / enterprise
- expiry date
- App ID
- SDK supported features
The license is supplied as a text string similar to this example:
eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJMTVMiLCJleHAiOjE1MjUxMzI3OTksImlhdCI6MTUyMjMzMzkwNCwicmlnaHRzIjpbIkJBWFRFUl9BQ0NFU1MiLCJDRExfQUNDRVNTIiwiQ0RMX0xJVkVfU1RSRUFNSU5HIiwiQ0RMX1RISVJEUEFSVFlfUEVOUyIsIkNETF9QSFVfMTExIiwiU0lHX1NES19DT1JFIiwiU0lHQ0FQVFhfQUNDRVNTIl0sImRldmljZXMiOltdLCJ0eXBlIjoiZXZhbCIsImxpY19uYW1lIjoiV2Fjb20gRGVtbyBTYW1wbGUiLCJ3YWNvbV9pZCI6bnVsbCwibGljX3VpZCI6IjVjNGM2MmUyLTRiYzUtNGQ2My1hOWY5LTNkZGI4NzZlNTg3NyIsImFwcHNfd2luZG93cyI6W10sImFwcHNfaW9zIjpbXSwiYXBwc19hbmRyb2lkIjpbXSwibWFjaGluZV9pZHMiOltdfQ.iq4w04_Ip5wRobYGvmxHmIrq2KvoE13U8uDjkcncnHVbrENLnQKGVZGueDCfwMtlwhfAZ83u5W7S9wBIkA25xHfxrp969GI0C8PfaQfyGrgbAp4K1WonXdcIF6PU7A5SCjx6PhylUjEw-8SCp7K4Qe14r019ZxD7_dQUlKTjB2mYcrxoZelZ6oRFyPVgAzHZ0VaYcicPtWUGUFSqspos08B_5XjHmrqMAGBgoWeIDwCDKNuKKKRxWinXGYz3kUm8aiC66jlk-B9W8D587jEJ0nPG_bY3k0FCoViU3F5qNRTrRbXfmPnjjsrQfCygKJx1bJwWkJfs3jnT2gP0K-i9oQ
A JWT viewer can be used to display the contents of the license string, for example:
{ "iss": "lms", "aud": "wes", "exp": 1577836800, "iat": 1501580587, "sub": "WILL", "rights": [ "CDL_ACCESS", "CDL_LIVE_STREAMING", "CDL_THIRDPARTY_PENS" ], "given_name": "Will ", "family_name": "Test", "email": "developers@wacom.com", "type": "eval", "lic_name": "WILL Devices Sample", "lic_uid": "d8c3160a5d153af806256fcb9e88803ec5c68a48542a0de6b570fba02ba886e1", "apps_ios": [ "NA" ] }
As you might expect, the license contents can be viewed but not changed since the data is digitally signed.
APP ID
Most licenses require an Application ID (App ID) and this will be required when generating a license on the LMS or when requesting a license from Wacom Sales.
An APP ID is used to publish an application online (e.g. Apple Store or Google Play).
The same ID is used to generate an application license. An example could be:
com.health.mycompany.registration
An App ID is not required for an evaluation license.
License Installation
The method of license installation is application dependent.
Typically the license string will be copied into the application code, for example:
try { InputStream license = assetManager.open("license.lic"); LicenseBootstrap.initLicense(this.getApplicationContext(), LicenseBootstrap.readFully(license)); }
License Expiry
A license becomes invalid when it expires for one of the reasons:
- evaluation expiry date exceeded
- licence expiry date exceeded
When a license expires the related SDK functions cease to operate and instead return a license error code. The error condition must be handled by the application.
An exception to this rule is the WILL SDK for signature:
- Expired production license: when the license has expired the SDK remains fully functional but signatures will be displayed with an 'Evaluation' watermark.
- Expired evaluation license: when the license has expired signature capture will return an error.