发布到主题

时间:2015-08-10 05:26:53

标签: ios amazon-web-services apple-push-notifications boto amazon-sns

我了解在发布到各个设备时可以设置徽章计数器,但是在发布到订阅某个主题ARN的所有设备时是否可以设置设备独立计数器?

目前的用例是,从服务器端的角度来看,可能有多达一百万用户订阅某个主题并且必须逐个向每个设备发布推送通知ARN(与主题ARN相对)似乎效率非常低

使用的框架

后端: Python 带有BOTO AWS SDK和SQLAlchemy的Flask框架

前端: iOS

1 个答案:

答案 0 :(得分:5)

简短回答

不,你不能。

Apple不允许你发送" + 1"作为徽章编号,因此向订阅特定主题的所有用户发送相同的徽章编号不应该对您有帮助。

长答案

AWS SNS

AWS SNS允许您在同一主题上为每个平台制作自定义有效负载,因此它应该不是问题:

  

向设备上安装的多个应用发送消息   平台,如GCM和APNS,您必须先订阅移动设备   端点指向Amazon SNS中的主题,然后将消息发布到   话题。以下示例显示要发送到订阅的消息   APNS,GCM和ADM上的移动终端

     

http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html#mobile-push-send-multiplatform

{ 
"default": "This is the default message which must be present when publishing a message to a topic. The default message will only be used if a message is not present for 
one of the notification platforms.",     
"APNS": "{\"aps\":{\"alert\": \"Check out these awesome deals!\",\"url\":\"www.amazon.com\"} }",
"GCM":"{\"data\":{\"message\":\"Check out these awesome deals!\",\"url\":\"www.amazon.com\"}}",
"ADM": "{ \"data\": { \"message\": \"Check out these awesome deals!\",\"url\":\"www.amazon.com\" }}" 
}

苹果

Apple不允许您增加徽章编号,因此我想向所有用户发送相同的徽章编号对您没有帮助。

  

密钥:徽章

     

输入:数字

     

说明:要显示的数字   应用程序图标的徽章。如果没有此属性,则不会使用徽章   改变。要删除徽章,请将此属性的值设置为0。

     

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html