Release obfuscated DLL-only UPM package v0.1.3

This commit is contained in:
su 2026-08-14 17:12:04 +08:00
parent 249fe589c7
commit 1b130a15ed
10 changed files with 176 additions and 8 deletions

View File

@ -1,5 +1,11 @@
# Changelog # Changelog
## 0.1.3
- Updated Runtime and Editor DLLs with hardened license validation.
- Added customer license request documentation.
- Kept internal license generator and source-only sample generation menus out of the public DLL-only package.
## 0.1.2 ## 0.1.2
- Updated public documentation to use the official Git URL: `https://git.aisu.xin/aisu-sdk/si-m1-face-package.git`. - Updated public documentation to use the official Git URL: `https://git.aisu.xin/aisu-sdk/si-m1-face-package.git`.

View File

@ -0,0 +1,73 @@
# SI-M1 Face SDK License Request
This public DLL-only package requires a project-specific license file for real serial-port runtime usage. Mock mode does not require a license.
## License File Path
Place the license file at:
```text
Assets/StreamingAssets/si-m1_face.dat
```
The SDK reads this file through `Application.streamingAssetsPath`.
## Required Unity Binding Parameters
Provide these values from the Unity project that will run the SDK:
| Field | Unity Source |
|---|---|
| `identifier` | `Application.identifier` |
| `companyName` | `Application.companyName` |
| `productName` | `Application.productName` |
| `version` | `Application.version` |
| `unityVersion` | `Application.unityVersion` |
If any of these values changes, the existing license becomes invalid and a new license is required.
## Parameter Probe
Add this temporary script to the customer project and copy the Console output when requesting a license:
```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);
}
}
```
## Request Information
Provide:
| Item | Example |
|---|---|
| Customer name | `customer-a` |
| Project name | `Face App` |
| Unity binding parameters | See above |
| License start time | `2026-08-10T00:00:00+08:00` |
| License expiry time | `2027-08-10T00:00:00+08:00` |
| Licensed features | `SerialRuntime,Basic,Verify,Enroll` |
License times use Beijing time and must use `yyyy-MM-ddTHH:mm:ss+08:00`.
## Common Failures
| Symptom | Cause |
|---|---|
| License file missing | `si-m1_face.dat` is not under `Assets/StreamingAssets` |
| Binding mismatch | One of the Unity binding parameters changed |
| Expired | Current Beijing time is after `expireAt` |
| Not yet valid | Current Beijing time is before `issuedAt` |
| Feature denied | The license does not include the requested SDK feature |
| Invalid signature | The file was modified or does not match this SDK build |

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7f0d681e6f6b4d6a86f6a989cdf55091
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,73 @@
# 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 构建不匹配 |

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9204393b20cb4dd9a9edb6f230fe6d3b
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -10,7 +10,7 @@
|---|---| |---|---|
| Package Name | `xin.aisu.si-m1.face` | | Package Name | `xin.aisu.si-m1.face` |
| Display Name | `AISU SI-M1 Face SDK` | | Display Name | `AISU SI-M1 Face SDK` |
| Version | `0.1.2` | | Version | `0.1.3` |
| Runtime Assembly | `Aisu.SIM1.Face.Runtime.dll` | | Runtime Assembly | `Aisu.SIM1.Face.Runtime.dll` |
| Editor Assembly | `Aisu.SIM1.Face.Editor.dll` | | Editor Assembly | `Aisu.SIM1.Face.Editor.dll` |
| Unity Version | `2021.3` or newer | | Unity Version | `2021.3` or newer |
@ -21,13 +21,13 @@
Add the package through Unity Package Manager using this Git URL: Add the package through Unity Package Manager using this Git URL:
```text ```text
https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.2 https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.3
``` ```
Or add it to `Packages/manifest.json`: Or add it to `Packages/manifest.json`:
```json ```json
"xin.aisu.si-m1.face": "https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.2" "xin.aisu.si-m1.face": "https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.3"
``` ```
Unity may display Git packages as `xin.aisu.si-m1.face@<commit-hash>` in `Library/PackageCache`. This is expected for Git URL packages; the package version remains defined by `package.json`. Unity may display Git packages as `xin.aisu.si-m1.face@<commit-hash>` in `Library/PackageCache`. This is expected for Git URL packages; the package version remains defined by `package.json`.
@ -65,6 +65,7 @@ public sealed class FaceExample : MonoBehaviour
| [Quick Start](Documentation~/SDK_QuickStart.md) | [快速开始](Documentation~/SDK_QuickStart.zh-CN.md) | | [Quick Start](Documentation~/SDK_QuickStart.md) | [快速开始](Documentation~/SDK_QuickStart.zh-CN.md) |
| [Configuration](Documentation~/SDK_Configuration.md) | [配置说明](Documentation~/SDK_Configuration.zh-CN.md) | | [Configuration](Documentation~/SDK_Configuration.md) | [配置说明](Documentation~/SDK_Configuration.zh-CN.md) |
| [API Reference](Documentation~/SDK_API_Reference.md) | [API 参考](Documentation~/SDK_API_Reference.zh-CN.md) | | [API Reference](Documentation~/SDK_API_Reference.md) | [API 参考](Documentation~/SDK_API_Reference.zh-CN.md) |
| [License Request](Documentation~/SDK_License_Request.md) | [授权申请](Documentation~/SDK_License_Request.zh-CN.md) |
| [Mock and Testing](Documentation~/SDK_Mock_And_Testing.md) | [Mock 与测试](Documentation~/SDK_Mock_And_Testing.zh-CN.md) | | [Mock and Testing](Documentation~/SDK_Mock_And_Testing.md) | [Mock 与测试](Documentation~/SDK_Mock_And_Testing.zh-CN.md) |
| [Demo UI Notice](Documentation~/README_UI.md) | [Demo UI 说明](Documentation~/README_UI.zh-CN.md) | | [Demo UI Notice](Documentation~/README_UI.md) | [Demo UI 说明](Documentation~/README_UI.zh-CN.md) |

