更新记录
1.0.1(2022-02-21)
修复参数失效问题
1.0.0(2021-09-15)
更新demo工程,和说明文档
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:8.0 - 11.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
调试时,需要先将手机应用开启悬浮窗权限(显示在其他应用的上层),否则是看不到窗口的。
打自定义基座前,修改manifest.json文件中的【App常用其它设置】->【targetSdkVersion】值填写:26
1、uni-app中的api
let zqWebviewFloat = uni.requireNativePlugin("zq-webview-float");
//显示悬浮窗
zqWebviewFloat.show({
url: "https://www.baidu.com",//设置悬浮窗webview加载的远程url,必传参数
width: 400,//设置悬浮窗宽度默认值:400
height: 400,//设置悬浮窗高度默认值:400
scrollX: false,//设置悬浮窗是否有水平滚动条默认值:false
scrollY: false,//设置悬浮窗是否有垂直滚动条默认值:false
removable: true,//设置悬浮窗是否支持拖拽移动默认值:true
resizeable: true,//设置悬浮窗是否支持拖拽调整大小默认值:true
clickPass: true,//悬浮窗是否穿透点击事件作用在webview中默认值:true
dragPass: true,//悬浮窗是否穿透触摸事件作用在webview中默认值:true
dragWidth: 50//悬浮窗拖拽调整大小时,四个角的可拖拽区域大小默认值:50
},function(data){//回调函数
console.log(data);
})
//判断悬浮窗是否存在
zqWebviewFloat.onlive({}, function(data) {
console.log(data.onlive);//存在则为true,反之为false
});
//销毁悬浮窗
zqWebviewFloat.destory();
//唤醒屏幕
zqWebviewFloat.wakeUp();
//隐藏悬浮窗
zqWebviewFloat.hide();
//重载webview远程地址
zqWebviewFloat.loadUrl({
url: "https://www.baidu.com",//webview远程地址
width: 800,//悬浮窗宽度,-1为全屏
height: 800//悬浮窗高度,-1为全屏
});
//重新设置悬浮窗大小
zqWebviewFloat.changeSize({
width: 800,//悬浮窗宽度,-1为全屏
height: 800//悬浮窗高度,-1为全屏
});
2、webview中的h5页面API
jsi.destory();//销毁悬浮窗
jsi.wakeUp();//唤醒屏幕
jsi.hide();//隐藏悬浮窗
jsi.changeSize(400, 400);//改变悬浮窗大小-1,-1为全屏
jsi.loadUrl("https://www.baidu.com", -1, -1);//重载webview远程地址,-1,-1为全屏
3、应用案例
以下应用使用了本插件开发的音视频通话功能,还有即时通讯,直播,视频会议等功能均是自主研发, 只需一台云服务器即可搭建所有功能,无任何第三方收费接入,搭建成本极低,也可获取全部源码进行二次开发。