簡體   English   中英

向多個設備發送 SNS 推送通知

[英]sending SNS push notifications to multiple devices

我需要在創建createPlatformEndpoint時使用aws-sns-javascript向多個設備發送推送通知我可以只添加一個設備令牌,但我需要向多個設備發送通知,例如數組令牌

創建平台應用程序

var params = {
  Attributes: {
    'PlatformCredential': 'My API KEY'
  },
  Name: 'dist-ba-dist',
  Platform: 'GCM'
};
sns.createPlatformApplication(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

創建平台端點

var params = {
  PlatformApplicationArn:`data.PlatformApplicationArn` , 
  Token: 'My Device Token',
  CustomUserData: 'STRING_VALUE'
};
sns.createPlatformEndpoint(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

向 Amazon SNS 主題發送消息

var payload = {
    default: 'Hello World',
    GCM: {
        notification: {
            body: "Sample message",
            title: "Hello World"
        }
    }
};
console.log("endpointArn", data.EndpointArn)
payload.GCM = JSON.stringify(payload.GCM);
payload = JSON.stringify(payload);
console.log('payload', payload)

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

    console.log('push sent');
    console.log(data);
});   

要將推送通知發送到多個設備,您可以

  1. 創建一個主題,為每個端點訂閱該主題,然后發布到該主題。 SNS 將處理將消息傳遞給每個主題訂閱者。 如果您正在廣播通知,此解決方案非常有用,或者
  2. 為每個用戶創建端點,將這些 ARN 存儲在某處,然后直接發布到您希望將通知傳遞到的每個端點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM