有人将 Node.js 与 Amazon SNS 和 Apple 推送通知一起使用吗?

2024-03-25

我正在寻找将 node.js 与 Amazon SNS 和 Apple APN 推送通知结合使用的示例。我们使用 Amazon 进行托管,我以前也使用过 SNS,这非常简单。但他们提供的推送通知示例是针对 java 的,没有针对 Node.js 的示例。像往常一样,这让他们感到困惑,我希望能减少我的研究和时间。这不可能那么难。我还想知道他们如何处理错误,以及沙箱和生产之间的差异。 Apple 在这两种环境中的反应不同,不会像在生产环境中那样在沙箱中失败。


最终它并没有那么难,只是弄清楚文档就令人不愉快了。您需要在控制台中创建 SNS 主题的主端点,这是迄今为止最简单的方法,包括加载证书。然后,您使用 createPlatformEnpoint 为每个设备 ID 创建一个端点。这将返回另一个特定于该设备的 SNS 主题,然后您可以使用该主题发送消息。

因此,以下工作将单个消息发送到单个客户端。如果您想批量发送一些东西,不确定是否可以做到。也不知道你如何处理苹果的反馈,你应该检查发送失败的情况。

config = require("./config.js").config;

var token = "1234567898123456789";

var AWS = require('aws-sdk');

AWS.config.update({accessKeyId: config.AWSAccessKeyId, secretAccessKey: config.AWSSecretKey});
AWS.config.update({region: config.AWSRegion});

var sns = new AWS.SNS();

var params = {'PlatformApplicationArn':config["AWSTargetARN"],'Token':token};

var message = 'Test';
var subject = 'Stuff';

