74 lines
2.2 KiB
Markdown
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 构建不匹配 |
|