# 快速上手

在完成接入流程中的所有步骤后,就可以正式开始 WMPF Client 的代码开发。

WMPF Client 是通过 Kotlin 编写,应该由熟悉安卓开发的同学进行项目开发

# 下载安装 WMPF Service apk

请到 WMPF 发布页面下载:

# WMPF Client 开发

请到 GitHub 仓库上 clone WMPF Client 示例代码,并在此基础上进行自定义的 WMPF Client 二次开发。

# 1. 在 Android Studio 导入项目

在 Android Studio 中导入运行示例代码的 wmpf-demo 目录,将 flavor 切换为 guide

# 2. 填入硬件信息

将前面我们在接入流程中获得的 productIdkeyVersiondeviceIdsignature 依此填入 GuideActivity.kt getDeviceInfo 方法中。

# 3. 填入移动应用信息

将前面我们在接入流程的「创建移动应用」步骤中获取的 HostAppID 和 AppSecret 填入 build.gradlebuildConfigField 中。

注意:AppSecret 需要严格保密,不应流出服务端后台环境,更不应该放到客户端代码中。此处仅作为临时测试使用,相关能力需开发者后台封装接口提供给客户端调用,而不能在客户的直接调用微信提供的服务端接口。

# 4. 集成 aar 文件

wmpf-demo 已经集成了 wmpf-cli.aar,开发者可以按需更新。

在 Android Studio 中集成最新的 wmpf-cli.aar ,这样 WMPF Client 才能与 WMPF Service 进行交互通信。

# 5. 真机运行应用

在安卓设备上运行之前下载的 WMPF Service apk ,通过 Android Studio 上的真机调试功能,编译运行 WMPF Client apk ,然后按下列动图中的步骤操作,你就可以打开小程序了。

# 6. IPC 交互协议

在成功编译运行 WMPF Client apk 后,WMPF 会依据之前提供的硬件注册信息进行设备实时激活,激活成功后才可正常使用。时序图见下方:

阅读 Client 与 Service 的 IPC 交互协议,了解 WMPF Client 如何与 WMPF Service 进行通信,并成功激活设备和 Launch 你自己的小程序。

# 7. 优化 WMPF

WMPF 调用通道(Invoke Channel)

若设备需要调用特殊的本地能力,而手机微信小程序并未定义相关接口,可通过该通道透传相关信息。具体请访问 WMPF 调用通道文档

WMPF 专有接口(JSAPI)

关于未在小程序中定义的特殊安卓接口,部分常用硬件(如打印机设备 SN 码)可以通过 WMPF 专有接口来直接调用。

消息推送能力

小程序未在前台运行时,也可以通过服务器向 WMPF push 消息,开发者可自行定义 push 消息的样式;也可从消息中跳转到小程序或小程序内的指定页面。本能力适用于场景较丰富,同时使用的小程序较多的场景。具体请访问消息推送能力文档

刷脸支付能力

我们可以在刷脸支付的设备上接入小程序,让设备更好地连接微信。具体请访问刷脸支付能力文档

分包加载和预加载

对于硬件性能较差,或网络状况较差的情况,可以通过分包加载来提升小程序启动时的流畅程度;也可启用预加载功能,小程序首次启动后部分数据将存储在本地,下次启动速度会明显优化。具体请访问 Client 与 Service 的 IPC 交互协议文档,并查看 PreloadRuntime 参数。

横屏优化

如果你的设备屏幕方向为横向,但是需要使用手机上为竖屏设计的小程序,可以打开横屏强制居中显示。具体请访问 Client 与 Service 的 IPC 交互协议文档,并查看 LaunchWxaApp 参数。

# 注意

WMPF Client 示例代码中有两个 flavor ,flavor 可以在 Android Studio 中切换。

  • guide:在正式激活硬件后使用,可在此基础上做修改定制后正式上线使用
  • experience:用于在不正式激活硬件的情况下体验 WMPF ,不能用于生产环境