更新记录

1.1.0(2020-12-03)

采用RxJava定时执行的事务

1.0.9(2020-12-01)

新增定时器回调,完美兼容安卓各个版本

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择


## 插件开发简介

嵌入保活库 这里提供的应用保活机制是各种方案的混合处理。目前在9.0及以下版本都能有很好的保活效果(只要你不主动杀死程序),如果你的应用希望能够一直在后台运行(比如推送服务)而不被系统自动杀死的话,可以尝试一下。需要注意的是,程序保活并不代表能做到程序杀不死,除非你把你的应用做成系统应用或者加入到系统的白名单内,否则也只是提高了程序的优先级权重,减少程序被系统回收杀死的概率而已。

插件解决的问题

app切换到后台、锁屏之后,系统经常会杀死app,导致app通信,定时任务、后台定位定位等无法正常运行。

保活的模式(RunMode)

模式名 简称 备注
ENERGY 省电模式 省电一些,但保活效果会差一点
ROGUE 流氓模式 相对耗电,保活时间会长

备注:如果有黑屏传数据,比如传定位坐标需求,请使用此插件 https://ext.dcloud.net.cn/plugin?id=3422效果更好一点

插件使用说明

1.初始化

const pushLive = uni.requireNativePlugin('push-live');

2. 启动保活服务

let obj = {
                    title: "高德导航",
                    content: "正在后台运行",
                    mode: 0  //0省电模式 1流氓模式
                }
                pushLive.startService(obj, function(res) {
                    console.log(res)
                });

3.设置定时任务执行间隔

    //设置定时任务触发时间 单位秒 60秒
                pushLive.startPollingTask(60);

4.定时器 (还是建议setInterval代替,黑屏可能不会执行)

var globalEvent = uni.requireNativePlugin('globalEvent');
globalEvent.addEventListener('doJobEvent', function() {
                console.log("---------")
                // 定时器回调
                // 执行你的定时逻辑
                //uni.request({.....})
            });

5. 申请电池优化(提高保活几率)

.pushLive.requestIgnoreBatteryOptimizations(function(res) {
                    console.log(res)
                });

6.申请加入白名单

pushLive.gotoWhiteListSetting()

7.申请配置后台运行 申请加入白名单 自启动(先初始化启动服务)

pushLive.gotoBackstage_WhiteList_autStart()

8.检测是否限制后台运行

pushLive.isIgnoringBatteryOptimizations(function(res) {
                    console.log(res)
                })

9.停止保活机制

pushLive.closeService(function(res) {
                    console.log(res)
                });

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.REORDER_TASKS" /> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问