AWS SNS 端点自行禁用

2024-05-15

我已将 Android 和 iOS 应用程序设置为能够通过 SNS 接收通知。设置工作正常,设备确实收到了通知。但后来,通知开始失败。

我已经启用了成功和失败场景的日志记录。根据日志,我不断收到以下形式的错误:“端点已禁用:arn:aws:sns:myRegion:myAccount:endpoint / GCM / myApp / myDeviceEndpointHash”

我知道该错误意味着端点已禁用。另外,我知道通过控制台和 API 重新启用端点的方法。

我的问题是为什么这种情况不断发生。我向其推送通知的 99% 的设备都会发生这种情况。提前致谢。


在与 AWS 支持团队进行长时间交谈后,出现了一些问题。

  1. GCM 和 APNS 可以根据某些清理策略禁用设备的端点。换句话说,设备的端点可能会发生变化,并且不受 AWS 的控制。
  2. 当 GCM 禁用您的设备端点时,它会在新端点和旧端点之间创建映射。使用此映射,它仍然能够通过旧端点提供通知。但是,这种映射只存在很短一段时间。一旦该映射消失,通知就会开始失败。此外,当映射存在时,GCM 会向 SNS 提供一条警告消息,表明该端点将很快被禁用,并提供新的端点,但它只会被记录。

现在,该怎么办?该解决方案分为两部分:

  1. 每当您的应用程序启动时,您都会为其创建一个新端点,携带 该设备的整个 SNS 注册过程。这导致 使用最新的设备端点更新 SNS 存储库 由 GCM 提供。
  2. 假设用户很长时间没有启动应用程序。然后,您可以使用以下方法在 SNS 日志上放置 Lambda 您可以通过 Lambda 确定端点何时将被禁用。 对于此事件,您可以向设备推送静默通知,然后 那么您的设备必须在 SNS 上静默重新注册。

第二步涉及服务器端和设备端的大量工作。最后,我们决定不实施它,因为大多数用户不会发生这种情况,而且所涉及的工作也不合理。

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

AWS SNS 端点自行禁用 的相关文章

  • 尝试检索 Google 日历活动时 WEB_HOOK 通道不可用

    我正在尝试使用Google 日历的推送通知 https developers google com calendar v3 push 回调端点托管在 Heroku 上 应用程序名称 herokuapp com已在 Search Consol
  • 如何为此 Firebase Android 项目添加“大文本”或“收件箱样式”通知?

    我正在尝试从 Firebase 控制台发送推送通知 目前我可以从 Firebase 控制台向我的虚拟设备发送消息 但如果消息很长 则不会完全显示在通知栏中 这是 Firebasemessagingservice 的代码 import and
  • PushSharp 不发送通知

    我有一个简单的代码 PushBroker pushBroker new PushBroker string path HttpContext Current Server MapPath AppSettings CertificatePat
  • 使用 BroadcastReceiver 进行推送通知时不会被调用

    我正在尝试在插件中使用 Android 的 GCM 推送通知 我正在从 Google 服务器获取有效的注册 ID 但是当我从服务器发送任何数据时 BroadcastReceiver根本没有被叫到 我认为问题在于清单中的权限 这是我正在使用的
  • 解析,如何向目标用户发送推送通知

    我已成功设置解析推送通知 并且在我的安装表中我同时拥有安装和设备令牌 我真正想做的是将推送通知发送给某些用户 而不是某些设备 如何将安装表绑定到使用表 以便我可以由用户进行查询并返回要推送到的设备ID From https parse co
  • AWS推送通知服务集成错误

    我正在尝试将亚马逊推送通知集成到我的 iPhone 应用程序中 我确实正确地遵循了此处提供的教程 我在创建平台端点时收到此错误 似乎是身份池的权限问题 CognitoIdentityCredentials is not authorized
  • UIApplication.registerForRemoteNotifications() 必须仅从主线程调用

    Xcode 9 iOS 11 在注册推送 远程 通知时向我显示错误 警告 这是错误消息 这是我尝试过的代码 let center UNUserNotificationCenter current center delegate self c
  • 应用程序恢复时如何处理推送通知?

    尝试使用处理推送通知推送插件 https github com phonegap build PushPlugin 以下是我的代码 onNotificationGCM function e switch e event case regis
  • 如何通过 PHP 使用 AWS SQS/SNS 作为推送通知队列来执行繁重的处理任务?

    我有一台在机架空间上运行的服务器 它托管一个 PHP Web 应用程序 PHP Web 应用程序将接受表单提交 然后需要根据表单字段条目执行任务 该任务 我们将其称为生成元数据任务 需要相当多的处理时间 我想知道如何允许表单提交直接保存到数
  • 应用程序在后台时远程推送通知 swift 3

    我有一个可以接收远程推送通知的应用程序 我已经实施了didReceiveRemoteNotification这样 func application application UIApplication didReceiveRemoteNoti
  • ActivityManager.getRunningTasks 已弃用 android

    我正在 android 中处理推送通知 我使用下面的方法来显示通知 但问题是现在 ActivityManager getRunningTasks 1 正在被弃用 从一个 stackoverflow 问题中我读到 你可以使用getAppTas
  • 如何在 Azure 中调试测试发送?

    I am trying to setup a successfull push notifications between my Net backend and ios client in azure I followed this htt
  • 应用程序未运行时处理推送通知

    当我的应用程序是not运行并收到推送通知 如果我单击该通知 应用程序将启动 但随后它不会提示用户我设置的警报视图 询问他们是否要查看通知的内容 它刚刚启动 就坐在那里 推送通知确实有效完美当应用程序is正在运行 无论是作为活动应用程序还是在
  • AWS SNS 发布到订阅的 Lambda 函数记录空字段

    试图将其发布到 AWS 论坛 但无论这意味着什么 我的帐户似乎 尚未准备好 我设置了一个 AWS Lambda 函数 用 Java 编写 该函数接受 POJO 以允许自动反序列化 JSON 我使用的测试 JSON 如下所示 表示一旦一切启动
  • 用于开发 iPhone 推送通知服务的 Google App Engine 的 Java 替代方案是什么?

    我是一名 Java 程序员 正在开发 iPhone 应用程序 我希望它使用推送通知服务 我原本以为我可以使用 Google App Engine 向 Apple 提供有效负载 但现在我发现这是不可能的 因为 App Engine 不支持与
  • 在 android studio 上单击推送通知后重定向到特定活动

    我正在努力开发一个 Android 应用程序 以便在单击所有传入的推送通知时将应用程序重定向到特定的活动页面 我是 Android 开发新手 对我的编程感到抱歉 下面是推送通知部分的 android manifest xml 如果对此主题有
  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • 推送通知需要很长时间才能到达

    我在适用于 iOS 和 Android 的 Adob e Air 应用程序中遇到推送通知的奇怪问题 我正在使用 Milkman Games 的 Easy Push ANE 以及 One Signal 服务 问题是通知确实会到达 但有时 随机
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 增加 iPhone 的推送通知徽章

    是否可以在收到通知时增加徽章值 或者我应该将计数作为有效负载发送吗 如果我每次都将徽章值发送为 1 那么如果应用程序未打开 我如何增加应用程序图标中的徽章值 我已经使用了这段代码 但不起作用 void application UIAppli

