php - 从我的服务器发送推送通知的好习惯?
问题描述
我的应用程序上有一个消息服务。每次有人发送消息时,我都需要发送推送通知。至少对于 iOS,我了解它是如何工作的:我每 3000 万次在我的服务器上做一项工作,请求一个新的 Apple Token。使用此令牌每 3000 万次刷新一次,我可以向 Apple 服务器发送请求,以向我从客户端应用程序检索到的设备令牌发送推送通知。
不过,在我开始开发所有这些之前,我想知道是否有一个好的做法来发送所有这些通知。我在想:如果我的应用程序上的每条消息都发送一个推送通知,那么执行此操作的“简单”方法是在我的 PHP 服务器中创建一个套接字,并针对我的客户端应用程序所做的每个请求向 Apple 发送一个请求。只有当 Apple 响应我们的推送通知请求时,我们才会响应我们的客户端应用程序。
然而,这个解决方案可能会极大地减慢我的应用程序,因为从我的客户端应用程序到我的服务器的每个 HTTP 请求都必须等到 Apple 响应。
然后,我想知道当从我的客户端到我的服务器的请求完成时,将推送通知(在数据库中)排队是否会更好,并且每秒执行一项工作以获取所有排队的新推送通知最后其次,为了将它们分组发送到 Apple,在一个请求中。是常做的事吗?还是我高估了 Apple 响应每个请求的时间?
解决方案
推荐阅读
- excel - Excel数据透视表未以正确格式显示单元格的值
- xamarin.android - Xamarin.Android java.lang.NoClassDefFoundError:解析失败:Lcom/google/android/gms/R$string
- django - django-crontab 一天后缺少哈希
- python - 替换打印语句中的单个字符
- sql - SQL Server 存储过程使用各种字段以及日期范围进行搜索
- c# - 蛮力算法仅打印 0
- python - OpenCV Python Windows:ImportError:DLL加载失败:找不到指定的模块
- yii2 - Yii2:ajax 发布请求总是重定向到登录页面
- vim - 属性前带有空格以使它们从同一列开始的代码格式的名称是什么?
- python - PySCIPOpt/SCIP - isLPSolBasic() 不在 pyscipopt.scip.Model 中