sns.createPlatformEndpoint(params,function(err,EndPointResult)
{
    var client_arn = EndPointResult["EndpointArn"];

    sns.publish({
    TargetArn: client_arn,
    Message: message,
    Subject: subject},
        function(err,data){
        if (err)
        {
            console.log("Error sending a message "+err);
        }
        else
        {
            console.log("Sent message: "+data.MessageId);

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

有人将 Node.js 与 Amazon SNS 和 Apple 推送通知一起使用吗? 的相关文章

  • 模拟节点外部模块默认使用 jest 的链式方法

    在我们的节点 CLI 中 我们有一个简单的方法 use strict const ora require ora module exports function startSpinner textOnStart color spinnerT
  • 带有 AWS S3 文件的 Icecast 服务器

    我目前正在运行 Icecast 服务器 用于在 EC2 实例上传输音频 目前我所有的 mp3 文件都存储在 EC2 实例上 我想将它们移动到 AWS S3 进行存储 到目前为止 我已经能够找到能够更新播放列表 https mediareal
  • Amazon MWAA Airflow - 任务容器在没有日志的情况下关闭/停止/终止

    我们使用 Amazon MWAA Airflow 很少有任务标记为 FAILED 但根本没有日志 就好像容器在我们没有注意到的情况下被关闭了一样 我找到了这个链接 https cloud google com composer docs h
  • npm install 不起作用,抛出错误

    我正在尝试在 nodejs 中安装 yo 和其他一些软件包 但是我不断收到错误 我是节点新手 所以我有点迷失 我运行的是 Mac OS X 10 10 3 我正在使用的命令是 sudo npm install global yo 这样做会给
  • 有没有办法将击键发送到节点中的终端?

    我特别想发送 ctrl l 清除终端 这样每次我测试脚本时终端都是干净的 如果您使用的是 Linux console log 033 2J 如果你使用的是 Windows 我认为这可行 将光标设置在 0 0 var util require
  • 有什么不同? .on“连接”与.on“连接”

    我很难理解以下之间的区别 io on connection function io on connect function 可能是一个相当原始的问题 但是我无法找到有关它的明确文档 很想了解其中的区别 这些是同一事物的不同名称 正如所写so
  • AJAX 发送数据到 Node.js 服务器

    我尝试使用 AJAX 将数据发送到 Node js 服务器 但不断遇到同样的问题 即接收问题 这是客户端 JavaScript AJAX 代码 var objects function return new XMLHttpRequest f
  • Sequelize WHEREsequelize.fn(...) AND some='something' 排序问题

    我有一个 Sequelize findOne 函数 它会选择给定点与多边形 col geom 相交且状态 active 的行 var point sequelize fn ST GeomFromText POINT lng lat 4326
  • IE8 和 9 上的 socket.io 问题

    Socket io 在除 IE8 和 9 之外的所有平台上都能完美运行 这是客户端要求 你们能帮忙解决这个问题吗 我一直在阅读所有类似的问题 但到目前为止我发现的大多数解决方案都无法解决 IE8 上的这个问题 这是结构 服务器端 var i
  • AWS SNS 端点自行禁用

    我已将 Android 和 iOS 应用程序设置为能够通过 SNS 接收通知 设置工作正常 设备确实收到了通知 但后来 通知开始失败 我已经启用了成功和失败场景的日志记录 根据日志 我不断收到以下形式的错误 端点已禁用 arn aws sn
  • Node.js:server.setTimeout、server.timeout 和 server.keepAliveTimeout 之间有什么区别

    官方文档是here https nodejs org api http html http server settimeout msecs callback server setTimeout 中没有提及有关服务下一个请求的信息 所以我认为
  • 错误:找不到模块“jasmine-core”

    我安装了以下内容进行测试 devDependencies jasmine core 2 4 1 karma 0 13 22 karma jasmine 0 3 7 karma phantomjs launcher 1 0 0 运行后karm
  • 无法使用 webpack 加载 Node 原生插件

    虽然我正在使用vue cli在生成 webpack 配置的示例代码中 没有任何特定于 vue 的内容 我像这样创建示例应用程序 vue init webpack webpack modules example 生成webpack base
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • 以异步方式执行 Express res.render

    我有一个 Nodejs 应用程序 其中res renderExpress 方法以阻塞方式花费大约 400 毫秒 我如何处理它以非阻塞方式执行 我的 apache 基准测试需要 12 秒来执行大约 30 个并发请求 我如何以更好的方式实施这一
  • 计算两点之间的最短路线

    过去几周我一直在开发一款多人 HTML5 游戏 使用nodejs and websockets 我已经被这个问题困扰了一段时间 想象一下 我用数组实现了这个平铺地图 如下所示 1 or 棕色瓷砖 路上有障碍物 玩家无法通过 0 or 绿色瓷
  • 在 Azure 上运行 .NET 应用程序

    我拥有在 Amazon EC2 上运行应用程序的丰富经验 它需要一台低端服务器 我目前为该服务器支付大约 90 美元 月 是的 我知道我并不真正需要可扩展性 但我仍然使用 EC2 我想知道将这个纯粹的 NET 应用程序迁移到 Microso
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • 动态更改温斯顿的日志级别

    我尝试在运行时实现日志级别更改 我一直在关注https github com yannvr Winston dynamic loglevel blob master test https github com yannvr Winston
  • 在 Nodejs 中,如何停止 FOR 循环直到 MongoDB 调用返回

    我正在研究下面的代码片段 我有一个名为 stuObjList 的 JSON 对象数组 我想循环遍历数组以查找具有特定标志集的特定 JSON 对象 然后进行数据库调用以检索更多数据 当然 FOR 循环不会等待数据库调用返回并到达 j leng

随机推荐

  • 如何使用 maven 在 WAR、WEB-INF/lib 目录中包含特定的 jar

    这是我的 pom xml 尝试在 WEB INF lib 目录中创建一个包含特定 3 个库的 WAR 文件 我将它们包括在
  • 自定义提交按钮

    如何创建提交按钮 并在其上定义自定义标题以及自定义类样式 你可以使用submit http book cakephp org view 1431 submit or button http book cakephp org view 141
  • 导出/下载各种格式的闪亮传单地图?

    我创建了一个闪亮的仪表板来分析芝加哥的犯罪行为 因此 我还制作了芝加哥的传单地图 我们可以根据标记看到芝加哥哪个地区发生了多少犯罪事件 我有三个过滤器小部件 日期 犯罪类型和位置 基于这 3 个小部件 用户可以随意使用 并且每次都会使用所选
  • Tensorflow Estimator API:如何从输入函数传递参数

    我正在尝试添加类权重作为模型的超参数 但为了计算权重 我需要读取输入数据 这发生在 input fn 内部 然后传递给estimator fit 输出为input fn只是特征 标签应该具有相同的形状 num examples num fe
  • 在 VBScript 中格式化 XML 字符串

    我有一个未格式化的 xml 字符串 没有空格 我想创建一个 VBScript 函数 该函数接受该字符串作为其参数 并使用制表符和换行符格式化 XML 我仔细浏览了网络并接近了这个http blogs msdn com b robert mc
  • 在生产中运行 Django-Celery

    我构建了一个 Django Web 应用程序和一些 Django Piston 服务 用户使用 Web 界面提交一些数据 这些数据被 POST 到 Web 服务 而该 Web 服务又使用 Django celery 启动后台任务 使用man
  • TensorFlow 优化器中的 _get_hyper 和 _set_hyper 是什么?

    我看到它在 init 例如Adam https github com tensorflow tensorflow blob r2 2 tensorflow python keras optimizer v2 adam py L145优化器
  • 如何在 Jetpack Compose 中使用 Coil 制作缩写图标

    所以我使用 Coil 库进行图像处理 我注意到在占位符中它只需要一个 int 但是 如果用户没有头像或出现任何错误显示缩写 我想显示缩写 如下图所示 问题是 我是 jetpack compose 的新手 不确定如何实现这一目标 请参阅下面的
  • 当操作系统只是进程之一时,抢占式多任务处理如何工作?

    我现在正在阅读有关先发制人的多任务处理的材料 但我忘记了一件事 所有材料都暗示 操作系统以某种方式从 外部 中断了CPU上正在运行的进程 从而导致了上下文切换等 然而 我无法想象当操作系统的内核只是 CPU 上的另一个进程时 这将如何工作
  • 在 IE 中 XML 未通过响应对象正确发送到客户端

    我有一个上传控件 它从客户端调用处理程序 并将 xml 字符串发送回客户端 下面的代码在 Chrome 中工作正常 但在 IE 中将奇怪的 xml 发送回客户端 处理程序代码 public void ProcessRequest HttpC
  • 使用类似字典的结构访问 Pandas 数据框中的嵌套元素

    我有一个数据框如下 In 19 data frame Out 19 id hero 0 55c97138e5fecec26959f3b0 u info u id u 0001 u name u superman 为了过滤掉条目的名称字段 我
  • 分发 .pyc 文件有哪些限制?

    我已经开始使用 Python 开发商业应用程序 并且正在权衡如何分发该应用程序的选择 除了显而易见的 使用适当的商业许可证分发源代码 之外 我正在考虑仅分发 pyc文件没有对应的 py来源 但我对 Python 的兼容性保证还不够熟悉 不知
  • 如何设置事件的EventTarget

    如何设置事件目标 https developer mozilla org en docs Web API EventTarget一个事件的 var myObj foo bar var event new Event eventName ev
  • PEG规则识别函数原型

    我正在尝试创建一个可以解析 C 代码的解析器 我的用例是解析可能包含函数原型的缓冲区 我想将此函数名称推入符号表中 我是 Spirit 和 PEG 的新手 我正在尝试弄清楚如何编写可以识别函数原型的规则 这是我当前的实现 auto name
  • CancellationToken.ThrowIfCancellationRequested 之后出现故障与取消的任务状态

    通常我不会发布带有答案的问题 但这次我想引起一些注意 我认为这可能是一个晦涩但常见的问题 它是由这个问题 https stackoverflow com q 24346706 1768303 从那时起我回顾了自己的旧代码 发现其中一些也受到
  • UITextview打字属性不起作用

    我有 UITextView 我想将其行高设置为 50 0f 所以我使用打字属性 但没有任何效果 我的代码在 ViewDidAppear 方法中像这样 UITextView textView UITextView alloc initWith
  • java中RGB转灰度、bmp图像

    我的老师给我们布置了一个任务 要制作一个采用 640x480 bmp 彩色图像的课程 将其转换为灰度图像 我找到了一些有想法的资源 所以我做到了 但是有一个问题 因为它似乎使它不会给我错误 但输出没有出现 我认为这是我的代码 我的代码是 i
  • IntelliJ IDEA:ClassNotFoundException 如果运行调试,执行/运行确实有效

    我在 Eclipse 中启动了一个 Java Maven 项目 处理了几天 然后将其导入到 IntelliJ IDEA 中 再次处理了几天 IDEA 和 shell 中的正常运行 执行确实有效 但调试无效 当我单击调试的 Bug 图标时 它
  • Java 的反射器?

    Java 有没有相当于 NET反射器 http www red gate com products reflector 编辑 更具体地说 反编译是我所追求的 See 如何反编译Java类文件 https stackoverflow com
  • 有人将 Node.js 与 Amazon SNS 和 Apple 推送通知一起使用吗?

    我正在寻找将 node js 与 Amazon SNS 和 Apple APN 推送通知结合使用的示例 我们使用 Amazon 进行托管 我以前也使用过 SNS 这非常简单 但他们提供的推送通知示例是针对 java 的 没有针对 Node