PhoneGap/Cordova 应用程序通知

2024-05-23

我是 PhoneGap/Cordova 的新手,我希望向我的应用程序添加一些通知。

  1. 推送通知 - 因此当应用程序上发布新文章时,它会提醒用户。

  2. 本地通知 - 在设定的时间间隔(日期和时间),我可以提示用户我的应用程序上的最新文章。

我进行了大量搜索,但找不到可以直接导入项目然后进行修改的工作示例。

我已经尝试过以下插件但无法使其工作https://github.com/katzer/cordova-plugin-local-notifications/ https://github.com/katzer/cordova-plugin-local-notifications/


在项目中启用推送通知的步骤。

  1. 在中创建一个项目https://console.developers.google.com/ https://console.developers.google.com/与您的项目名称。

  2. 推送插件安装请参考以下链接https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md

  3. Push.js 文件中的代码 参考https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/API.md https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/API.md

    //代码:推送通知初始化和注册。

    if (!$window.PushNotification) {
    return;
    }
     var push = $window.PushNotification.init({
    android: {
        senderID: "Include your app sender ID XXXXXXX” 
    },
    ios: {
        alert: "true",
        badge: true,
        sound: 'false'
    },
    windows: {}
    });
    
    push.on('registration', function(data) {
    // this gives the unique deviceId, Or you can maintain array of deviceIds to register multiple devices.
    // if have specified single deviceId for example
    // save this deviceId in database for further operations, i.e. push messages to those ids.
    console.log(data.registrationId);
    });
    
    push.on('notification', function(data) {
    console.log(data.message);
    });
    
    push.on('error', function(e) {
    console.log(e.message);
    });
    push.off('notification', function(e) {
    console.log('off notify');
     });
    
  4. 有多种发送推送通知的方法。这里我借助 gcm-server 来通知。 您将需要安装node-gcm。 创建一个新的 server.js 文件。

     var gcm = require('node-gcm');
     var message = new gcm.Message();
    //API Server Key
     var sender = new gcm.Sender('GIVE_YOUR_SERVER_API_KEY');
    var registrationIds = [];
    
     // Value the payload data to send...
    message.addData('message',"\u270C Peace, Love \u2764 and PhoneGap \u2706!");
    message.addData('title','Push Notification Sample' );
    message.addData('msgcnt','3'); // Shows up in the notification in the status bar
    message.addData('soundname','beep.wav'); //Sound to play 
    message.timeToLive = 3000;
    

    // 至少需要一个 reg id // 这里使用您在设备注册期间获得的注册 ID。

    RegistrationIds.push('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

    sender.send(消息,registrationIds,4,函数(结果){ 控制台.log(结果); });

Refer http://devgirl.org/2013/07/17/tutorial-implement-push-notifications-in-your-phonegap-application/ http://devgirl.org/2013/07/17/tutorial-implement-push-notifications-in-your-phonegap-application/为了清楚地了解通过 gcm-server 发送通知。这将在设备上显示通知。

您还可以使用 firebase 而不是 gcm。

启用本地通知的步骤: 使用以下命令将插件添加到您的项目中cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications

调用本地通知,如链接所示https://github.com/katzer/cordova-plugin-local-notifications/ https://github.com/katzer/cordova-plugin-local-notifications/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PhoneGap/Cordova 应用程序通知 的相关文章

  • layout_constrainedWidth 无法正常工作

    我的 ConstraintLayout 中有 EditText 和 TextView TextView显示EditText的内容 输入时 我需要 EditText 展开直到屏幕中间 而 TextView 跟随它并填充后半部分 我将指导方针设
  • 如何在 Android 中的 onCreate() 内部创建方法

    如何在里面创建一个方法onCreate 方法 当我创建它的显示错误时 令牌 void 预期存在语法错误 并且如果无法在内部创建方法onCreate 方法比请告诉我如何在外部创建方法onCreate 并通过mContext and mActi
  • 如何列出我的应用程序以供下载文件?

    我想通过我的应用程序从浏览器下载文件 我正在尝试将我的应用程序列在complete action using对话 它显示其他操作 例如查看文件等 但在下载文件的情况下 它不会显示在对话框中 我怎样才能像图片中那样列出我的应用程序 我在我的活
  • 为什么 Android 服务在测试时不是单例的?

    当运行大量测试套件时 我注意到我的一个 Android 服务不再是单例的 Android 服务应该是单例的 但是当使用 ServiceTestCase 时 我的引用计数超过 1 在 onCreate 中递增 在 onDestroy 中递减
  • 整个应用程序中的全局“搜索功能”

    在我的整个应用程序中 我希望搜索按钮执行单独的操作Activity 即 当我按下搜索按钮时 从应用程序中的任何位置调用一个单独的活动 有什么方法可以代替定义onSearchRequested 在每项活动中 我只是在一个地方配置它 例如Man
  • 如何从 WifiP2pDeviceList 获取 wifi direct 设备名称

    我想在执行请求对等点时获取 wi fi direct 名称 这是我的代码 if WifiP2pManager WIFI P2P PEERS CHANGED ACTION equals action Log d tag success dis
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • 任务执行失败 程序类型已存在

    我将这个新库包含到我的依赖项中 compile com github Triggertrap SeekArc v1 1 然后当我构建时出现构建错误 Error Exception in thread queued resource proc
  • 对齐卡片视图中的项目

    我希望我的卡片如下所示 我保持这样的布局
  • 如何使用 Android 处理在 Google Cardboard 设备中显示立体图像?

    处理的目的是使使用 Java 绘图变得更加容易 Android 的处理功能具有桌面版的强大功能以及来自传感器的信息 将这些东西放在一起 显示立体图像并像 Oculus Rift 或 Google Cardboard 一样在其周围移动不是很容
  • 输入连接-如何删除选定的文本?

    我为 Android 制作了一个自定义键盘 当我按下键盘的退格按钮时 我使用 getCurrentInputConnection deleteSurroundingText 1 0 从输入字段中删除一个字母 但是 当我选择一些文本然后按退格
  • Android系统每个应用程序的通知限制

    这可能偏离主题 但我找不到任何相关内容 Android应用程序可以显示的通知数量有限制吗 我在收到 100 条通知后遇到问题 没有文件明确说明这一点 注意 显示 100 条通知并不是一个好主意 但由于某些原因这是必需的 In API23 包
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 从代码动态更改多个文本视图的大小(没有“磁盘上”xml 主题)?

    我有 10 个文本视图在我的代码中 我想更改所有代码的字体大小 在我的布局中我使用了 style定义通用属性 但是我不知道一旦布局出现在屏幕上如何从代码中更改它们 我不想做的是更新 AND 对象 但只写在一处 我知道我可以使用应用主题但这假
  • android中如何布局支持各种屏幕?

    我正在使用gridview开发图库视图 在小屏幕中我的布局设计修复得很好 但大屏幕没有我的设计 在大屏幕中有一些空格 加载更多图片 按钮参考图2 我该如何解决这个问题 我的清单文件添加了这一行以支持各种屏幕 请给我一些示例代码
  • 点击当前选项卡刷新页面时的 Xamarin.Forms TabbedPage 事件

    我正在使用 Xamarin Forms 构建 iOS Android 应用程序 并有一个 TabbedPage 如果用户已经在选项卡 2 上 并且单击了选项卡 2 并且我希望刷新选项卡 2 或者运行我自己的函数 以便我可以自己刷新它 有没有
  • 在 Android Studio 4.0(Canary) 中找不到预览窗口在哪里

    我正在浏览有关在 Android Studio 4 0 Canary 中运行的 Jetpack 的教程 请参阅下面的链接文章 https developer android com jetpack compose tutorial http
  • 读/写带有特殊字符的.txt文件

    I open Notepad Windows 并写 Some lines with special characters Special 并前往另存为 someFile txt 与Encoding set to UTF 8 在Java中我有
  • 如何减少导航图标和工具栏标题之间​​的差距?

    我的问题是导航抽屉图标和工具栏标题之间 有多余的空间 示例图像如下 工具栏的xml视图是
  • 如何检测用户是否禁用 GPS(Android - Play 服务)

    我使用 gms location LocationListener Google Play 服务 来获取用户的位置 它工作正常 但我想检测用户何时禁用或启用他 她的 GPS 就像这张照片一样 当我打开 关闭位置时 不会调用任何方法 当我切换

随机推荐

  • 在 UITableViewCell 内动态更改标签宽度

    我正在尝试建立一个自定义表格视图 正如您在图片中看到的 我在故事板一侧将标签的宽度默认设置为 160 磅 并在加载表格时动态更改宽度 我通过修改 cellForRowAtIndexPath 委托方法来实现此目的 因此 根据日期的长度 我设置
  • 构造函数初始化列表中的执行顺序

    构造函数初始化列表中的执行顺序是否可以确定 我知道类中的成员顺序是初始化这些成员的顺序 但是如果我有这样的场景 class X X Implementation impl and then providing that allocator
  • 如何更改android Activity标签

    我创建了一个活动并在清单文件中声明 但我想将相同的活动重新用于其他目的
  • 为什么tcp终止需要4次握手?

    当连接建立时 有 客户端 SYN gt 服务器 客户端 客户端 ACK gt 服务器 当终止到来时 有 客户端 FIN gt 服务器 客户端 客户端 客户端 ACK gt 服务器 我的问题是为什么 和 不能像 那样设置在同一个包中 即ACK
  • 流程验证时 selectManyCheckbox LazyInitializationException

    看来 如果您使用由 hibernate 代理的集合支持的 selectManyCheckbox 您将遇到可怕的 LazyInitializationException 问题 这与支持 bean 的状态无关 调试 Mojarra 2 1 后
  • 如何为所有整数类型创建通用整数到十六进制函数?

    我想为所有整数类型创建一个整数到十六进制函数 对于1字节的Int8 它返回两个字母 例如0A 对于2字节的Int16 它返回四个字母 例如0A0B 对于8字节的Int64 它返回16个字母 例如0102030405060708 func h
  • 黑莓 Facebook SDK jar 文件

    大家好 我在使用 Facebook Blackberry SDK 以及如何在我的项目中使用它时遇到问题 我有一个使用 SourceForge 上提供的源文件制作的项目 我在我正在开发的项目中引用了这个项目 非常适合编程 但是当我想在模拟器上
  • Android 自定义文件扩展名

    我希望我的 Android 应用程序能够通过蓝牙 电子邮件 wifi direct 等 标准共享方法 共享文件 我想将我的数据解析为具有自定义扩展名的文件 并通过某种共享方法 例如蓝牙 发送它 收件人应该能够打开该文件 然后我的应用程序启动
  • Java中的“final class”有什么意义?

    我正在读一本关于Java的书 它说你可以将整个类声明为final 我想不出我会在哪里使用它 我是编程新手 我想知道如果程序员真的在他们的程序中使用这个 如果他们这样做 他们什么时候使用它 以便我可以更好地理解它并知道何时使用它 如果Java
  • 使用 Pkg.add 时出现 julia 错误

    我刚刚在ubuntu中安装了julia 在添加包时发现了一些问题 julia gt Pkg Add Gadfly ERROR UndefVarError Add not defined 我也尝试更新 julia 但弹出错误 julia gt
  • 了解 SQL Server 排序规则中的 Unicode 和代码页

    为什么所有 SQL Server 2008 R2 排序规则都与代码页相关联 所有排序规则都是 unicode 吗 当您的数据库被使用不同代码页的多种语言使用时 如何选择排序规则 谢谢 CHAR 与 NCHAR 即非 Unicode 与 Un
  • 如何确定特定文件实际上是 MP3 文件?

    如何确定特定文件 可能有也可能没有 mp3 文件扩展名 实际上是 MP3 文件 我希望在 C 中做到这一点 根据http www garykessler net library file sigs html http www garykes
  • 以编程方式绑定 WPF 中的附加属性

    我在用着杰森 坎普很酷CueBanner class http www ageektrapped com blog the missing net 4 cue banner in wpf i mean watermark in wpf 对于
  • 为什么 C# ProcessStartInfoRedirectStandardOutput 会导致 xcopy 进程失败

    这有点痛苦 因为我现在没有代码 但我会尽力解释 我有一个简单的 C 应用程序 它启动 Ruby 脚本 它还执行一些其他操作 因此它生成一个批处理文件并执行该文件 我正在使用 C 进程对象并设置以下内容 重定向标准输出 true 重定向标准错
  • 有人可以解释一下 Postgresql 角色、Postgresql 用户和 Linux 用户之间的关系吗?

    我正在尝试在 Ubuntu 14 服务器上设置 Postgres 9 3 此时我感到非常沮丧 我以前使用过 MySQL 所以我对一般数据库概念以及客户端 服务器模型等很满意 我从两个用户开始 root 和 sam 我 作为 sam 我使用
  • 上传文件 WCF Web API 端点

    有没有办法将文件上传到 WCF Web API 端点 如果是这样 我如何访问 Network Stream 来读取数据 很感谢任何形式的帮助 Thanks 假设您正在谈论客户端 一种方法是创建一个派生自 HttpContent 的 File
  • Flutter :已处置的 CameraController,在已处置的 CameraController 上调用了 buildPreview()

    如何正确初始化和处理相机控制器 我在用camera 0 9 4 5 与许多人一起 其他错误 https stackoverflow com questions 70592464 flutter change the path of reco
  • SQL Server - SQL 替换整个数据库中所有表中的所有列

    这是一个很遥远的事情 我猜这个问题没有简单的答案 但是 我继承了一个数据库 其中填充了一些可怕的数据 许多包含描述的行都有回车符 这意味着当我们 BCP 输出数据时 它会带有回车符 我的问题 有没有办法在 MS SQL Server 中对整
  • cytoscape.js 平移时如何去除灰色圆圈

    我使用 cytoscape js 绘制节点图如果我用鼠标平移图表 我的鼠标位置上会有一个灰色圆圈 我不知道如何删除它 你能帮我吗 谢谢 仅覆盖 Core 样式以删除灰色圆圈 selector core just core propertie
  • PhoneGap/Cordova 应用程序通知

    我是 PhoneGap Cordova 的新手 我希望向我的应用程序添加一些通知 推送通知 因此当应用程序上发布新文章时 它会提醒用户 本地通知 在设定的时间间隔 日期和时间 我可以提示用户我的应用程序上的最新文章 我进行了大量搜索 但找不