【问题标题】:Gmail API Push Notifications - PubSub to PHP/JS PWA?Gmail API 推送通知 - PubSub 到 PHP/JS PWA?
【发布时间】:2019-07-28 18:19:26
【问题描述】:

所以我很难弄清楚最好的方法是什么。我的目标是将来自 Gmail 的推送通知集成到我的 web 应用程序中,这样我的用户就不必每次都刷新页面来检查指定的 gmail 标签是否有未读邮件。

目前的架构是一个 PHP 后端,包括用户身份验证,以及一个服务帐户,使所有用户都可以“处理”他们的一个收件箱。

然后还有一层JS用于DOM操作等

现在我有点困惑如何最好地以推送方式显示这些 PubSub 消息。

我已经让客户为自己创建了对预先存在的主题的命名订阅,如果它还不存在的话,并且每天 1 次调用 watch() 以及拉取消息。但是拉消息只会在重新加载时发生,就像当前的行为一样。我想让它推送消息,并且用户可能会收到通知。

仅供参考,这个应用程序中也有一个服务人员,我想也许可以以某种方式使用它?这是第一次处理这样的事情,所以我对解决这个问题的最佳方法有点无能为力,所以任何帮助都将不胜感激!

【问题讨论】:

  • 您的代码看起来像什么不起作用?请提供一个 Minimal, Complete, and Verifiable example 来证明该问题。
  • 我的代码到目前为止有效。问题更多是建筑/规划之一。大多数人是否在 php 或工作人员中以某种方式在后端获取 pubsub 消息?或者我应该为特定路由启动一个额外的节点服务器以直接在 JS 中接受来自 Google 的发布请求?
  • 基本上我要问的是使用基于 php 的网络应用程序接收推送 pubsub 请求的常用方法

标签: php gmail-api publish-subscribe google-cloud-pubsub


【解决方案1】:

Google Cloud Pub/Sub 不太适合推送到最终用户设备。您可能最好使用 Firebase Cloud Messaging,它有 specific support for the web browser push api

我建议采用两阶段架构:首先将 Pub/Sub 推送到您的服务器端应用程序,然后将其通过 FCM 推送到客户端:

+-----+ Pub/Sub +-----------+
|Gmail+-------->+PHP web app|
+-----+         +-----------+
                      |FCM
                   +--+--+
                   |  |  |
                   v  v  v
                +--+--+--+--+
                |Browser/PWA|
                +-----------+

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 2018-04-17
    • 2012-02-19
    • 2021-06-11
    • 1970-01-01
    • 2017-08-14
    • 2020-10-18
    • 1970-01-01
    • 2021-07-20
    相关资源
    最近更新 更多