更新记录
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:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
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字段实例: