跳到正文

手动接入指南

先完成一次真实功能的授权,再按策略补齐高级能力;这里把平台设置与应用代码放在同一条路径上。

接入前准备好什么?

准备能运行的项目、产品 ID、该产品全部签名公钥、一张测试许可证,以及要保护的功能标识。功能标识必须与已签发许可证一致,区分大小写。

桌面软件、插件和命令行在本机接 SDK;网页应用把真正的授权与业务检查放在可信后端。浏览器界面可以显示状态,但不能决定是否放行。

把接入放进应用的生命周期

  1. 安装并固定版本

    在“客户端 SDK”选择语言,执行对应安装命令。复制产品 ID 和全部密钥 ID / 公钥映射到初始化配置。只信任你明确配置的产品公钥;公钥可以随软件发布,管理 API Key 不可以。

  2. 让客户粘贴授权码

    准备一个激活窗口或交互式命令行。首次测试时,你从平台快速开始复制授权码,粘贴到接入后的软件;正式客户使用你交付给他们的授权码,在软件内激活。不要把测试授权码写死在代码、安装包或日志中。

  3. 启动并恢复授权

    按所选语言的启动示例创建一个长期存活的 client。首次传入客户授权码;以后同一用户启动时可留空,让 SDK 恢复私有设备凭证。处理启动失败并提供重试入口;不要阻塞界面线程。

  4. 保护真正执行业务的位置

    普通功能使用 RunFeature 一类包装方法;配置了计次的功能使用 RunMeteredFeature。把实际业务放进回调,检查失败就不能执行。按钮、快捷键、命令、后台任务和服务端路由都必须经过同一个保护入口。

  5. 显示状态并处理变化

    保持 client 存活,SDK 按策略发送心跳。界面可订阅状态变化,并提供刷新授权入口。临时网络故障只能使用 SDK 判定仍有效的离线授权;收到明确拒绝后停止受保护操作,保留用户已有数据。

  6. 区分退出与解绑

    日常退出时关闭 client,停止后台工作并尝试归还浮动席位;设备绑定登记会保留。只有客户主动换机或解绑时才调用 Deactivate,再关闭 client。不要每次退出都解绑。

上面的名称表示对应操作,不同语言的拼写、异步方式和返回类型以 SDK 参考为准。先选择语言,再复制完整启动示例和所需功能片段。

安装与完整示例 · 九种语言的方法与参数参考

按你的授权规则,补上对应能力

场景需要接入或核对什么
设备绑定与换机使用 SDK 的机器身份与私有缓存,验证复制到另一台电脑不能直接使用。
浮动席位每次进程启动在线取得席位;正确关闭并测试席位已满、租约到期和崩溃回收。
心跳与断网心跳间隔和离线时长分别配置。心跳关闭不代表永久有效,离线截止也不是许可证最终到期时间。
完全离线激活目标电脑生成申请,联网电脑办理响应,返回原电脑导入;策略必须允许该离线方式。
功能计次每个真实任务使用稳定且唯一的任务编号,重试沿用编号;处理预留、确认、取消和崩溃后的实际业务结果。
版本限制与升级启用限制时传入真实 AppVersion;维护期规则需要先发布该版本。升级软件后重新联网取得新版本授权。
客户自助与释放关联客户邮箱、提供门户入口,按需接受临时换机码,并区分正常退出与主动释放设备。
订单与管理自动化仅在自己的服务器使用管理 API Key;创建许可证、续期和通知接收独立于客户端授权检查。

发布前处理好密钥和缓存

把全部受信产品公钥固定在应用配置中,升级时核对新的公钥集合;不要从激活响应直接接纳陌生公钥。设备凭证与缓存留在当前用户的私有目录,不随安装包分发、不跨用户共用。正式版中移除测试授权码和开发用放行逻辑。

继续:上线前验收清单