View File

@ -10,7 +10,7 @@ English documentation: [README.md](README.md).
|---|---| |---|---|
| Package Name | `xin.aisu.si-m1.face` | | Package Name | `xin.aisu.si-m1.face` |
| Display Name | `AISU SI-M1 Face SDK` | | Display Name | `AISU SI-M1 Face SDK` |
| Version | `0.1.2` | | Version | `0.1.3` |
| Runtime Assembly | `Aisu.SIM1.Face.Runtime.dll` | | Runtime Assembly | `Aisu.SIM1.Face.Runtime.dll` |
| Editor Assembly | `Aisu.SIM1.Face.Editor.dll` | | Editor Assembly | `Aisu.SIM1.Face.Editor.dll` |
| Unity Version | `2021.3` 或更高 | | Unity Version | `2021.3` 或更高 |
@ -21,13 +21,13 @@ English documentation: [README.md](README.md).
在 Unity Package Manager 中使用以下 Git URL 导入: 在 Unity Package Manager 中使用以下 Git URL 导入:
```text ```text
https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.2 https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.3
``` ```
或写入 `Packages/manifest.json` 或写入 `Packages/manifest.json`
```json ```json
"xin.aisu.si-m1.face": "https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.2" "xin.aisu.si-m1.face": "https://git.aisu.xin/aisu-sdk/si-m1-face-package.git#v0.1.3"
``` ```
Unity 对 Git URL 包可能会在 `Library/PackageCache` 中显示为 `xin.aisu.si-m1.face@<commit-hash>`。这是 Git 包的正常行为;包版本仍由 `package.json` 中的 `version` 字段定义。 Unity 对 Git URL 包可能会在 `Library/PackageCache` 中显示为 `xin.aisu.si-m1.face@<commit-hash>`。这是 Git 包的正常行为;包版本仍由 `package.json` 中的 `version` 字段定义。
@ -65,6 +65,7 @@ public sealed class FaceExample : MonoBehaviour
| [Quick Start](Documentation~/SDK_QuickStart.md) | [快速开始](Documentation~/SDK_QuickStart.zh-CN.md) | | [Quick Start](Documentation~/SDK_QuickStart.md) | [快速开始](Documentation~/SDK_QuickStart.zh-CN.md) |
| [Configuration](Documentation~/SDK_Configuration.md) | [配置说明](Documentation~/SDK_Configuration.zh-CN.md) | | [Configuration](Documentation~/SDK_Configuration.md) | [配置说明](Documentation~/SDK_Configuration.zh-CN.md) |
| [API Reference](Documentation~/SDK_API_Reference.md) | [API 参考](Documentation~/SDK_API_Reference.zh-CN.md) | | [API Reference](Documentation~/SDK_API_Reference.md) | [API 参考](Documentation~/SDK_API_Reference.zh-CN.md) |
| [License Request](Documentation~/SDK_License_Request.md) | [授权申请](Documentation~/SDK_License_Request.zh-CN.md) |
| [Mock and Testing](Documentation~/SDK_Mock_And_Testing.md) | [Mock 与测试](Documentation~/SDK_Mock_And_Testing.zh-CN.md) | | [Mock and Testing](Documentation~/SDK_Mock_And_Testing.md) | [Mock 与测试](Documentation~/SDK_Mock_And_Testing.zh-CN.md) |
| [Demo UI Notice](Documentation~/README_UI.md) | [Demo UI 说明](Documentation~/README_UI.zh-CN.md) | | [Demo UI Notice](Documentation~/README_UI.md) | [Demo UI 说明](Documentation~/README_UI.zh-CN.md) |

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"name": "xin.aisu.si-m1.face", "name": "xin.aisu.si-m1.face",
"displayName": "AISU SI-M1 Face SDK", "displayName": "AISU SI-M1 Face SDK",
"version": "0.1.2", "version": "0.1.3",
"unity": "2021.3", "unity": "2021.3",
"description": "Unity UPM package for the AISU SI-M1 face recognition module protocol, transport, command services, and lifecycle manager. Distributed as compiled DLLs without source code.", "description": "Unity UPM package for the AISU SI-M1 face recognition module protocol, transport, command services, and lifecycle manager. Distributed as compiled DLLs without source code.",
"author": { "author": {