多个站点 Web 推送是不是需要多个 gcm_sender_id?

Posted

技术标签:

【中文标题】多个站点 Web 推送是不是需要多个 gcm_sender_id?【英文标题】:Are multiple gcm_sender_ids mandatory for multiple site web push?多个站点 Web 推送是否需要多个 gcm_sender_id? 【发布时间】:2017-04-02 07:00:24 【问题描述】:

我们是一家经营大约 500 个大大小小的网站的公司。 (自营、外包……)

我们正在尝试向这些网站附加通知。 我知道,当我使用我的 Google Developer Center 帐户登录并获取 gcm 服务时,我会得到一个 gcm_sender_id

    在 500 个大小站点上使用此作为“网络推送”有什么问题吗?发布了一个 sender_id? 如果您同时向 500 个站点的每个成员发送网络推送,则可能是数十万到数百万。 (当然一次最多可以申请1000次。) 我想知道添加此类限制是否有任何问题。

    我们看到类似的管理机构,他们似乎向每个新站点发出不同的gcm_sender_id。 这个问题可以在一个开发者中心帐户中使用多个gcm_sender_id 吗? 我问了他一点,他说是自动的。

如果您是管理机构站点的会员,只需注册站点即可创建站点,gcm_sender_id会实时自动发出。

在这么短的时间内,我想注册一个谷歌开发者中心帐户并立即给我一个gcm_sender_id,并想知道gcm_sender_id 是否会立即发出。 (我提到的公司不隶属于谷歌。)

另外,如果你想为 500 个网站创建一个网络推送,为什么你必须以不同的方式发出 gcm_sender_id 或者为什么?

【问题讨论】:

【参考方案1】:

您可以为多个使用相同的发件人 ID。

问题在于,如果发生滥用行为,可能难以在不同客户中识别实际发件人(如果每个网站属于不同的公司)。所以我想说最好的方法是为每个客户创建一个不同的发件人 ID(正如该机构所建议的那样)。 另一方面,如果同一个客户的域包含许多子域,例如,您可以使用单个发件人 ID,因为发件人/客户实际上是相同的。

但是,我建议您使用 VAPID (standard) 来自动使用 Firebase Cloud Messaging(以前称为 GCM)来自动注册发件人。使用发件人 ID 是一种遗留的专有方法,将来可能会被弃用。

阅读this article 开始使用 VAPID,或使用自动支持 VAPID 的网络推送服务,为您节省大量时间和麻烦。

【讨论】:

以上是关于多个站点 Web 推送是不是需要多个 gcm_sender_id?的主要内容,如果未能解决你的问题,请参考以下文章

nginx_include发布多个web站点

Tomcat建立多个应用(Web Server),多个主机,多个站点的方法

使用 Apache Web 配置多个站点

nginx怎么配置多个web

同一站点的多个选项卡是不是发送多个 ajax 调用?

WCF net.tcp 绑定:托管多个服务是不是需要端口共享?