# 名词解释

## 通用概念

**WMPF**

微信小程序硬件框架 (WeChat Mini-Program Framework) 。

**小程序框架体验 demo**

在[微信终端合作平台](https://wecooper.weixin.qq.com/)注册账户后，在「快速体验」页面进行下载安装，此 demo 不可修改，只用于 WMPF 在设备上的体验小程序操作。具体操作流程见「[快速体验](demo)」文档。

**小程序框架正式 demo**

微信侧提供的 WMPF Client apk 简易版，是 Service 的调用方；开发者需要参考相关文档在正式 demo 的基础上二次开发，形成开发者所需的 WMPF Client 。

**WMPF Service apk**

又称 WMPF 框架，作为小程序框架的运行环境，微信会定期更新在 [WMPF 发布页面](download)更新。

**WMPF Client apk**

Service 的调用方，又称 launcher ，以 apk 的方式运行在安卓系统中，是小程序的容器。开发者需要根据详细接入流程，完成 Client 的开发（可在微信提供的示例代码基础上二次开发）。

**Ticket**

在使用体验 demo 时，可以获得运行小程序的临时权限，ticket 是小程序的临时启动凭证。可在[微信终端合作平台](https://wecooper.weixin.qq.com/)中生成，有效期为 2 小时。

**硬件注册**

指获取 Product ID、Device ID、Signature、公私钥等。

## 平台 ID 和硬件注册

**HostAppID** 

又名移动应用 ID ，它用来表示设备的合作方，所有需要运行的小程序都需要将小程序 AppID 与你的移动应用 ID 相绑定。在[微信开放平台](https://open.weixin.qq.com/)注册账户后，创建移动应用后获得。参见：[创建移动应用](create-app)，[绑定移动应用和小程序](bind-app)。

**AppSecret** 

相当于移动应用 ID 的密码，用于确保移动应用 ID 由它的创建者使用。在获得移动应用 ID 时，同时会获得相应的 app secret ，请妥善保存。

**access_token**

参见 [HTTP 接口说明](api/backend/intro#access_token)

**Product ID**

它对应一种设备类型，如果你申请了多个设备类型接入 WMPF，你就会获得多个 Product ID 。每一个合作方申请的 Product ID 都是独一无二的。Product ID 会被用于后续的设备信息上传过程中。在 [微信终端合作平台](https://wecooper.weixin.qq.com/) 注册账户后，在「管理接入设备」页面中进行添加设备类型后获得。参见[登记设备信息](reg-device-info)。

**model name**

机型的英文名，由开发者决定，在 [微信终端合作平台](https://wecooper.weixin.qq.com/) 注册账户后，在「管理接入设备」页面中进行添加机型时提交。参见[登记设备信息](reg-device-info)。

**公钥** 

公钥保存在平台方，私钥由合作方本地保管。在[登记设备信息](reg-device-info)步骤中，通过公钥[生成工具](utils)获得（ Shell 方式需要下载相应工具，Java 代码方式可直接复制代码），再上传到 [微信终端合作平台](https://wecooper.weixin.qq.com/)中。

**KeyVersion**

公钥版本号，在 [微信终端合作平台](https://wecooper.weixin.qq.com/)注册账户后，在「管理接入设备」页面中进行添加机型时，提交公钥审核通过后获得。参见[登记设备信息](reg-device-info)。

**Device ID**

由开发者决定，一般是根据 imei 或者是 sn 号生成的独一无二的设备标识，需要通过 addDevice 接口进行注册。

**Signature** 

Device ID 对应设备的签名，在[硬件注册](hardware-register)步骤中，用 Signature 生成工具，输入私钥文件获得。

**Product ID，Device ID，Signature 对应关系**

Product ID 代表某一种产品，如微信相框，每个微信相框都有专属的 Device ID 和 Signature ，也就是说出厂的每台微信相框 Product ID 可以相同，但不可以有相同的 Device ID 和Signature 。Device ID 和 Signature 不可一码多机共用。Device ID 和 Signature 不一定要 hard code 在代码中，可以根据机器 sn 码动态生成，也可以动态下发，保证唯一性即可。

## 小程序相关

**appId**

所要小程序的 appid，注册小程序后，在[微信公众平台](https://mp.weixin.qq.com/)小程序详情页查看。

**AppSecret** 

和移动应用的 AppSecret 类似。相当于小程序 appId 的密码

**access_token**

参见 [小程序 access_token 文档](/miniprogram/dev/server/API/mp-access-token/api_getaccesstoken.md)

**AppType**

小程序的具体版本，0:正式版； 1:开发版[a.k.a测试版]；2:体验版，具体在[微信公众平台](https://mp.weixin.qq.com/)小程序详情页查看。

**sn**

小程序生态下的设备唯一标识，同一个小程序 appId 的同一个 model Id 下，sn 不能重复。sn 应与 WMPF 使用的 Device ID 保持一致。

**snTicket**

[接入小程序硬件生态](/miniprogram/dev/framework/device/device-access.md)的硬件设备，在小程序内进行某些设备相关操作时的[设备票据](/miniprogram/dev/server/API/hardware-device/api_getsnticket.md)，例如授权设备进行[音视频通话](/miniprogram/dev/framework/device/device-voip.md)。

**model Id**

[接入小程序硬件生态](/miniprogram/dev/framework/device/device-access.md)的硬件设备，在[微信公众平台](https://mp.weixin.qq.com/)申请获得的设备型号 ID。
