Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Amazon SNS向动态端点组发送推送通知_Android_Ios_Push Notification_Amazon Sns - Fatal编程技术网

Android 使用Amazon SNS向动态端点组发送推送通知

Android 使用Amazon SNS向动态端点组发送推送通知,android,ios,push-notification,amazon-sns,Android,Ios,Push Notification,Amazon Sns,在我的移动应用程序中,用户可以订阅不同类别的文章/新闻,并且每当发布这些类别的新文章时,用户将收到推送通知 目前,该应用的推送通知由亚马逊SNS处理,即所有用户订阅一个主题。但是,在这种情况下,由于文章可以分为多个类别,如果使用相同的逻辑处理通知(每个类别都有自己的主题ARN),那么如果用户订阅了两个类别(例如类别A和B),那么最终将收到重复的通知,并且一篇新文章恰好同时属于类别A和B 为了解决这个问题,我将提出以下解决方案: 每当用户通过SNS注册并创建端点时,将根据该用户的ID将端点保存在我

在我的移动应用程序中,用户可以订阅不同类别的文章/新闻,并且每当发布这些类别的新文章时,用户将收到推送通知

目前,该应用的推送通知由亚马逊SNS处理,即所有用户订阅一个主题。但是,在这种情况下,由于文章可以分为多个类别,如果使用相同的逻辑处理通知(每个类别都有自己的主题ARN),那么如果用户订阅了两个类别(例如类别A和B),那么最终将收到重复的通知,并且一篇新文章恰好同时属于类别A和B

为了解决这个问题,我将提出以下解决方案:

  • 每当用户通过SNS注册并创建端点时,将根据该用户的ID将端点保存在我们的数据库中
  • 发布新文章时,将检索订阅文章类别的所有用户
  • 服务器将使用SNS SDK,并将所有检索到的用户端点订阅到一个空主题
  • 通知将发送到该特定主题的频道
  • 虽然此解决方案对于小用户群可能是可行的,但我认为当用户群达到一定规模时,可能会出现缩放问题,即服务器可能需要调用
    subscribe()
    十万次甚至更多次才能发送一次推送


    SNS是否有其他可行的解决方案或方法来实现这一点?谢谢

    它将一直调用,直到调用所有端点(如果它必须调用),否则它将发送通知以向单个设备发送通知,它将获取所有设备并逐个发送