Appearance
Active Users License
When active users licensing is employed, the SDK registers a device on the license server upon the first invocation of the SDK in every calendar month. Once activated, there is no limitation on the number of measurements during that calendar month. The number of allowed activations is based on the terms specified in Binah's license agreement and is configured in the license. The SDK must have a live internet connection upon the user's first SDK usage of the month in order to re-activate the device.
If the SDK failed to register the device on the license server, then the SDK will retry the registration when starting the first measurement, in parallel with the measurement process.
If the SDK failed to communicate with the license server, then the process wil fail and the measurement will end in an error state. See the alerts list page regarding possible network-related errors.
The SDK periodically attempts to sync with the license server to verify license validity and receive configuration updates.
License Activation
License activation is the process of registering a device on the license server.
Upon activation, the SDK receives an activation ID from the licensing server and shares it with the application. If the device was already registered, then the provided activation ID will be the same activation ID as was provided on the last usage of the SDK.
The application can receive the application ID by implementing onLicenseInfo
as part of SessionInfoListener
:
Swift
func onLicenseInfo(licenseInfo: LicenseInfo) {
DispatchQueue.main.async {
print("Activation ID: \(licenseInfo.licenseActivationInfo.activationID)")
}
}
func onLicenseInfo(licenseInfo: LicenseInfo) {
DispatchQueue.main.async {
print("Activation ID: \(licenseInfo.licenseActivationInfo.activationID)")
}
}
Objective-C
- (void)onLicenseInfo:(BNHLicenseInfo *)licenseInfo {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Activation ID: %@", licenseInfo.licenseActivationInfo.activationID);
});
}
- (void)onLicenseInfo:(BNHLicenseInfo *)licenseInfo {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Activation ID: %@", licenseInfo.licenseActivationInfo.activationID);
});
}