开发者学堂课程【mPaaS 小程序开发实战: mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/301/detail/3506
mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)
7、mPaaS 小程序扩展性
l 自定义接口
提供自定义事件能力,支持“小程序→原生”,以及“原生→小程序”
l 自定义样式
提供多种原生样式定制,包括导航栏,加载动画,启动动画等原生样式
l 自定义组件
提供自定义组件能力,扩展小程序标签
8、mPaaS 小程序实现多端投放
①小程序的来源有四个方向:自建 mPaas 小程序、mPaas 小程序市场(建设中)、支付宝小程序、其他三方小程序。
②IDE 层:会提供多端投放工具,把其他的小程序转换,小程序 IDE 还会提供开发、预览、调试的功能,帮助编写业务代码。
③发布层:左边是 mPaas 的发布平台,是会把小程序发布到你自己的 APP 中;右边是其他三方小程序开放平台,会发布到对应的平台中。
左边 mPaas 平台会对应到最底下的应用层,会发到自建的应用上,自己自由的 APP 上,自由APP可以跑一些自建小程序、第三方小程序或者 mPaas 提供的一些阿里的场景小程序。右边是一个第三方的平台,可以把开发好的小程序投到像支付宝、淘宝等这些阿里系的平台上,同时也可以投到其他的第三方的框架上。
9、mPaaS 小程序场景生态
优点:
服务快速触达多端
提升用户粘性
连接海量服务
三、基于 mPaaS 小程序的移动端能力构建
1、构建移动中台能力
移动中台就是将一些核心的能力服务化,然后将一些基础的组件下沉,将app特有的一些能力变成一个移动中台。将应用通用的组件进行沉淀,提炼,解耦,通过自定义组件的形式,对小程序提供服务。核心能力服务化,将业务抽象成接口,并以服务形式提供,业务团队通过自定义小程序接口形式调用,相互无影响。
2、构建移动前台能力
核心业务体验优化: 核心业务,使用原生或Flutter等形式开发,更注重原生的体验优化。
复杂业务小程序化:把二级业务、变化较多的业务、或者需要外投其他小程序平台的业务转换成小程序开发,以小程序离线包形式加载。
三方业务生态化:对第三方业务方提供小程序标准,将应用升级为生态平台。
3、小程序能力持续完善
逐渐在小程序中增加一些功能,例如分析能力、广告投放、质量测试、长链接推送、发布能力、开放平台。
四、代码演示:mPaaS 小程序实战演示
打开 mPaaS 小程序文档,进入小程序分三步,首先免费开通 mPaaS 小程序,然后引入 mPaaS 小程序,最后开发及发布。
首先进入 mPaaS 小程序后台,创建应用,应用名称 mPaaS 小程序实战,在代码配置里配置信息,package name 为 come.mpaas.demo,上传APK文件,在 mpaas插件里有功能可以创建 APK 文件,填基础信息之后,创建完成。之后上传 APK 文件,之后下载配置。将 config 结尾的文件提取出来备用。
在插件中,打开 mPaaS 原生 AAR 接入,第二个选项中导入配置,将 config 结尾的文件填入配置文件路径,第三个选项中极限列表选择10.1.68,在配置组件里 mPaaS 组件管理选择小程序,完成操作。
在 mPaaS 小程序文档的快速开始里,可以扫码会有人进行答疑。
1. 初始化配置
1.1初始化 mPaas
如果使用原生 AAR 方式或 mPaas lnside 方式接入,需要初始化 mPaaS。请在Application中添加以下代码:
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base){
super.attachBaseContext(base);
// mPaaS 初始化回调设置
QuinoxlessFramework.setup(this,new llnitCallback()[
@Override
public void onPostInit(0 [
//初始化小程序公共资源包H5utils.setProvider(H5AppCenterPresetProvider.class.getName(),new TinyAppCenterPresetProvider();
}
J);
}
@Override
public void onCreate([
super.onCreate();
// mPaaS 初始化
QuinoxlessFramework.init();
在上面代码的 onPostlnit 中,对公共资源包进行了如下设置:H5Utils.setProvider(H5AppCenterPresetProvider.class.getName(),new TinyAppCenterPresetProvider());
若无法找到 TinyAppCenterPresetProvider 类.可能是您的基线版本小于10.1.68.7,请参考小程序基础库说明进行处理。
1.2小程序验签配置
在 Android 工程的 assets/config 路径下.创建 custom_config.json 文件、并在文件内填入以下内容:
[
{
“value":""NO,
“key":""h5_shouldverifyapp"
}
]
对于 value,“NO”表示关闭小程序验签;"YES”表示开启小程序验签〈不填则默认为“YES")。在开发调试阶段,可以关闭验签来快速接入;在上线前、建议开启验签。有关小程序包验签配置的具体操作可参考配置小程序包。
1.3 AndroidManifest 配置
如果以原生 AAR 方式接入,则需在 AndroidManifest.xrml 中加入以下配置:
<meta-data android:name="nebula.android.meta.enable" android:value="true" >
1.4申请 UC 内核
使用小程序前、需要先中请并配置 UC 内核,具管操作参考中请 UC 内核说明文档。
使用 UC 内核,可以使小程序拥有同层能力,如嵌入 webview、嵌入地图等,并且拥有更好的渲染体验。
2.发布一个小程序
启动小程序之前,您需要先通过 mPaaS 控制台发布该小程序。
2.1进入小程序后台
登录mPaaS控制台,法入目标应用后,从左侧导航栏进入小程序>小程序发布页面
2.2配置虚拟域名
如果是第一次使用,请先在小程序>小程序发布>配置管理中配置虚拟域名。虚拟域名可以为任意域名,建议使用的企业域名。
3.启动小程序
完成上述步骤之后,可以在 Android 工程中,通过如下代码,启动示例小程序。
MPNcbula.startApp("2018080616290001");
通过这个代码,将小程序安装到真机中,安装完成后启动,可以看到是和支付宝官方示例小程序是一样的。
注意事项:目前小程序支持的 targetSdkVersion 是26,架构支持 armeabi,之后会有全新版本的支持。