社区首页 >问答首页 >如何显示累积推送通知而不是同时显示多个倾向于同时出现的通知?

如何显示累积推送通知而不是同时显示多个倾向于同时出现的通知?
EN

Stack Overflow用户
提问于 2016-04-21 03:31:58
回答 1查看 367关注 0票数 3

每当添加新事件时,都会向用户发送推送通知。如果在行中添加了10个事件,则会向用户发送10个推送通知,这将是一种恼人的行为。

我希望这样做:如果连续添加了10个事件,或者在时间上彼此相距很近,只会向每个用户发送一个推送通知,上面写着:"#{event.name} and 19 others events added that match your interests."

以下是我迄今所做的工作:

last_sent_notification表中添加了一个字段users。每次添加新事件时,都会检查创建的事件不在last_sent_notification的2分钟半径内,并触发通知。

如果一个新创建的事件位于last_sent_notification的2分钟半径内,则会创建一个后台作业,该作业将等待任何其他即将到来的事件,并在2分钟后触发。如果在2分钟等待期间创建了一个新事件,则通知将考虑到在该2分钟等待期间创建的所有事件。

此问题的唯一缺点是:随着事件的添加,通知将不会立即发送。会有2分钟的延误。

是否有任何设计模式或最佳解决方案可以更好地完成这项工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-21 03:38:15

对于您来说,使用可折叠消息要简单得多,因为它就是为这种场景而设计的。

可折叠消息是一种消息,如果该消息尚未传递到设备,则可以由包含相同折叠键的新消息替换。

您所需要做的就是设置collapse_key参数。

如果这不是您真正想要的,那么您正在寻找的是一个队列和发送机制。这种事很容易用红葡萄酒来做。您当前的服务器端应用程序只是将GCM通知推送到redis队列中。如果已经有给给定用户的消息,则将替换该消息。

然后,您需要有另一个线程来不断监视redis队列,并发送超过n分钟的消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36768290

