SDK client
Confiez votre fonction au SDK : RunFeature pour l’accès, RunMeteredFeature pour les compteurs. Le SDK gère requêtes, signatures, cache et signaux périodiques.
Go SDK · Java · C · C++ · C# / .NET · Python · JavaScript · Rust · Ruby
Where do initialization arguments come from?
Copiez l’ID du produit dans Console > Produits. Ouvrez les clés publiques de signature du même produit et collez toutes les paires ID de clé/clé publique dans le code d’initialisation, en remplaçant YOUR_PRODUCT_ID, YOUR_KEY_ID et YOUR_PUBLIC_KEY. L’intégration rapide peut générer ce code. Aucun fichier de configuration n’est nécessaire ; le SDK utilise https://www.licentivo.com par défaut.
Initialisez le SDK au démarrage ou lors de l’activation de votre logiciel. Lisez la clé client dans votre formulaire et transmettez l’ID produit et les clés approuvées. Gardez le client jusqu’à la fermeture. Placez RunFeature au point d’entrée métier réel et remplacez l’export par votre fonction.
Install the SDK
Installez une version fixe dans votre projet. Sélectionnez un langage ci-dessus pour afficher les instructions de sa plateforme. L’installation du SDK public ne nécessite pas de clé API de gestion fournisseur.
Version :
Référencer le SDK installé
| Langue | Intégration au projet |
|---|---|
| Go | import licentivo "github.com/spf86/licentivo-sdk" |
| Java | import licentivo.Client; |
| C / C++ | find_package(Licentivo 0.11 REQUIRED) · target_link_libraries(MyApp PRIVATE Licentivo::C) / Licentivo::CPP |
| C# | using Licentivo; |
| Python | from licentivo import Client |
| Node.js | import {Client} from '@licentivo/sdk' |
| Rust | use licentivo::Client; |
| Ruby | require 'licentivo' |
Exécutez le travail protégé via le SDK et fermez client à l’arrêt.
Loading code…Connect initialization and feature checks to your software → · Integrate your own software with AI →
Comment exécuter cet exemple de gestion ?
Définissez d’abord ces variables sur votre serveur LICENTIVO_URL et LICENTIVO_API_KEY, renseignez l’adresse du serveur de licences et la clé de gestion complète. L’exemple lit les produits et affiche le statut HTTP et la réponse.
Renvoie HTTP 200 avec data.items, la requête a réussi. En cas de 401, vérifiez si la clé est complète, expirée ou révoquée. Création et permissions sont expliquées dans Clé API de gestion.
Follow the AI workflow to license your own software →
Comment afficher l’état de l’autorisation ?
Status et FeatureStatus lisent l’état local, sans requête ni attente d’une vérification. Les notifications peuvent actualiser l’interface.
| État | Signification |
|---|---|
active | La dernière vérification en ligne a réussi ; l’autorisation locale est valide. |
offline_valid | La signature locale est valide ; aucune confirmation en ligne n’a réussi depuis le démarrage. |
verification_required | Aucune signature utilisable. Activez ou actualisez en ligne. |
| expired / revoked / released | Le serveur a explicitement refusé l’autorisation. Arrêtez les opérations protégées. |
quota_exhausted | Cette demande dépasse le quota ; les autres fonctions autorisées restent disponibles. |
allowed indique la validité locale ; les fonctions comptabilisées demandent toujours des unités. lease_valid_until est l’échéance du cache signé, pas celle de la licence. code, request_id et retryable indiquent erreur, référence de journal et possibilité de reprise.
Le fichier sdk/README.md du téléchargement décrit les méthodes, callbacks et paquets de chaque langage. Les instructions ci-dessus présentent l’installation par langage. Le site propose aussi des paquets versionnés, des installateurs communs et l’installation hors ligne.
Où placer ces appels dans votre application ?
| Étape de l’application | Action à effectuer |
|---|---|
| Au démarrage ou après saisie de la clé | Appelez OpenWithLicense (constructeur et Start en C++). Le SDK active et lance les heartbeats selon la règle. |
| Avant une fonction payante | Passez votre fonction à RunFeature ; utilisez RunMeteredFeature pour les compteurs |
| Pendant l’exécution | Gardez client actif ; le SDK envoie les heartbeats à l’intervalle défini. |
| À la fermeture de l’application | Close / Dispose / Destroy arrête les heartbeats, rend les postes flottants et conserve les appareils enregistrés. |
| Quand l’utilisateur délie l’appareil | Appelez Deactivate, puis fermez client. |
Les noms du tableau désignent les opérations ; utilisez ceux de l’exemple de votre langage. Pour les heartbeats, caches hors ligne et rafraîchissements, voir Heartbeats et accès hors ligne.