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 端点自行禁用 的相关文章

  • GCM 推送通知延迟

    我们有一个应用程序 Ruby on Rails 向 Android 应用程序发送推送通知 我们面临着 GCM 的问题 其中一些通知要么被延迟 要么从未收到 考虑到这些通知是发送给员工而不是最终用户 我的问题是 在没有任何延迟或丢失的情况下发
  • 为 MoonAPNS 创建 p12 文件时卡住了

    我在创建 p12 证书时遇到一些问题 我之前创建了一个带有推送通知的应用程序 效果很好 应用程序获取用户设备 ID 并将其保存到数据库中 我已将代码添加到我的新应用程序中 并进行了与新应用程序一起使用的修改 从日志来看 它的工作方式似乎与我
  • 如果使用推送服务关闭应用程序,应用程序会崩溃:parse.com

    我将清单中的接收器替换为我的
  • 如何在 Azure 中调试测试发送?

    I am trying to setup a successfull push notifications between my Net backend and ios client in azure I followed this htt
  • 推送通知 Drupal 模块 - 删除设备(Web 服务)

    我已经开始使用这个模块 并且我已经成功注册设备 按照他的作者发布的说明进行操作 here http www danielhanold com story drupal 7 push notifications how to register
  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • AWS SNS 端点自行禁用

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

    我正在运行推送通知 有用 我收到通知并使用 application didReceiveRemoteNotification 获取传入数据 然后将用户发送到必要的屏幕 问题是 如果您正在使用该应用程序并收到通知 它会跳转到目标屏幕 而不会发
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 应用程序位于前台时的 IOS Expo 推送通知

    从博览会文档中阅读 对于 iOS 明智的做法是处理以下推送通知 当应用程序处于前台时收到 因为否则用户 永远不会见到他们 应用程序运行时到达的通知 iOS 上的前台不会显示在系统通知列表中 A 常见的解决方案是手动显示通知 为了 例如 如果
  • 增量后清除推送通知徽章

    我正在研究 iPhone 中的推送通知 当我收到推送通知时 它在我的应用程序图标上显示 1 下次显示 2 3 4 如果我打开应用程序 它是 0 下次它应该是 1 2 3 4 但它显示最后一个数字和 1 我想在打开应用程序后重置推送通知徽章
  • 无需发送消息即可获取 GCM 规范注册 ID

    我在使用 GCM 的应用程序时遇到问题 情况如下 该应用程序已安装 应用程序调用 GCM 注册方法获取注册 ID RID 1 该应用程序已卸载 再次安装该应用程序 应用程序再次调用 GCM 注册方法 获取注册 ID RID 2 在第 5 步
  • didRegisterForRemoteNotificationsWithDeviceToken 停止被调用 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在测试我的应用程序是否使用 Push Notifs 一整天都好好的 突然就不行了 设置完全没有变化 经过更多调试后 我发现该函
  • 如何查看移动设备是否已注册

    我正在使用适用于 Amazon SNS 的 Amazon AWS Ruby SDK 但在已注册的设备方面遇到一些问题 有时 当设备再次注册时 我会收到类似错误AWS SNS Errors InvalidParameter Invalid p
  • 当应用程序处于后台时,传递数据的 FCM Intent 在哪里?

    我已经在我的应用程序中实现了 Firebase 并且正在发送带有额外数据的推送 当我的应用程序位于前台时 我正在正确处理数据并显示我自己的通知 但是当应用程序 驻留 未终止 时 Firebase 自动 显示通知时 我在获取数据时遇到问题 根
  • iOS - 当应用程序被终止时处理静默推送通知

    我目前在 iOS 中遇到推送通知问题 我的应用程序收到包含标识符的静默推送通知 然后 该标识符用于从创建本地通知的远程服务器获取数据 据我所知 如果用户强制退出应用程序 即通过双击主页按钮并滑动关闭应用程序 则静默推送通知不会传递到 App
  • 尝试向 FCM 服务器进行身份验证时发生错误

    尝试向 FCM 服务器进行身份验证时发生错误 确保用于验证此 SDK 的凭据具有适当的权限 看https firebase google com docs admin setup https firebase google com docs
  • 当我的 Android 应用程序位于前台时,我想隐藏其他应用程序的所有通知。这可能吗?如何?

    我正在创建一个教育应用程序 学生可以在其中参加 5 分钟的快速考试 大多数时候他们使用父母的手机 现在我想要的是 当学生参加考试时 任何其他应用程序 例如 WhatsApp FB 或 Gmail 不应发出任何通知 这可能吗 如何 一种可能的
  • 在前台显示通知 React Native Firebase v6

    我正在使用最新的 React Native 版本 0 62 和最新版本的 React Native Firebase 即 v6 我能够收到通知 它在后台工作正常 但不显示在前台 Here is the screenshot 这是我的代码 c
  • 如果 UIBackgroundModes 中定义的远程通知和新的推送通知出现,iOS 是否会在重新启动后在后台启动应用程序?

    我有一个 iOS7 应用程序 它注册后台模式远程通知

随机推荐

  • 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