The SDK V3 Package
The SDK V3 package you receive from Binah.ai includes the following:
- Unique License Key
- Product ID
- The License Key, used to activate any new device is in the following format:
- The License Key is integrated into your application layer and takes part in the activation process. The SDK looks for this value and does not activate our main core if it does not exist or has expired.
- Any end-user device that activates the application for the first time sends its device's unique identifier to our license service, and the activation counter is increased by 1.
- When the activations counter reaches the maximum limit, the SDK does not work with any additional devices.
- When a contract expires, the SDK does not work with any end-user device.
- Activation requires an internet connection to validate a new device and to setup our SDK.
- An internet connection is also needed so the SDK can sync with our license service every 4 days.
- Our SDK layer triggers an Internet connection, activates new devices, and syncs with the devices every 4 days.
- A one-time activation is performed for each new device. All devices sync with the license service every 4 days. The synch keeps the devices aligned with our license service and your SDK features.
Our SDK also periodically checks the expiration date of your contract expiration date. When the license expires, our SDK stops working with the devices.
- A session is a measurement that yields a report or a partial report.
- Each session includes more time after generating the report in case you want to perform additional measurements during the same session (in case you are not satisfied with the result).
Measurement Value (since SDK V3.0.10)
Based on the agreement, we will allocate a measurement value – that is, the maximum number of measurements that can be performed under the license. The number of consumed measurements can also be monitored on the license service dashboard under the metadata, which is further explained here.
- A session will be consumed when measurement starts.
- The total time allowance can be defined using the seconds_per_measurement metadata. (e.g 9 minutes or 540 seconds).
- The timer starts as soon as the user begins the measurement. This will be considered as the start time of the session.
- If the user performs another measurement within the time allowance or the span of time defined in the seconds_per_measurement attribute, it will be counted as the same session.
- For example, the time allowance is set to 10 minutes and the user performs another measurement after 9 minutes and 59 seconds since the beginning of the first test and it took 3 minutes to get the result, it will still be considered as the same session.
- offline_measurements - How sessions will be consumed for each device (In order to work offline).
- offline_measurements_threshold - the amount of license that when reached, the client will pull more measurements (offline_measurements).
- Knowing the remaining time of the session - you can send a request to the SDK for the remaining time of a session - if this time is above 0, then you are on the same session.
Activation and Session Flow
- When a new user installs the app, the user will consume 1 device activation count and a certain number of sessions (say, 50) which can be used to perform measurements offline.
- Every time the user initiates a test or measurement, the SDK will look for the Product ID and License key to activate our main core. The core algorithm will not activate if the License key is either expired, invalid, or has already reached its maximum number of allocated sessions or activations.
- If a user reaches the allocated number of offline sessions, that user will not be able to perform any measurements offline and will need to connect online in order to allocate additional offline sessions - which will then be deducted from the license's "Total Session" count allocation.
Uninstalling the app
In case the user tries to clear the application's cache or uninstall the app (in an attempt to erase consumption records), the user will lose all of his/her allocated sessions.
Moving the app to the background
When accessing the home page or another application (thereby moving the app to the background) the session remains open and continues to track the time remaining until the session ends.
Making a phone call
When making a phone call, the session remains open and continues to track the time remaining until the session ends.
View License Status
Log in to our license service dashboard with the credentials you received when you signed your contract, as explained here.
Data, Storage, and Services
Our services are hosted on AWS and are managed by Heroku.
- As part of using the SDK, some data is gathered from a device and is used for license verification and access control only.
- Binah licensing service data is not used by Binah.ai, and does not collect any vital information! We use Binah licensing service only to enforce the specific license that was acquired.
The following data is collected:
- Token (HashRSA256) - access token to gain access to our API
- Hostname - device model
- "android", "windows" or “ios” string - a flag that indicates if the SDK is used on Android, Windows, or iOS
- SDK version (e.g 3.0.5) - the version of the SDK being used
- User hash - currently set as “user”
- License key - The license key used to access the SDK
Currently, this is global for all SDKs.