更新记录

1.0(2023-09-01)

功能实装


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.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原生插件配置”->”云端插件“列表中删除该插件重新选择


用前须知

但凡涉及到监听通知,保活都是老生常谈的问题了,虽然做了几个机型的24小时后台运行的测试但毕竟随着现在许多厂商魔改安卓系统也不敢说全部机型都能覆盖的到,因此望诸位同仁先在目标机型上测试一下,遇到问题可以先到设置>应用权限管理中把一些看似可疑的权限打开 (╯°□°)╯︵ ┻━┻ 现在各个厂商的手机权限名称和种类都有些许不同,所以只弄了电池优化这一项快捷操作的保活措施

插件的一些微不足道的....特点?

1.可以根据包名进行监听的过滤,分白名单和黑名单两种,(提一下:如果一个包名在两个名单上都有也是不会被监听的)

2.把通知时间格式化了一下,yyyy-mm-dd HH:mm:ss这样

使用

引入

const Monitor_Show = uni.requireNativePlugin('Monitor-Show');

开始监听事件

Monitor_Show.send({
                    click_type: "open_serve",
                    filterblacklist:["com.tencent.cc"]  //可选参数,可以不写
                    filterwhitelist:["com.tencent.mm"] //可选参数,可以不写
                }, e => {
                    uni.showToast({
                        title: '响应数据:' + JSON.stringify(e),
                        icon: 'none'
                    });
                })

                if(!this.eventislistenning){  //这个变量是防止监听事件重复注册的可以自己定义一下
                    this.eventislistenning=true
                plus.globalEvent.addEventListener('Monitor-Show-console', function(e) {
                //这里是对返回数据的一个前端数据展示处理,根据自己需求更改
                    self.data.unshift({
                        packagename: e.packagename,
                        title: e.title,
                        data: e.data,
                        appname: e.appname,
                        time: e.time
                    })
                });
                }

监听返回数据

packagename title data appname time
包名 通知标题 具体文本 应用名称 通知出现时间

关闭监听事件

Monitor_Show.send({
                    "click_type": "close_serve"
                }, e => {
                    uni.showToast({
                        title: '响应数据:' + JSON.stringify(e),
                        icon: 'none'
                    });
                })

将应用加入电池白名单

Monitor_Show.send({
                    "click_type": "check_whitelist_of_battery"
                }, e => {
                    uni.showToast({
                        title: '响应数据:' + JSON.stringify(e),
                        icon: 'none'
                    });
                })
参数名 类型 是否必需 参数范围
click_type string "open_serve","close_serve","check_whitelist_of_battery"
filterblacklist array 任意string字符串
filterwhitelist array 任意string字符串

更多使用上的疑问可以直接导入示例项目

如果诸位有使用上的问题可以直接发到我的邮箱 a1987507463@163.com 因为我比较少看插件广场这里的用户消息(~ ̄▽ ̄)~

隐私、权限声明

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

<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" tools:ignore="ProtectedPermissions" /> <uses-permission android:name="android.permission.BATTERY_STATS" tools:ignore="ProtectedPermissions" />

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

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

暂无用户评论。

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