兼容支付宝抖音小程序的工具还能把他们迁移到自己的app

news/2024/7/20 4:10:45 标签: 小程序, 前端框架, 移动开发

事情的起因是这样的。

之前在微信、支付宝和抖音开放平台都上架了自己的小程序,虽然几个平台有自己的开发标准,但是都是基于 JavaScript 这种已经被广泛使用的编程语言进行开发的,对于开发者而言学习的门槛并不高,也很容易进行开发。

并且几个平台尽管代码不相通也不能直接使用,但是 GitHub 上面一搜还是有好几款代码包转换工具可以用,例如微信小程序使用 Antmove 就可以转成支付宝小程序开放平台支持的代码包,总之整个使用的门槛还是比较低的。

在这里插入图片描述

但是好死不死的微信开放平台时不时就要提醒违规,虽然明白在流量平台上运营就要遵守他们制定的游戏规则,但实话还是很影响自己的业务运行情况。

在这里插入图片描述

于是产生了一个念头:我把小程序直接搬到自己app同步运行如何,就算在微信端被封了,也能在支付宝、抖音平台使用,退一万步还能在自己的app跑。

好了到了技术线路调研和选型的环节。

有同学可能会说你这个可以用 uniapp 的框架实现,但是很不幸运的是我的小程序最早是用微信原生语法写的,并不是采用的 uni 的方案,所以这条路就没有再去考虑。

另外自己开发了小程序后并不想再通过h5的形式去实现一遍,所以就只考虑小程序运行的方案。

小程序容器技术

在 GitHub 和搜索引擎大概搜了一圈,确实有这类成熟的技术,市面上大家会称之为小程序容器技术例如FinClip,它的原理其实并不难理解,就是在宿主应用中通过集成 SDK 的形式让宿主应用 App 具备小程序的运行能力,之前微信、支付宝等平台是将这个技术仅用于内部,现在有企业将技术封装好进行市场化。

在这里插入图片描述

小程序 SDK 提供了一套可运行小程序业务代码的安全沙箱与宿主环境:
● 安全沙箱负责保护小程序中的业务应用,在安全可信的环境中传输数据,避免第三方的干扰与窃听;
● 宿主环境负责执行小程序 JS 业务逻辑代码,并使用 WebView 渲染展示小程序页面

小程序运行 SDK 集成

由于我自己的 App 是用的 Flutter ,所以也特别看了下在这种框架下 FinClip SDK 做了支持,一般来讲 Flutter 版本高于 2.2.3 就可以进行集成,整个过程分2步也并不难这里也就不多说了,另外各个厂商也有自己的文档介绍,跟着来做就好。

首先在集成 SDK 前需要先在平台去创建应用并绑定小程序,这样能获得每个应用专属的 SDK KEY 及 SDK SECRET 后,随后方便在集成 SDK 时填写对应的参数。

打开小程序时 SDK 会自动初始化,并校验 SDK KEY ,SDK SECRET 与 BundleID(Application ID) 是否正确。

其后在项目 pubspec.yaml 文件中添加依赖及示例小程序 Demo 的测试。

小程序代码包上传及编译

其后在开发工具上传自己的小程序代码包就好了,这里我以集成的 FinClip SDK 为例,从实际的测试效果来看是可以直接编译现有的微信小程序代码包,说明是能够直接兼容的。官方在工具的顶部也有明确标注支持微信、字节和支付宝小程序,个人认为这个功能点还是非常有用的,至少不用几个平台瞎折腾相互去转换。
在这里插入图片描述

支付宝小程序代码包直接用开发工具打开的一个测试的效果,整体的支持度还是挺不错的。
在这里插入图片描述

再来看看抖音小程序代码包放到开发工具中的效果。
在这里插入图片描述

从支付宝和抖音小程序的实际测试来看都还不错,说明产品的成熟度还是做的很不错。
下面是小程序在 App 中实际运行的效果,和在微信端打开没有太大的效果差异,感觉还是可以的。
在这里插入图片描述

打个小结

小程序放到 App 中运行是在特殊场景下的需求。
首先例如小程序的运行在微信、支付宝等开放平台遇到较为明显的影响可以切换到自己的 App 中去运营。
其次对微信、支付宝等平台有小程序的运营需求,同时自己的 App 中也需要运行小程序同样的业务,这个时候可以通过同一套小程序代码多端运行,无需再去重复的开发。


http://www.niftyadmin.cn/n/5103436.html

相关文章

LabVIEW应用开发——控件的使用(二)

上篇介绍数值型控件和布尔型控件,这篇介绍字符串、路径控件、下拉框和数组控件。 LabVIEW应用开发——控件的使用(一) 1、字符串控件 实际应用中,字符串控件的显示很常用的,可用于显示串口信息、通讯交互信息、…

uniapp开发微信小程序,webview内嵌h5,h5打开pdf地址,解决方案

根据公司要求,让我写一个h5,后续会嵌入到合作公司的微信小程序的webview中,如果是自己公司微信小程序,可以采取先下载下来pdf,然后通过wx.openDocument,进行单纯的预览操作,这个可以根据这个老哥…

2023年中国精准护肤发展现状及趋势分析:未来皮肤实现定制化诊断成趋势[图]

精准护肤是深度融合光电科技与精准医学在皮肤上的实践,以皮肤问题为导向通过研究挖掘各类皮肤问题发生发展的生理机制、环境因素,找寻相应的靶点并选择活性成分与光电技术,利用现代医疗技术实现能量/成分靶向传递,并通过不同人群的…

提高倾斜摄影三维模型顶层合并构建效率的技术方法初探

提高倾斜摄影三维模型顶层合并构建效率的技术方法初探 高效提高倾斜摄影三维模型顶层构建的技术方法有许多,本文将介绍几种常见的方法,并分析它们的优势和适用场景。这些方法包括数据处理与预处理、并行计算与分布式处理、智能化算法与模型优化等。 一、…

FXL6408UMX一款完全可配置的8位12C控制GPIO扩展器

FXL6408UMX是一款8位I 2 C受控的GPIO扩展器。当配置为输入模式时,FXL6408监控用于数据转换的输入端口,并通过指定/ INT引脚的所有输入可配置上拉或下拉电阻,在漏极开路或非驱动应用场景预偏置输入。当配置为输出模式时, GPIO引脚根…

View 体系 - Activity、Window、DecorView、ViewRoot

一、概念 定义作用具体描述Activity控制器 控制生命周期、处理事件 管理视图的添加与显示(内部持有一个Window),通过回调与 Window 及 View 进行交互。 不负责视图控制,真正控制视图的是 Window,它真…

GitHub-使用 Git工具 创建密钥id_rsa.pub

快速导航 步骤1 打开Git Bash步骤2 输入指令【ssh-keygen】步骤3 打开创建的公钥文件步骤4 复制其中所有内容步骤5 打开GitHub中的Setting界面步骤6 添加SSH keys 步骤1 打开Git Bash 打开Git Bash 工具 步骤2 输入指令【ssh-keygen】 输入指令【ssh-keygen】,并…

Unity3D 如何制作带厚度的透明图片详解

Unity3D是一款功能强大的游戏开发引擎,可以实现各种复杂的游戏效果。本文将详细介绍如何使用Unity3D制作带厚度的透明图片,并提供代码实现。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀&#…