一门app开发平台本地通知功能js调用语法说明

[复制链接]
vioswLv.7 显示全部楼层 发表于 2020-2-14 11:38:41 |阅读模式 打印 上一主题 下一主题
安卓上架
一门app开发平台本地通知功能js调用语法说明
消息通知(本地通知/角标/权限)
demo:https://www.yimenapp.com/doc/demo_notify.cshtml

本地通知应用举例:
1. 用户将App推到后台或退出App时发送一个延时10分钟的本地通知,10分钟后手机会收到这条消息,可提示用户继续未完成的工作。
2. App有个计时任务,可以在任务开始时发送一个延时任务时长的通知,当任务结束时用户会收到此通知。

notify 本地通知 示例一


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


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



notify 本地通知 示例二
  1. //iOS 苹果端执行本接口后把App推到后台或者锁屏手机,3秒后会收到通知。
  2. jsBridge.notification.notify({
  3.   title  : "打开百度的通知",
  4.   content: "这是通知内容。点击在系统浏览器中打开百度...",
  5.   url    : "https://m.baidu.com",
  6.   openUrlInApp: false,
  7.   interval    : 3
  8. }, function(succ, data) {
  9.   if (succ) {
  10.     console.log("3秒后发送通知");
  11.   } else {
  12.     alert(JSON.stringify(data));
  13.   }
  14. });
复制代码



notify 本地通知 示例三
  1. jsBridge.notification.notify({
  2.   title  : "爸爸的消息",
  3.   content: "你爸喊你出门干活了,速度~~~",
  4.   interval : 5
  5. }, function(succ, data) {
  6.   if (succ) {
  7.     console.log("5秒后发送通知");
  8.   } else {
  9.     alert(JSON.stringify(data));
  10.   }
  11. });
复制代码



notify 本地通知 示例四
  1. jsBridge.notification.notify({
  2.   title  : "妈妈的消息",
  3.   content: "你妈喊你回家吃饭了,速回~~~"
  4. }, function(succ, data) {
  5.   if (succ) {
  6.     console.log("已发送");
  7.   } else {
  8.     alert(JSON.stringify(data));
  9.   }
  10. });
复制代码



cancelAll 取消所有未发送的本地通知
♦ 取消 notify 函数参数 interval 倒计时未结束的全部本地通知;
  1. jsBridge.notification.cancelAll();
复制代码


转到APP设置
  1. jsBridge.appSettings();
复制代码



setBadge 设置APP角标
♦ 角标 即是显示在APP图标右上角的数字;
♦ iOS 完美支持;
♦ Android 版兼容性不好,推荐使用 notify 接口发送本地通知;
♦ 如果用户禁用了通知,则无法设置;
  1. // 参数为不小于 0 的数字
  2. // 设置为 0 则清除角标
  3. jsBridge.notification.setBadge(23);
复制代码



setBadge 清除角标
  1. // 设置为 0 则清除角标
  2. jsBridge.notification.setBadge(0);
复制代码



getBadge 获取APP角标
♦ 仅支持 苹果 iOS,安卓始终返回 0
♦ 如果用户禁用了通知,则始终返回 0;
  1. jsBridge.notification.getBadge(function(badge) {
  2.   alert(badge);
  3. });
复制代码



requestAuth 检查APP是否允许通知
♦ 检查用户是否允许或禁止了通知提醒;
♦ 如果用户已禁止,可以提醒用户去开启,执行 jsBridge.appSettings() 跳转到设置界面;
♦ iOS 调用 setBadge 设置角标需“允许”通知,否则无法设置;
  1. jsBridge.notification.requestAuth(function(granted){
  2.   alert(granted ? "已允许" : "已禁止");
  3. });
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

一门APP打包致力于H5混合APP基础框架领域的前沿探索,专注轻便的移动应用解决方案 提供基于HTML前端页面在各种应用层级的端延展。
  • 官方手机版

  • 微信公众号

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2001-2020, 一门APP. | 一门APP开发平台|热门标签
  • 蜀ICP备17005078号-4 | 川公网安备 51019002001185号 | |成都七扇门科技有限公司