名词解释

一、通用概念

  1. WMPF:微信小程序硬件框架(WeChat Mini-Program Framework)。
  2. 小程序框架体验demo:在 wecooper平台 注册账户后,在“快速体验”页面进行下载安装,此demo不可修改,只用于WMPF在设备上的体验小程序操作,具体操作流程见“小程序硬件框架体验Demo指引.pdf”文档。
  3. 小程序框架正式demo:微信侧提供的WMPF Client apk简易版,是Service的调用方;开发者需要参考相关文档在正式demo的基础上二次开发,形成开发者所需的WMPF Client。
  4. WMPF Service apk:又称WMPF框架,作为小程序框架的运行环境,微信会定期更新在GitHub Releases Page,alpha代表有界面,方便调试;product代表没有界面,方便正式使用隐藏进程;arm与arm64分别代表系统32-bit和64-bit。
  5. WMPF Client apk:Service的调用方,又称launcher,以apk的方式运行在安卓系统中,是小程序的容器。开发者需要根据详细接入流程,完成Client的开发(可在微信提供的示例代码基础上二次开发)。
  6. Ticket:在使用体验demo时,可以获得运行小程序的临时权限,ticket是小程序的临时启动凭证。可在wecooper平台中生成,有效期为2小时。
  7. 硬件注册:验dem指将设备的ProductID、deviceID、signature、公私钥等

二、平台ID和硬件注册

  1. hostAppId:又名移动应用ID,它用来表示设备的合作方,所有需要运行的小程序都需要将小程序AppID与你的移动应用ID相绑定。在微信开放平台注册账户后,创建移动应用后获得。
  2. app secret:相当于移动应用ID的密码,用于确保移动应用ID由它的创建者使用。在获得移动应用ID时,同时会获得相应的app secret,请妥善保存。
  3. Product ID:它对应一种设备类型,如果你申请了多个设备类型接入WMPF,你就会获得多个Product ID。每一个合作方申请的Product ID都是独一无二的。Product ID会被用于后续的设备信息上传过程中。在 wecooper平台 注册账户后,在“管理接入设备”页面中进行添加设备类型后获得。
  4. model name:机型的英文名,由开发者决定,在 wecooper平台 注册账户后,在“管理接入设备”页面中进行添加机型时提交。
  5. 公钥:公钥保存在平台方,私钥由合作方本地保管。在github的硬件注册步骤页面,通过公钥生成工具获得(shell方式需要下载相应工具,Java代码方式可直接复制代码),再上传到wecooper平台中。
  6. KeyVersion:公钥版本号,在 wecooper平台注册账户后,在“管理接入设备”页面中进行添加机型时,提交公钥审核通过后获得。
  7. Device ID:由开发者决定,一般是根据imei或者是sn号生成的独一无二的设备标识,需要通过后台API接口提交。
  8. Signature:Device ID对应设备的签名,在github的硬件注册步骤页面,用Signature生成工具,输入私钥文件获得。
  9. Product ID,Device ID,Signature对应关系:Product ID代表某一种产品,如微信相框,每个微信相框都有专属的Device ID和Signature,也就是说出厂的每台微信相框Product ID可以相同,但不可以有相同的Device ID和Signature。Device ID和Signature不可一码多机共用。Device ID和Signature不一定要hard code在代码中,可以根据机器sn码动态生成,也可以动态下发,保证唯一性即可。

三、小程序ID

  1. AppType:小程序的具体版本,0:正式版; 1:开发版[a.k.a测试版];2:体验版,具体在微信公众平台小程序详情页查看。
  2. 小程序APP ID:所要选择小程序的appid
  3. access_token:access_token 是小程序全局唯一后台接口调用凭据,调用绝大多数后台接口时都需使用。开发者可以通过 getAccessToken 接口获取并进行妥善保存。 为了 access_token 的安全性,后端 API 不能直接在小程序内通过 wx.request 调用,即 api.weixin.qq.com 不能被配置为服务器域名。开发者应在后端服务器使用getAccessToken获取 access_token,并调用相关 API。