复制
相关文章
IDEA 中如何设置同时打开多个文件且分行显示
有时候要是打开多个文件,要么都显示在一行,要么因为空间不足,就给省略显示,这样看着,或者点着,都不是很方便 IntelliJ IDEA 这个编辑器就提供了应对办法,要是知道怎么设置,那是最好,不知道的可以参考如下图的修改: 1,修改上限值,可以最多显示30个tabs,
似水的流年
2019/12/05
2K0
Git - 同时向多个仓库推送改动
有时为了备份数据与同步工作,可能需要同时向多个仓库推送修改,本文记录实现方法。 实现方法 方法一 修改 .git/config 文件: 在 [remote "origin"] 下添加需要推送的 url 即可 [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = false [remote "origi
为为为什么
2022/08/09
9160
Git 同时向多个仓库推送代码
注意:首先需要在GitHub和Gitee建立相关的仓库。本例中,两个仓库的用户名和密码、仓库、路径全部一致,不一致的情况尚未测试。
耕耘实录
2023/07/24
2200
vim打开多个文件、同时显示多个文件、在文件之间切换 打开多个文件:
1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。
sunsky
2020/08/19
15.4K0
WebStorm2023新版设置多个窗口,支持同时显示多个项目工程
Appearance & Behavior -> System Settings> Project open project in New window:
JavaEdge
2023/09/09
1K0
WebStorm2023新版设置多个窗口,支持同时显示多个项目工程
推送-远程通知推送教程
本文翻译自:raywenderlich.com,原文作者:Jack Wu,译者:JMStack
進无尽
2018/09/12
4K0
推送-远程通知推送教程
PythonWebServer如何同时处理多个请求
源于知乎上一个问题:https://www.zhihu.com/question/56472691/answer/293292349
the5fire
2019/03/01
1.9K0
Arduino如何同时使用多个串口
如果想要给Arduino UNO R3同时接上WiFi模块和蓝牙模块时,但是Arduino的串口只有一个,怎样才能让Arduino同时使用多个串口呢?
小雨coding
2020/06/09
4.7K0
Arduino如何同时使用多个串口
推送通知策略分析
好的消息推送三要素:timely、personal、actionable。消息推送对用户留存率与活跃度至关重要。用户愿意打开消息推送,是对你的 App 的信任。 推送通知策略分析 智能手机的发展已经有近十年时间了,而在移动设备中,推送通知的潜力不可小觑。在进入 Slack 之前,Weiss 曾在 Foursquare 工作。Weiss 也曾是 Google 数据搜索项目的主要产品经理。对于推送通知的策略、投入、指标和准则,Weiss 有着深刻的智慧。 推送通知的发展 Weiss 总结了推送的三大特质:及时性、个人化和可操作性。在构建未来战略时,要考虑历史的车轮: 1. 推送通知的前辈 —— 电子邮件 在早期网络时代时,推送通知的形态其实就是电子邮件。电子邮件和推送之间有很多相似的地方。同样都是通过一个地址,让用户和网站进行开放式通信,甚至于电子邮件的「取消订阅」选项,其实就相当于通知中的推送设置。 2. 手机时代 当智能手机兴起后,用户越来越频繁地通过移动设备来完成娱乐甚至办公的需求,电子邮件在充当推送功能的这方面便开始没落了。作为互联网原住民的 90 及以后的用户,其实是很难感知到更早些时候的互联网习惯是 —— 每天检查邮箱好几次。因此当我们在回看历史的进展中,总会阅读到一些关于电子邮件如何成功进行营销的案例。 3. 来自短信的竞争 在手机上,推送通知是一则简短的文字。推送意味着需要很强的及时性,而不是像电子邮件一样发送出去后,几天内用户都未必会打开。另外值得关注的一点事,推送通知的实时性和对实时性的关注又是两个完全不同的概念,通过短信发送的通知,关注的优先级可能会更高。 4. 其他 App 也不是善类 当人们开始普遍使用智能手机时,屏幕基本是 4×4 网格,而现在,一个普通用户手机上大约有 55 个应用程序。对这么多的 App 来说,我们很难做到雨露均沾,不是每个应用都是 WeChat 或者 Facebook 这种国民级别的 App,因此这也就是推送通知变得越来越重要的原因。你的应用可能不会被用户经常使用,也可能不在主屏幕,甚至用户都可能忘了你,而一则推送则是唤醒用户的手段。 你不能依靠用户在天时地利时记起你,你得主动出击。 %image_alt% (Noah Weiss) 围绕以下原则构建推送策略 一则优秀的推送通知可能会考虑很多因素,比如设备附近的 WiFi、社会新闻热点或者其他重点组合起来考虑,再进行通知。Weiss 概述了他在开发推送通知系统时学到的基本经验: 1. 提升 App 的用户留存时间 从用户留存的角度来看,应用程序在脱离了它的功能之外,收益递减。因此在移动应用中,提高用户的留存时间是个不小的挑战。与此对应,现在已经有不少成熟的策略,诸如应用安装营销、社交渠道推广、SEO 和 SEM 等。然而真正的难点在于如何让新用户养成使用你 App 的习惯。 因此,在为你的应用打造所谓顶级用户体验之前,你得知道,仅仅当用户打开了这个应用程序才会有这个顶级用户体验。 2. 别让用户刚下载就想卸载 推送通知不仅是提升用户留存的好形式,同时在技术上也是必要的。在 iOS 平台,发送通知是必须让用户进行授权的权限,它不同于 Android 的直接授权,iOS 平台上下载安装完成应用后你必须提醒用户去设置这个权限。因此这成了一个关键节点,如果用户拒绝,那么很可惜,这个 App 对沉默用户将没有主动权,同时它的活跃度也会大幅下降。当然啦用户授权也不代表着这个 App 能怎样。 如果用户对这个 App 的推送感到厌烦,你能获得的最好的结果是用户主动选择某些通知处于活跃状态,而另一些通知保持沉寂。不过现实往往是残酷的,用户更可能到手机设置页面关掉所有推送通知,更坏的情况是直接卸载,而这个结果几乎是不可逆转的。 那么,应用的首次推送通知的体验将变得异常重要,否则用户就直接到设置界面投票了。 所以第一步是提醒用户进行通知权限的授权,如果用户答案是否定的,那其实后面也没什么关系了。它涉及用户忠诚度培养等其他东西,这是后话。鉴于通知权限的高额收益,如果你聪明的话,在这方面应该是非常谨慎的。 3. 三个指标衡量推送效益 用户拒绝通知权限请求的速度 卸载率 每百次操作 对于推送通知来说,你必须平衡用户积极参与和选择拒绝这二者之间的平衡。首先可以以卸载率和通知禁用率作为评估标准,对于消费者应用程序,卸载率低于 2% 是比较安全的。监控任何剧烈的数据波动都会有利于你的策略布置。 值得注意的一点事,要比较 iOS 和 Android 平台上的数据,因为 iOS 开放性远远低于 Android。同时,不同操作系统对于通知的处理方式也不一样,例如 Android 的通知可以显示内嵌照片,这可以提高 10% – 20% 的互动率。还有些通知是带有内置操作按钮,以便用
竹清
2018/08/31
1.5K0
Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
之前用的是 webkitNotifications.createNotification() 方法,现在已经不用了。 现在用的是 chrome.notifications.create() 方法。
小蓝枣
2020/09/24
2.5K0
Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
Django 2.1.7 使用内置messages显示通知消息
在Web应用程序中,有时候需要在处理表单或其他类型的用户输入后向用户显示一次性通知消息(也称为“flash消息”),例如:用户注册成功、订单提交完成等信息。
Devops海洋的渔夫
2019/08/22
1.6K0
Fluid -30- Waline 同时开启邮件和其他评论通知
其中 [wechat, qq, telegram, qywxAmWechat, pushplus, discord].every(think.isEmpty) 的意思就是前面这么多种通知,只要有任何一个不是空的结果就是 False
为为为什么
2023/02/18
5000
Android程序后台开启服务,显示通知栏
一个Android程序仅仅只能前台 运行是远远不够的,我们更希望它在后台运行,既可以接收消息,又不耽误我们去使用别的软件,这就要求我们要实现两点:
fanfan
2022/05/07
1.6K0
Android程序后台开启服务,显示通知栏
[SEO知识讲解] 如何同时优化多个关键词
这里所说的内容主体是小型企业网站。很多seoer的初衷都是想同时优化多个关键词,而不仅仅是单独的目标关键词排名。
AlexTao
2019/12/13
8920
Facebook 推送通知 Linkshim 绕过
在浏览和查找facebook漏洞时,我不小心发现了这个 facebook 推送通知链接
Khan安全团队
2022/01/21
1.1K0
推送-iOS本地通知
从 iOS 10 新增的 UserNotifications Framework 可以发现,Apple 整合了原有散乱的 API,并且增加了许多强大的功能。以 Apple 官方的角度来看,也必然是相当重视推送服务对 App 的影响、以及对 Apple iOS 生态圈长远发展的影响。
進无尽
2018/09/12
7.4K1
推送-iOS本地通知
Jenkins构建通知--推送gitlab
类似于监控报警,jenkins在配置持续集成后,job的执行将自动化,这就需要每次将构建结果通知到不同载体中进行查看。
陈不成i
2021/06/02
2.5K0
老王,怎么完整SQL的显示日志,而不是???...
在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate 、 MyBatis 等。
用户5224393
2019/10/16
1.4K0
点击加载更多

相似问题

如何同时显示多个通知

24

Android存储多个通知ID,允许同时显示多个通知

10

判断是否弹出解除推送通知(同时显示多个告警框)

11

chrome扩展-停止同时显示多个通知

119

为什么没有同时显示多个通知?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文