开发者学堂课程【mPaaS 小程序开发实战 - 教你如何独立运行小程序 :mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/741/detail/13122
mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)
三、基于 mPaaS 小程序的移动端能力构建
基于 mPaaS 小程序的移动端能力构建或者一些重构建议
1、构建移动中台能力
移动端接入完 mPaaS 小程序,建议构建一个移动中台能力。移动中台能力,就是将一些核心的能力服务化,然后将一些技术的组件下沉。
就是 APP 特有的一些能力,把它变成一个移动中台,在客户端中,提供一个中台能力把通用组件进行提炼,解耦;把通用的业务接口抽象。这种服务或者是 JSP 、PI、小程序 api 的形式进行提供。
2、构建移动前台能力
就是 APP 端直接面向客户的页面,或者是直接面向客户的服务,这个就是一个移动前台能力的构建。
首先,核心业务要做一些体验的模板,核心体验建议还是用原生或者 Flutter 等形式来开发。更注重体验优化。一些复杂的业务,将它小程序化,把二级或者变化、需求比较多的业务,或者是有一些外投需求的业务,以小程序的形式来开发。
可以自行快速迭代并多端投放。第三方业务生态化,可以对外提供一个第三方的接入能力,比如说,你可以将你能力看到你第三方,第三方他通过小程序编写的方式投放到自己的 APP 中,这就是第三方业务生态化。这就是整个的一个移动前台能力的构建,最面向客户的阶段。
3、小程序能力持续完善
小程序一个持续能力的提供。小程序分析能力,小程序内部的广告投放以及小程序的广告,小程序质量测试,小程序的长链接能力、发布能力和开放平台的能力会持续的提供出来,帮助大家完善整个小程序的能力。
四、代码演示:mPaaS 小程序实战演示
这里准备了一个安卓工程,先展示这个安卓端的接入。
首先打开 mPaaS 小程序文档,下图就是 mPaaS 小程序整体文档。
首先,进入这个小程序非常简单。
主要分为三个步骤:第一步骤就是开通 mPaaS, 并且创建一个 mPaaS 应用,然后在里面配置一些 APP 信息;第二步,把小程序的框架引入到你的应用中;第三步就可以开发小程序,并且编写自己的应用。
先打开 mPaaS 后台,进入后台后首先需要创建一个应用
应用创建成功进入应用
进入之后首先要配置信息
进入配置后首先需要配置一个 Package Name 对应 applicationId,是一个你自己应用唯一的 Id
接下来需要上传一个 APK 文件,这个 APK 文件是小程序安全方面,只有签名对应上的 APK 才可以访问你的后台,去进入对应的小程序,是必须要上传的。
mPaaS 插件会提供一个简单的功能,帮助你生成一个 APK,或者用自己已经 build 好的可以可以。
之后就可以构造一个自己的签名,如果没有可以 create new 一个新的签名
创建成功展示
之后再配置 APK 页面将创建好的签名上传上去,就会出现在当前的项目路径下。
点击“下载配置”,配置就下载成功了
之后将下载好的解压缩并放置到一个文件夹中
准备工作做好后,在插件中打开项目并点击 mPaaS,原生 AAR 接入
第一步提示做哪些准备工作,第二步导入 APP 配置,将刚才文件夹中的 config 填入此处
第三步选择基线,基线选择10.1.68,记下你对应的概念与支付宝对应的版本相同
第四步进行配置/更新组件,mPaaS 会提供非常多的移动端的能力,这里直接点击“小程序”
这样小程序就引入了自己的项目,会进行安卓的 think,会拉一下对应小程序的依赖
依赖拉好之后继续看小程序文档,点击“快速开始”,里面有介绍安卓如何去接入小程序
1、初始化配置
• 初始化 mPaaS
在 MyApplication 中初始化 mPaaS 并添加依赖,进行导包
代码如下:
public class MyApplication extends Application {
Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
//mPaaS 初始化回调设置
QuinoxlessFramework.setup(this,new llnitCallback() {
@Override
public void onPostInit() {
//初始化小程序公共资源包
H5Utils.setProvider(H5AppCenterPresetProvider.class.
getName(),new TinyAppCenterPresetProvider());
}
});
}
@Override
public void onCreate() {
super.onCreate();
//mPaaS 初始化
QuinaxlessFramework.init();
}
}
依赖添加完成后 onPostInit 初始化完了,需要预制小程序公用资源包
//初始化小程序公共资源包
H5Utils.setProvider(H5AppCenterPresetProvider.class.getName(),new TinyAppCenterPresetProvider());
• 小程序验签配置
小程序是比较安全的,包体也是安全的,所以会对小程序的包进行签名校验,在快速开发阶段,可以把验签关闭,进行快速开发,后续上线时再把验签打开进行服务端配置私要。
创建 config 文件夹
在 config 文件夹中,创建 custon_config.json 文件
在文件中需填写关闭验签代码,使程序快速跑起来:
{
{
“value”:“NO”;
“key”:”h5_shouldverifyapp”
}
}
• AndroidManifest 配置
在 AndroidManifest 中加入配置代码:
<meta-data android:name="nebula.android.meta.enable" android:value="true" >
• 申请 UC 内核
mPaaS 小程序会提供一个单独的 UC 内核
在 AndroidManifest 中配置 UC 内核,代码如下:
<meta-data
android: name=""UCSDKAppKey""
android:value="JJQ/FLbHKX+ETiFNpCcb0fqjPfQ+JnjGBxDaqUm0MDcNATUVfsVrSh4KMq8of4/pFud/TDgjKf8891LpDlGG4w==”/>
2、小程序发布
• 在后台发布一个小程序
先进入后台,点击小程序发布
• 首次进入时,在配置管理中配置一个虚拟域名
• 创建小程序
每个小程序都有独立的一个 id ,用前面创建的 id 和名称创建一个小程序
• 上传小程序包
点击“添加”,就可以上传一些信息
版本号第一次上传填写为1.0.0.0;客户端范围填写0.0.0.0,小程序就可以在选中的客户端上以0.0.0.0到最高版本都可使用;首次上传小程序需要自行添加一个图标;包类型为功能包;文件使用一个 mPaaS 示例小程序;主入口值为自己 app.json 中的 pages 的第一个值
示例小程序包值为
/index.html#page/'tabBar/companent/index;
配置完后提交
提交结果如下:
• 发布小程序
点击“创建发布”
在发布可以灰度,白名单能力,时间窗能力,可以定向的灰度一些人;也可以直接点击正式
发布完成之后,客户端的代码就可以拉到小程序中
3、启动小程序
在工程中 MainActivity 中加入代码:
MPNebula.startApp("2018080616290001"");
以小程序 id 就可以直接启动小程序。
最后将其运行到真机上(使用命令行):/gradlew clean installDebug
首次可能会去 main 服务器中拉小程序依赖,所以编译速度较长,之后就会变快。
打开真机,小程序已经安装到了手机上
点击图标进入后就会进入小程序并启动,这就是 mPaaS 的示例小程序,mPaaS 提供的一些组件能力和mPaaS 提供的一些接口能力
注意事项:目前 mPaaS 小程序的支持是 targetSdkVersion 26,目前 cpu 架构是支持 armeabi。