# 硬件注册

**需先完成[「绑定移动应用和小程序」](bind-app)和[「登记设备信息」](reg-device-info)。**

## 1. 获取注册设备接口权限

登录「微信终端合作平台」，点击左侧「申请注册设备」，核对右侧是否已经显示之前[创建的移动应用 ID](create-app) 。

若未显示，则点击「添加」，然后勾选「微信小程序硬件框架」，并在「APP ID」下方填入移动应用 ID 。

![](https://res8.wxqcloud.qq.com.cn/wxdoc/3f0f28a9-5e4e-4b5e-8d53-4ec663e455dc.png)

## 2. 在微信后台注册设备

通过微信后台的 addDevice 接口，对所有希望接入 WMPF 设备的 deviceId 进行注册。

deviceId 由开发者自行生成，一般使用 IMEI 或者是 [设备 SN 码](device-sn)，或是根据它们生成的独一无二的设备标识。

![](https://res8.wxqcloud.qq.com.cn/wxdoc/748a1d2b-321d-409f-80e7-a8e3dc877fe7.png)

## 3. 设备签名

利用之前步骤中获取的 ProductId、deviceId、私钥文件，生成每个设备的签名 Signature。

生成签名可以使用我们提供的[辅助工具](utils#_3-生成硬件签名)完成。

#### 注意：

- Product ID 代表某一种产品，如微信相框。每一个微信相框都有专属的 deviceId 和 Signature ，也就是说出厂的每台微信相框 Product ID 可以相同，但这些微信相框的 deviceId 和 Signature 需对应唯一机器。若出现一码多机共用的情况，WMPF 将无法启动。
- deviceID 和 Signature 不一定要 hard code 在代码中，可以根据机器 sn 码动态生成，也可以动态下发，保证唯一性即可。`productId` 、 `keyVersion` 、`deviceId` 、`signature` 这些参数将用于激活设备。
