notify 本地通知 示例一 APP开发实现APP本地通知能力

用户将App推到后台或退出App时发送一个延时10分钟的本地通知,10分钟后手机会收到这条消息,可提示用户继续未完成的工作。

notify 本地通知 示例一 APP开发实现APP本地通知能力

本地通知应用举例:

1. 用户将App推到后台或退出App时发送一个延时10分钟的本地通知,10分钟后手机会收到这条消息,可提示用户继续未完成的工作。

2. App有个计时任务,可以在任务开始时发送一个延时任务时长的通知,当任务结束时用户会收到此通知。

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

请仔细阅读本说明:
♦ 发送延时(interval 参数大于 0 秒)或即时本地通知;
♦ 发送后请打开设备通知栏查看;
♦ 点击通知会自动激活APP,如提供了 url 参数,同时会打开此链接(openUrlInApp 参数为 true 表示在App内打开,否则在系统浏览器打开);
♦ 有未读通知的时候,桌面APP图标一般会显示数字角标(badge);
♦ 部分 Android 设备默认是禁用通知的,可调用 requestAuth 检查是否允许通知;
♦ 如未允许通知,可调用 jsBridge.appSettings() 跳转到APP设置界面,让用户开启通知;
♦ 如需显示悬浮或锁屏通知,部分设备可能需要人工开启对应权限;
♦ 在延时结束之前(interval 参数指定的)可调用 cancelAll 取消通知,这样就不会收到还没发送的通知了;
♦ Android 特性:在 interval 参数延迟结束之间要确保APP进程处于存活状态,否则可能收不到通知;
♦ iOS 特性:如果APP处于前台激活状态,仅弹出通知提示,不会发送到通知栏;如果APP处于后台、杀死或锁屏状态,会发送到通知栏;

核心代码示例,详情参阅demo

jsBridge.notification.notify({
  //通知标题(必须)
  title  : "Hello World!",
  //通知内容(必须)
  content: "这是通知内容。Hi, nice to meet you~",
  //点击通知可打开此链接(可选)
  url    : "https://m.baidu.com",
  //如果提供了url参数,可指定点击通知时是否在APP内打开url,默认 true(可选)
  //true  在APP内打开url
  //false 在系统浏览器内打开url
  openUrlInApp: true,
  //延迟发送通知(秒)(可选),默认0(立即发送)
  //注意:
  //1.Android 版:在 interval 延迟结束之间要确保APP进程处于存活状态,否则可能收不到通知
  //2.iOS 版:如果APP处于前台激活状态,仅弹出通知提示,不会发送到通知栏;如果APP处于后台、杀死或锁屏状态,会发送到通知栏
  interval    : 2,
  //桌面APP图标的角标数字(可选),默认无(仅支持 iOS)
  badge       : 1
}, function(succ, data) {
  if (succ) {
    console.log("2秒后发送通知");
  } else {
    alert(JSON.stringify(data));
  }
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.notification.notify({
  //通知标题(必须)
  title  : "Hello World!",
  //通知内容(必须)
  content: "这是通知内容。Hi, nice to meet you~",
  //点击通知可打开此链接(可选)
  url    : "https://m.baidu.com",
  //如果提供了url参数,可指定点击通知时是否在APP内打开url,默认 true(可选)
  //true  在APP内打开url
  //false 在系统浏览器内打开url
  openUrlInApp: true,
  //延迟发送通知(秒)(可选),默认0(立即发送)
  //注意:
  //1.Android 版:在 interval 延迟结束之间要确保APP进程处于存活状态,否则可能收不到通知
  //2.iOS 版:如果APP处于前台激活状态,仅弹出通知提示,不会发送到通知栏;如果APP处于后台、杀死或锁屏状态,会发送到通知栏
  interval    : 2,
  //桌面APP图标的角标数字(可选),默认无(仅支持 iOS)
  badge       : 1
}, function(succ, data) {
  if (succ) {
    console.log("2秒后发送通知");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.notification.notify({
  //通知标题(必须)
  title  : "Hello World!",
  //通知内容(必须)
  content: "这是通知内容。Hi, nice to meet you~",
  //点击通知可打开此链接(可选)
  url    : "https://m.baidu.com",
  //如果提供了url参数,可指定点击通知时是否在APP内打开url,默认 true(可选)
  //true  在APP内打开url
  //false 在系统浏览器内打开url
  openUrlInApp: true,
  //延迟发送通知(秒)(可选),默认0(立即发送)
  //注意:
  //1.Android 版:在 interval 延迟结束之间要确保APP进程处于存活状态,否则可能收不到通知
  //2.iOS 版:如果APP处于前台激活状态,仅弹出通知提示,不会发送到通知栏;如果APP处于后台、杀死或锁屏状态,会发送到通知栏
  interval    : 2,
  //桌面APP图标的角标数字(可选),默认无(仅支持 iOS)
  badge       : 1
}, function(succ, data) {
  if (succ) {
    console.log("2秒后发送通知");
  } else {
    alert(JSON.stringify(data));
  }
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/15891/

部分内容来自网络投稿,如有侵权联系立删

(0)
上一篇 2022年12月22日 下午3:28
下一篇 2022年12月22日 下午4:28

相关推荐