随机推荐

  • QToolButton:更改菜单位置

    使用菜单时QToolButton菜单显示在按钮的正下方 有没有办法在按钮的左侧 右侧显示菜单 我知道这个问题不久前已得到回答 但我想为此问题添加新答案 因为接受的答案不再有效 实际上 更改 QToolButton 上的菜单位置非常容易 您需
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • MVC + Razor:如何有条件地添加起始

    我想根据变量是否设置来修改div 所以我想做这样的事情 if SomethingIsSet div style background red else div style background blue 但我在 Visual Studio
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • 如何在 Swift Playgrounds 中获得弹出对话框

    我想知道如何在 Swift 中弹出一个对话框游乐场 是的 必须在 Playgrounds 中 我尝试了以下代码 直接来自 AppleDevs 站点 然而 无论我如何尝试 self tag always抛出错误 谁能帮我这个 import U
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • QCombobox 向下箭头图像

    如何更改Qcombobox向下箭头图像 现在我正在使用这个 QSS 代码 但这不起作用 我无法删除向下箭头边框 QComboBox border 0px QComboBox down arrow border 0px background
  • 如何在 Haskell 中漂亮地打印表格?

    我想在 Haskell 中漂亮地打印一个类似表格的数据结构 列列表 例如 Table StrCol strings a bc c IntCol ints 1 30 2 DblCol doubles 2 0 4 5 3 2 应该渲染类似 st
  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 变量前面加双下划线

    我的节点代码中有以下代码片段 var fs require fs fs readdir dirname function err files console log files 为什么变量 dirname 有双下划线 我知道一个下划线是私有
  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 语法:const {} = 变量名,任何人都可以解释或指出我正确的方向[重复]

    这个问题在这里已经有答案了 这个语法在 JavaScript 中意味着什么 可能是 ES6 const 变量名 我目前正在尝试掌握 React 在很多例子中我都遇到过这种语法 例如 const girls guys women men st
  • 使用数据库进行日志记录

    大多数日志似乎都是纯文本形式 而不是放入 MySQL 其他类型的数据库中 这是否有原因 在我看来 将它们放入数据库将使分析变得非常非常容易 但这会以牺牲速度还是其他什么为代价 我不太关心可移植性 显然你会有数据库连接的文本日志 我能想到两大
  • IE8 和 9 上的 socket.io 问题

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

    SELECT A id A title FROM table as A WHERE A active 1 AND A id IN SELECT GROUP CONCAT B id from B where user 3 如果我启动子查询SE
  • colorForth /mod 算法如何工作?

    我一直在看查克 摩尔 https en wikipedia org wiki Charles H Moore s 彩色前 https en wikipedia org wiki ColorForth最近 我发现了这段代码 以传统语法呈现 m
  • 在 mac 终端中加载库时出错

    有谁请帮忙 我该如何修复以下错误 dyld Library not loaded usr local lib libgdbm 4 dylib Referenced from usr local bin zsh Reason image no
  • AWS SNS 端点自行禁用

    我已将 Android 和 iOS 应用程序设置为能够通过 SNS 接收通知 设置工作正常 设备确实收到了通知 但后来 通知开始失败 我已经启用了成功和失败场景的日志记录 根据日志 我不断收到以下形式的错误 端点已禁用 arn aws sn