【问题标题】:How to store subscribed endpoints for sending Push notifications如何存储订阅的端点以发送推送通知
【发布时间】:2016-04-21 11:36:27
【问题描述】:

我正在处理推送通知,当用户订阅通知时,会生成一个唯一的端点。 我想知道如何将这些端点存储在数据库中,以便进一步使用这些端点向所有订阅用户发送通知

【问题讨论】:

  • 什么意思?端点是 URL,您可以将它们作为字符串保存在数据库中。
  • @marco 端点不是 urls。端点就像 ----"agjdijdbdbsgh256hshdh272-73sbbshhs" ---这个。这些用于向特定设备发送通知
  • 不,端点是 URL,例如 https://updates.push.services.mozilla.com/push/v1/SOME_UNIQUE_ID。端点不是SOME_UNIQUE_ID,而是整个URL。

标签: push-notification google-cloud-messaging endpoints progressive-web-apps


【解决方案1】:

正如official docs: 中突出显示的那样

  1. 客户端应用将注册令牌传递给应用服务器。

这里有两种可能的方法来实现这一点:

自己动手

直接从您的应用将注册 ID 发送到您的服务器并保存到数据库。您还可以存储您想用来识别此注册的任何其他唯一标识符(例如用户的电子邮件)并将它们存储在一起。

您可以在您的服务器中创建一个端点,例如 http://www.myserver.com/gcmregistrations 并在那里发布注册。

GCM 上游(不推荐)

如果您将 GCM 与 XMPP 服务器一起使用,您可以将注册 ID 作为 GCM 中的上游消息发送。

我不建议这样做,因为无法从您的应用中得知数据已成功发送。

【讨论】:

    【解决方案2】:
    const dummyDb = { subscription: null }
    const saveToDatabase = async subscription => {
    
        dummyDb.subscription = subscription
        console.log(dummyDb)
        //Stored in dummy memory
    }
    

    现在打电话 saveToDatabase(----Your subscription object----)

    这行得通!

    【讨论】:

      猜你喜欢
      • 2015-06-19
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多