si-m1-face-package/Documentation~/SDK_License_Request.zh-CN.md

74 lines
2.2 KiB
Markdown

# SI-M1 Face SDK 授权申请
DLL-only 公开包在真实串口运行时需要项目专用授权文件。Mock 模式不需要授权。
## 授权文件路径
授权文件必须放在客户 Unity 项目中:
```text
Assets/StreamingAssets/si-m1_face.dat
```
SDK 会通过 `Application.streamingAssetsPath` 读取该文件。
## 需要提供的 Unity 绑定参数
申请授权时需要提供运行 SDK 的 Unity 项目参数:
| 字段 | Unity 读取来源 |
|---|---|
| `identifier` | `Application.identifier` |
| `companyName` | `Application.companyName` |
| `productName` | `Application.productName` |
| `version` | `Application.version` |
| `unityVersion` | `Application.unityVersion` |
这些值任意变化后,已有授权会失效,需要重新申请授权。
## 参数打印脚本
客户可以在项目中临时添加以下脚本,并把 Console 输出发给授权人员:
```csharp
using UnityEngine;
public sealed class FaceLicenseParameterPrinter : MonoBehaviour
{
private void Awake()
{
Debug.Log("identifier=" + Application.identifier);
Debug.Log("companyName=" + Application.companyName);
Debug.Log("productName=" + Application.productName);
Debug.Log("version=" + Application.version);
Debug.Log("unityVersion=" + Application.unityVersion);
}
}
```
## 授权申请信息
建议提供:
| 项 | 示例 |
|---|---|
| 客户名称 | `customer-a` |
| 项目名称 | `Face App` |
| Unity 绑定参数 | 见上文 |
| 授权开始时间 | `2026-08-10T00:00:00+08:00` |
| 授权过期时间 | `2027-08-10T00:00:00+08:00` |
| 授权功能 | `SerialRuntime,Basic,Verify,Enroll` |
授权时间使用北京时间,格式必须为 `yyyy-MM-ddTHH:mm:ss+08:00`
## 常见失败原因
| 现象 | 原因 |
|---|---|
| 授权文件不存在 | `si-m1_face.dat` 没有放在 `Assets/StreamingAssets` 下 |
| 授权绑定不匹配 | Unity 绑定参数发生变化 |
| 授权已过期 | 当前北京时间晚于 `expireAt` |
| 授权尚未生效 | 当前北京时间早于 `issuedAt` |
| 功能未授权 | 授权中不包含当前调用的 SDK 功能 |
| 签名无效 | 授权文件被修改,或与当前 SDK 构建不匹配 |