更新记录

0.0.4(2019-11-20)

  • 采取了评论区的建议 , 增加了其他应用通知栏内容的传递 , 需要使用者自行解析
  • 替换了通知栏的默认图标 , 使其更加通用性 .
  • nothing more .

0.0.3(2019-08-01)

  • 增加uni的引入实例代码
  • 修复前版本停止后再开启无通知的bug
  • 增加微信店员说明

0.0.2(2019-07-26)

  • 补充了部分文档
  • 增加了前台服务监听方式,方便用户感知(需要Android O及以上版本,否则是以之前的方式监听)
  • 增加停止服务的api
  • 对于支付监听类型进行了补充说明
查看更多

平台兼容性

Android Android CPU类型 iOS
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原生插件配置”->”云端插件“列表中删除该插件重新选择


payment-monitor

payment-monitor 是一款Android原生插件,对手机通知栏监听,针对支付类型通知进行回调.

目前支持

  • 支付宝
  • 收钱吧
  • 工商银行
  • 云闪付
  • 微信 / 微信店员
  • 其他应用通知栏监听(内容解析需要自己通过js实现)

0.0.4

这里更新了文档为uni的引入方式,历史版本写的是weex引入方法可能有所误导.


<script>
    // 云端插件依赖后,代码引入
    const notifyListenerPlugin = uni.requireNativePlugin('lhalcyon-payment-monitor');

    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        methods: {
          // 测试调用Android原生toast
            onToast(){
                notifyListenerPlugin.show('heheda');
            },
            // 获取是否有通知栏权限
            getNotification(){
                const isEnable = notifyListenerPlugin.isNotificationListening();
                notifyListenerPlugin.show('通知栏权限是否开启:'+isEnable);
            },
            // 跳转原生通知栏设置页, 需要Android >=5.1
            onJumpToSettings(){
                notifyListenerPlugin.jumpToNotificationSettingPage();
            },
            // 初始化通知监听服务,并设置监听回调
      // params 是string的map  ,主要key有 type,time,title,money,content,transferor 等
      // 具体可以参考 https://github.com/lhalcyon/payment-listener/tree/master/payment-listener/src/main/java/com/lhalcyon/pl/handler 查看各通知类型具体字段
            initNotificationCallback(){
                notifyListenerPlugin.show('init invoked');
                notifyListenerPlugin.initNotificationCallback(function (params) {
                    notifyListenerPlugin.show('notification callback:'+params);
                });
            },
      // 这里是将服务前台化,方便用户感知监听,以及提升服务存活性,但是需要 Android O及以上版本才能使用,否则和 notifyListenerPlugin.startService() 方法一样处理
            startForegroundService(){
                notifyListenerPlugin.show('startForegroundService');
        // 这里的两个参数分别为通知栏的标题和描述
                notifyListenerPlugin.startForegroundService('plugin test title','working in the foreground');
            },
      // 停止这里调用 stopService() 是一样的效果
            stopForegroundService(){
                notifyListenerPlugin.show('stopForegroundService');
                notifyListenerPlugin.stopForegroundService();
            },
      // 这里和上面的init...Callback 对于默认几个应用的通知解析是一样的, 所以选择其一调用就好. 本方法会传入两个回调, 第一个回调是处理以上默认应用的处理回调 , 另一个是对于其他应用的解析.
      initNotificationCallbacks(){
        notifyListenerPlugin.initNotificationCallbacks(function (params) {
                    notifyListenerPlugin.show('notification callback:'+params);
                },function (params) {
                    // 应用包名 = params['pkg']
            // 通知内容 = params['content']
            // 自处理相关通知内容
                });
      }
        }
    }
</script>

前台服务演示:

回调中的params字段实例:


隐私、权限声明

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

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

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

许可协议

作者未提供license.md

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