更新记录
1.0.14(2023-01-12)
1、修复hbuilder打包失败问题
1.0.13(2022-06-06)
1、修复无内存读写权限时无法定位问题。
1.0.12(2022-05-18)
1、新增自定义定位周期及上传百度鹰眼周期及定位模式的动态参数。具体见插件说明
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 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原生插件配置”->”云端插件“列表中删除该插件重新选择
1、申请试用插件【百度鹰眼轨迹保活插件】,试用插件只能在自定义基座中使用。后续请在HBuilderX中打开该项目的manifest文件,并在“App原生插件配置”中配置,然后云打包生效。
2、配置manifest.json中的App原生插件配置中选择本插件,并配置相应的百度ak。
3、代码中调用
(1)、初始化插件
const keepLiveTrace= uni.requireNativePlugin('xl-keepLiveTrace');
(2)、开启百度鹰眼定位
//locInterval :定位周期:单位(秒);defaultPackInterval:打包数据上传百度鹰眼的周期:单位(秒);locationMode:定位模式:Device_Sensors(仅使用设备(GPS)定位);High_Accuracy(高精度定位模式,GPS与网络综合定位);Battery_Saving(低功耗定位模式,仅使用网络定位(WiFi和基站定位))
keepLiveTrace.startTrace({"serviceId":"百度鹰眼的serviceId","entityName":"百度鹰眼的你要创建的entityName","locInterval":3,"defaultPackInterval":10,"locationMode":"Device_Sensors"},e => {
//locInterval 如果不传则默认2秒,defaultPackInterval如果不传则默认10秒,locationMode 如果不传则默认High_Accuracy,这三个参数要么就都传,要么就都不传。
//e返回的参数:success:true 已开启定位服务,false 已开启定位服务,无需重复开启
//message:描述
//这里的entityName填写后会自动创建,保证在本serviceId下唯一就可以
})
(3)、关闭百度鹰眼定位
keepLiveTrace.stopTrace({},e => {
//e返回的参数:
//success:true 表示已停止定位服务。false为失败
//message:描述
})
(4)、获取是否开启百度鹰眼定位
keepLiveTrace.getTraceState({},e => {
//e返回的参数:
//isOpen:是否开启服务,false 为未开启
//success: true ; false true表示调用成功
//message:描述
})
(5)、获取当前位置方法。
<script>
var myGlobalEvent = uni.requireNativePlugin('globalEvent');
//返回参数有longitude、latitude、speed、radius、locTime、coordType、floor
plus.globalEvent.addEventListener('onQueryRealTimeLoc', function(e) {
uni.showToast({
title:JSON.stringify(e.longitude)
})
});
export default {
data() {
return {
}
},
methods: {
queryRealTimeLoc(){
keepLiveTrace.queryRealTimeLoc({},e => {
})
},
}
}
</script>