h5 app整理

在用h5做app时遇到的一些问题整理(Hbuilder)
h5 app打包为原生app时manifest.json注意事项:
1.应用信息界面必须填写
a.应用名称:最后安装在手机上面的app的名字
b.appid在有网络的条件下自动获取
c.版本号自己写每次打包时的版本号要高于之前的版本号可以在后面加日期来区分如:1.1.1.2018072716(yyyymmh)
d.根据重力感应自动横竖屏:根据自己的需要进行选择
2.图标配置:将自己想作为安装之后的桌面的图片引入进来,上面会有大小提示(必须是png格式的,后缀名原本为jpg后来改为png是不允许的)选择之后点击生成并替换,也可以单为某个尺寸的手机设置图标
3.启动图片配置:
如果应用一直停留在启动界面无法进入应用,先查看manifest.json中的自动关闭启动界面如果设置为false,则需要查看应用的入口(index.html)中是否正确调用plus.navigator.closeSplashscreen()方法
4.sdk配置这个需要我们自己去一些开放的api的开发者平台去申请需要的key(联网的条件下我们可以直接从这个界面点击进入配置指南,可以根据上面提供的参考的方法去申请)
5.模块权限配置这是一个重要的模块:
在这里我们需要引入在代码模块中用到的一些调用原生的手机功能时(如:摄像头)需要引入的一些android的功能权限,这样在离线的情况下才可以使用该功能,不然在真机调试的时候是可以使用的但是打包之后安装到手机上面时就不可以使用了。
6.页面引用关系和代码视图:一般不需要手动去修改会自动根据你前面文件的配置和代码自动生成,当然你也可以自己去修改里面的代码。
7.打包为安装包时,ios安装包要注意,在打包时需要选择使用苹果证书并去相应的开发者平台去申请私钥密码,profile文件,私钥证书,才可以正常在ios手机上面进行安装和运行,android选使用DCloud公用证书就可以了。配置好文件,点击打包就可以了。

在学习的过程中一些总结:
1.在audio即调用手机麦克风进行录音时,在真机调试时会出现闪退的情况,但是打包为离线安装包安装到手机上面时不会出现闪退,解决闪退问题:由于android和ios手机对录音文件支持的格式不同,在录音时设置:format:’amr’,可以解决真机调试时闪退的问题。
2.HBuilder会更新一些新的补丁,它会自动弹出提示框,提示你是否更新,在更新前先看看补丁解决了什么问题,看一下更新日志,需要去更新项目中mui.js,mui.css等等这些项目中需要引用的文件,可以新建一个mui项目把引用的这些文件都拷贝过来,因为没一次打补丁,你很难确定它是否只修改了基座,还是mui相关的css js都有修改,所以保险起见就一起更新。建议在更新前先将之前的代码备份。
3.可以把一个网页版的项目,做成手机app
a.将自己已经做好的网页版的项目发布有一个地址(如:功德环官网的地址:https://gdh.hrstchina.com
b.在HBuilder中新建移动APP
c.在manifest.json配置文件中将应用信息的页面入口改为想要访问(如:https://gdh.hrstchina.com)地址,配置好其余需要配置的地方
d.发行打包,就得到一个移动App的安装包,除了有个安装包和桌面有个快捷方式外,与浏览器的体验不会有其他差别。
e.这样的移动app体验比较差,在页面跳转时会像浏览器那样切换白屏,无法离线使用,没有网络的情况下不能正常访问想要访问的内容,这样的app在Apple的Appstore审核时是无法通过的,其他大的安卓市场也不会允许
4.调试基座App的名字,图标,启动封面图片,是否可以旋转这些只有在打包之后才能看到效果,真机调试时看不到效果。

所有的页面中一个比较重要的方法:
plusready事件,此事件会在页面加载后自动触发,表示所有HTML5+ API可以使用,在此事件触发之前不能调用HTML5+ API,所以应该在此事件回调函数中调用页面初始化需要调用的HTML+ API,而不应该在onload或DOMContentLoaded事件中调用。
检查扩展API是否准备,如果没有监听‘plusready’事件
if(window.plus){
plusReady();
}else{
document.addEventListener(“plusready”,plusReady,false);
}
后面写扩展API准备完成后要执行的操作
function plusReady(){
具体想要执行的操作
}

如何将一个应用转换为流应用:(省流量,秒开)
1.已经开发了5+app,可以申请试用DCloud的自动转换服务器,把5+app直接转换发布到流应用平台。使用你的HBuilder注册邮箱,发邮件给[email protected],邮件格式要求如下:
a.邮件标题:申请转换流应用-%appname%
b.邮件内容:app获取地址需要360手机助手(zhushou.360.cn)或应用宝(myapp.com)上的地址,未在这两个平台上线的app暂时无法自动转换为流应用
c.注意:提交的App需用户体验良好、质量过关、有一定用户基础。 如果app里使用了原生插件,则无法自动转换。
2.可以自己发布流应用,在HBuilder中发行菜单里,有“发行为流应用”菜单,单击按照菜单的指引可以发布为流应用。(流应用升级处理:如果你的流应用需要升级,请在HBuilder里直接提交新版,流应用的升级平台会自动计算差量,自动省流量更新)
建议在检测升级前加入以下判断:
var ua=navigator.userAgent;
if(ua.indexOf(“Html5Plus” >0 && ua.indexOf(“StreamApp”)==-1)){
继续执行升级逻辑
}
若使用mui框架的话,可以简化代码:
升级逻辑:判断5+环境下,且不是流应用
if(mui.os.plus && !mui.os.stream){继续执行升级逻辑}

猜你喜欢

转载自blog.csdn.net/qq_35500233/article/details/88847968