当前位置: 首页 > 知识库问答 >
问题:

使用Node JS推送AWS SNS消息

年光明
2023-03-14

我搜索了AWS留档,浪费了几个小时,但找不到使用节点JS发送消息推送的应用编程接口和代码。有人能帮助在Android和iOS设备上使用节点JS发送AWS SNS消息推送吗?

共有2个答案

贲功
2023-03-14

使用sns手机

下面的示例为PlatformApplication ationArn标识的Android应用程序创建一个SNS实例

var SNS = require('sns-mobile'),


 EVENTS = SNS.EVENTS;

var SNS_KEY_ID = process.env['SNS_KEY_ID'],
  SNS_ACCESS_KEY = process.env['SNS_ACCESS_KEY'],
  ANDROID_ARN = process.env['SNS_ANDROID_ARN'];

var androidApp = new SNS({
  platform: SNS.SUPPORTED_PLATFORMS.ANDROID,
  region: 'eu-west-1',
  apiVersion: '2010-03-31',
  accessKeyId: SNS_ACCESS_KEY,
  secretAccessKey: SNS_KEY_ID,
  platformApplicationArn: ANDROID_ARN,
  //sandbox: true (This is required for targetting (iOS) APNS_SANDBOX only) 
});

// Add a user, the endpointArn is their unique id 
// endpointArn is required to send messages to the device 
androidApp.addUser('some_fake_deviceid_that_i_made_up', JSON.stringify({
  some: 'extra data'
}), function(err, endpointArn) {
  if(err) {
    throw err;
  }

  // Send a simple String or data to the client 
  androidApp.sendMessage(enpointArn, 'Hi There!', function(err, messageId) {
    if(err) {
      throw err;
    }

    console.log('Message sent, ID was: ' + messageId);
  });
});

有关更多详细信息,请参阅文档

钱睿范
2023-03-14

得到了答案。

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

AWS.config.update({
  accessKeyId: '{AWS_KEY}',
  secretAccessKey: '{AWS_SECRET}',
  region: '{SNS_REGION}'
});

var sns = new AWS.SNS();

  var payload = {
    default: 'Hello World',
    APNS: {
      aps: {
        alert: 'Hello World',
        sound: 'default',
        badge: 1
      }
    }
  };

  // first have to stringify the inner APNS object...
  payload.APNS = JSON.stringify(payload.APNS);
  // then have to stringify the entire message payload
  payload = JSON.stringify(payload);

  console.log('sending push');
  sns.publish({
    Message: payload,      // Required
    MessageStructure: 'json',
    TargetArn: {{TargetArn}} // Required
  }, function(err, data) {
    if (err) {
      console.log(err.stack);
      return;
    }

    console.log('push sent');
    console.log(data);
  });
});
 类似资料:
  • 消息推送 PDF版下载 如流开放了消息发送接口,企业可以使用这些接口让企业应用与用户间进行双向通信。 推送消息 向成员推送消息 请求方式:POST(HTTPS) 请求地址:https://api.im.baidu.com/api/message/send?access_token=ACCESS_TOKEN 请求body:(每种类型的消息请求body不同,详见消息推送格式) 参数说明: 参数 类型

  • 1、离线消息 接口说明: 接口类型:回调型接口 接口作用:智齿将客服发送给用户的离线消息推送至企业预先配置好的回调地址上。 请求方法: POST 请求格式: { "type": 202, //消息类型,表示客服发送消息给客户 "partnerId": "", //企业自己的用户id "msgId": "" ,//消息id "content": "" ,//客

  • 我正在尝试使用Postman通过云消息服务发送一次推送通知。 这是一个用于相同目的的工作命令,我将其用作参考。 到目前为止我所做的。。 1-适当设置标题 2-在Body,我使用 执行时,我返回

  • 我设置了亚马逊SNS和iOS应用程序,通过SNS控制台发送推送通知,并在iOS中接收。工作正常。 现在,我尝试从一台设备向另一台设备发送推送通知,但收到以下错误: -[AWSServiceInfo initWithInfoDictionary:checkRegion:|无法从读取提供程序配置的凭据。请检查您的<code>信息。plist如果您通过<code>Info.plist 这是我发送推送通知

  • 用户画像+平台提供了一个全新的功能:消息推送(目前支持为小米手机用户推送消息)。用户可以根据需要创建客群,待客群生成后,点击客群右侧的“推送消息”按钮,即可设置消息推送任务。 推送消息前,需要在小米开放平台接入小米推送服务和获得应用信息(App ID,App Key,App Secret等)。小米推送服务具体请参考:https://dev.mi.com/console/appservice/pus

  • 问题内容: 我想将消息从Java推送到WebSocket客户端。我已经成功地将js客户端发送到服务器,并在2个js客户端上收到了一条消息,因此客户端代码可以正常工作。 我的问题是,当Java应用程序中发生事件时,我想启动发送。因此,例如,每次下达10个订单时,都会向所有订阅的客户发送一条消息。这可能吗? 我当前的配置: 我想要做的是这样的: 并且所有订阅了Websocket的客户端都会收到一条消息