##H5页面与原生app交互,和ios原生交互、
其实前端也没什么要做的只需要调用方法就好了,大部分工作(95%)都是安卓或者ios做的。
直接上代码看一下
if (isAndroid) {
// 调用安卓的方法
if (status == 'goand') {
window.liveapp.goRoom(roomnumber);
} else if (status == 'detail') {
window.liveapp.goDetail(userid);
}
} else if (isiOS) {
//调用IOS的方法
if (status == 'goios') {
window.webkit.messageHandlers.goRoom.postMessage(roomnumber);
} else if (status == 'detail') {
window.webkit.messageHandlers.goDetail.postMessage(userid);
}
}
完了就是这么简单,但是需要原生给你配合,安卓的要定义一个window全局的liveapp的类里面写上你这边要调用的方法。ios同理,只是定义方法不一样,调用的方法也有些差距。你们的ios或者安卓定义的方法可能和我这边的不一样,要和app端沟通,其实大部分就是app端做的。
###注意了。
带参数的话如代码所示在方法后面携带参数。只能是简单数据类型。ios携带参数必须要在方法后面带上postMessage()在括号里带上参数,不能传对象数组只能是字符串或者数字。我这里还遇到了一个问题,就是没传参数调不起来。不知道为何。最后随便带了个 ‘a’ ,就能调起了。
大家也可以试试,调不起的话随便带个参数。
这个是刚开发h5与app交互时遇到的问题,特此记录。方便以后查阅。