记一次FinClip实现App内嵌小程序

797 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情 简述: 微信小程序代码以改动量最少的方式嵌入app内,实现版本统一代码统一快速上线的目的。

摘抄FinClip(凡泰)特点:

1.支持多平台终端兼容
无论是手机,电脑,还是IoT都是可以使用的。自带多终端小程序 SDK,简单集成后即可在 iPhone,Android,Windows,Linux,macOS 平台下的应用中运行你的小程序。

2.集成,打包体积小于 3MB
移动 App 集成 FinClip SDK 后,安装包的体积仅仅增大了不到 3MB,让用户在安装 App 时不再为庞大的体积惊讶。这使得APP 更轻量。

3.开发,设计到调试一应俱全
FIDE 支持小程序在线编译 ,细致的开发文档和“手把手教程”快速带你入门,预览代码效果的 App 。当然少不了开发者社群和博客。

4.支持微信小程序原生语法
FinClip 天然支持微信小程序语法 WXML,无需使用第三方跨端跨框架解决方案,即可编译运行已有微信小程序代码,上手简单。

5.灰度发布与统计回归
FinClip提供了面向业务与运营的灰度发布功能,您可以针对不同人群、不同地域设置不同条件,具备超级APP才拥有的“千人千面”灵活效果。

6.小程序全生命周期管理
在 FinClip 管理后台中,可以一键完成小程序上下架,应用关联, 黑白名单域名设置等多种功能,也能够快速查看小程序统计与相关数据,做到了始终以小程序为核心。

一些tips:

FinClip技术,旨在帮助任何企业实现:自主拥有能运行小程序的App、自主拥有小程序商店和生态、同时支持自己的小程序在第三方平台运行、并让小程序和App之间无缝跳转。首先整个产品的定位是一个小程序容器,相当于 App 集成 FinClip SDK 后便拥有了小程序的运行能力,同时 FinClip 兼容微信小程序语法,可快速将微信小程序搬到自有App中,同时支持手机、电脑、智能手表、IoT等终端设备运行小程序,可以做到一端开发,iOS、Android、Windows、MacOS、麒麟等多端运行。FinClip还提供包括管理后台、FinClip助手、FIDE等服务工具,可以帮助企业进行从小程序开发、小程序测试、小程序上下架等整个闭环管理。

一些第三方SDK:

如小程序内使用第三方的sdk技术,需要app原生先行集成封装此sdk。

正向链路:小程序调用app原生方法 ->安卓原生调用第三方sdk

反向链路:第三方sdk回调安卓原生->安卓原生回调小程序(小程序写全局监听方法)

无法避免的问题:

原小程序与微信之间的联系阻断,如获取code,openId等动作无效。

一键登录要替换为其他登录方式,如app的手机号静默注册登录。

微信原生支付要替换为其他支付的方式,App支付或者扫码付。

无法继续实现原订阅消息推送。

无法继续获取微信头像昵称等。

每次app内小程序发版,要在FinClip开发工具上传后进行版本发布,或者导出代码包给app团队。

实现过程:

前置条件:app原生先集成FanClip Sdk。

小程序开发部分:FanClip官网注册账号,下载开发工具和助手,安装开发工具并登录,从开发工具中导入小程序代码,操作开发工具导出代码包,回到官网并登录,创建小程序,会同步生成AppId,回到开发者工具,进行功能开发,以官方文档方法对FinClip环境和微信小程序环境进行区分,阶段开发完成后可以上传代码到AppId项目中,在管理后台进行版本控制及发布。

简图:

image.png 管理后台示例:

image.png FinClip开发工具(FIDE)示例:

image.png

**
**

可能会出现的问题:

开发者工具尚不完善,编译缓慢、编译失败等问题。

工具环境中正常的功能,预览后不一定正常。

工具环境中正常的功能,上传到app环境后,不一定正常。

会有页面样式问题,或者第三方js库FinClip重写后样式问题。

app内小程序缓存问题。