SDK cliente
Entregue sua função ao SDK: RunFeature para permissões, RunMeteredFeature para contadores. O SDK cuida de requisições, assinaturas, cache e sinais periódicos.
Go SDK · Java · C · C++ · C# / .NET · Python · JavaScript · Rust · Ruby
Where do initialization arguments come from?
Copie o ID do produto em Console > Produtos. Abra as chaves públicas de assinatura do mesmo produto e insira todos os pares ID da chave/chave pública no código de inicialização, substituindo YOUR_PRODUCT_ID, YOUR_KEY_ID e YOUR_PUBLIC_KEY. A integração rápida pode gerar esse código. Não é necessário um arquivo de configuração; o SDK usa https://www.licentivo.com por padrão.
Inicialize o SDK ao iniciar ou ativar seu software. Leia a chave do cliente no formulário e passe o ID do produto e as chaves confiáveis. Mantenha o cliente até o encerramento. Coloque RunFeature na operação real e substitua a exportação pela sua função.
Install the SDK
Instale uma versão fixa no projeto da aplicação. Selecione a linguagem acima para ver as instruções da plataforma. A instalação do SDK público não exige uma chave de API de administração do fornecedor.
Versão:
Como referenciar o SDK instalado
| Idioma | Integração ao projeto |
|---|---|
| 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' |
Execute a operação protegida pelo SDK e feche client ao sair.
Loading code…Connect initialization and feature checks to your software → · Integrate your own software with AI →
Como executar este exemplo de gestão?
Primeiro defina estas variáveis no servidor LICENTIVO_URL e LICENTIVO_API_KEY, informe a URL do servidor de licenças e a chave de gestão completa. O exemplo lista os produtos e mostra o status HTTP e a resposta.
Retorna HTTP 200 contendo data.items, a requisição foi concluída. Para 401, verifique se a chave está completa, expirada ou revogada. Criação e permissões estão em Chave API de gerenciamento.
Follow the AI workflow to license your own software →
Como exibir o estado da autorização?
Status e FeatureStatus leem o estado local sem solicitações ou espera pela verificação. Use notificações para atualizar a interface.
| Status | Significado |
|---|---|
active | A última verificação online foi bem-sucedida; a autorização local é válida. |
offline_valid | A assinatura local é válida; ainda não houve confirmação online desde a inicialização. |
verification_required | Nenhuma assinatura utilizável. Ative ou atualize online. |
| expired / revoked / released | O servidor negou a autorização explicitamente. Interrompa operações protegidas. |
quota_exhausted | Esta solicitação excedeu a cota; outros recursos autorizados continuam disponíveis. |
allowed indica a validade local; recursos medidos ainda solicitam unidades. lease_valid_until é o prazo do cache assinado, não o vencimento da licença. code, request_id e retryable indicam erro, referência do log e possibilidade de repetir.
Consulte sdk/README.md no download para os métodos, callbacks e uso dos pacotes de cada linguagem. As instruções acima mostram a instalação por gerenciador de pacotes. O site também oferece pacotes versionados, instaladores comuns e instalação offline.
Onde colocar isso no aplicativo?
| Etapa do aplicativo | O que fazer |
|---|---|
| Ao iniciar ou após informar a chave | Chame OpenWithLicense (construtor e Start em C++). O SDK ativa e inicia heartbeats conforme a política. |
| Antes de recursos pagos | Passe a função a RunFeature; use RunMeteredFeature para contadores |
| Durante a execução | Mantenha client vivo; o SDK envia heartbeats no intervalo da política. |
| Ao sair do aplicativo | Close / Dispose / Destroy para heartbeats, devolve vagas flutuantes e mantém registros vinculados. |
| Quando o usuário desvincula | Chame Deactivate e feche client. |
Os nomes indicam operações; use os métodos exatos do exemplo da sua linguagem. Para heartbeats, cache offline e atualização online, veja Heartbeats e acesso offline.