【问题标题】:How do I set up an App Engine backend for a Chrome Extension?如何为 Chrome 扩展程序设置 App Engine 后端?
【发布时间】:2014-09-25 22:14:14
【问题描述】:

我希望能够从 Python Google App Engine 服务器向 Chrome 扩展发送一条小推送消息。从网上搜索来看,我最好的选择似乎是 Google Cloud Messaging。 (https://developer.chrome.com/apps/cloudMessaging)

但是,GCM 的 Chrome 扩展端(相对于 GCM 的 Android 端)的文档非常差。我无法弄清楚要在我的 App Engine 服务器中包含哪些 Python 代码才能与 Chrome 扩展程序通信。

我能找到的唯一信息是在上面链接的页面上,它有以下关于从服务器发送消息到扩展的描述:

  1. 您的应用或扩展客户端应注册一个处理程序以接收 gcm.onMessage 事件。
  2. 当您的服务器向用户发送消息时,它会指定与该用户相关的所有注册 ID,并将消息传递给 GCM 服务。
  3. GCM 服务器将消息路由到所有运行具有注册 ID 之一的应用或扩展程序的 Chrome 实例。
  4. 当消息到达客户端时,Chrome 会启动应用程序或扩展程序(如果尚未运行)并调用注册的处理程序来处理消息。

文档没有提及服务器如何将消息准确地传递给 GCM 服务。

我希望有人知道如何将推送消息从 App Engine 服务器发送到 Chrome 扩展程序。

感谢您的宝贵时间!

【问题讨论】:

    标签: google-app-engine google-chrome-extension google-cloud-messaging


    【解决方案1】:

    这不是“Chrome 扩展方面”,而是您的概念问题。您正在查看错误的文档。

    您正在寻找实现 GCM 服务器,文档为 here

    您也可以搜索示例代码,例如this python GAE server

    【讨论】:

    • GCM 可以将消息发送到 Chrome 扩展程序或 Android 设备。您链接到的两件事都是指在 GCM 服务器和 Android 之间发送消息。例如,“此应用程序服务器通过所选的 GCM 连接服务器将数据发送到启用 GCM 的 Android 应用程序”来自第一个链接和“此模块旨在处理您在服务器上处理 Android GCM 消息时必须考虑的所有事情" 从第二个开始。
    • 没有明显区别。 Android 客户端或 Chrome 客户端请求注册 ID,然后服务器没有区别。
    • 事实上,为了进一步解释这一点:过去 Chrome 有一个单独的云消息 API,但过了一段时间,这个 API 被引入,特定的 API 就消失了。它们现在合并为一个。 Chromium 博客链接:[1][2]
    • 啊,好吧!我没有意识到 Android 和 Chrome 功能已经合并。我会试一试。谢谢,Xan!
    • 即使目标是 Chrome 扩展程序,我是否仍将 POST 请求发送到“android.googleapis.com/gcm/send”(如文档中所述:developer.android.com/google/gcm/http.html)?
    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    相关资源
    最近更新 更多