【问题标题】:Maximum number of topics on Google Cloud MessagingGoogle Cloud Messaging 上的最大主题数
【发布时间】:2016-05-01 04:30:59
【问题描述】:

我想避免在应用程序级别管理设备令牌的复杂性

  1. 一位用户在 iOS 和 Android 上使用多台设备
  2. 多个用户订阅了一个应用程序组

将#1 和#2 作为 GCM 上的主题显然是一个简单的解决方案。 这样我只需要在发送通知时处理我的应用程序 UserIds 和 GroupIds。

1) 设备注册时(iOS/Android),我只是为设备订阅主题 ["USER_A", "GROUP_A", "GROUP_B"]

2) 发送通知时,只发送到一个主题。

但是,这意味着,主题数 = 用户 + 组。

100 万用户 + 50 万组 = 150 万个 GCM 主题

我的问题是..

  1. GCM 上的主题数量是否有限制?
  2. 有没有更好的方法来避免管理设备订阅,而不必在传递消息时处理其复杂性。

【问题讨论】:

  • 当您可以直接发送消息(而不是主题)时,为什么要发送到名为用户的主题
  • 直接发送时,必须使用deviceId。如果用户登录到多个设备,我必须做“设备组消息”developers.google.com/cloud-messaging/notifications 这很乏味,您可以通过使用主题作为用户名并让用户订阅它来摆脱所有这些。

标签: android ios google-app-engine push-notification google-cloud-messaging


【解决方案1】:

对于#1:

不。根据他们在 2015 年 12 月的 blog

我们现在很高兴地宣布,我们允许为您的应用提供无限的免费主题。这意味着应用开发者可以在每个主题中放置无限数量的设备并创建无限数量的主题。

据我所知,主题数量仍然没有任何变化。

#2

我认为这在很大程度上取决于您的偏好。对于您在#1 中的用例,我认为设备组消息是可以使用的。但是由于您的目标是避免过多的复杂性,我认为您使用主题消息所做的几乎就是它。我实际上发现了这个post,它有点讨论在两者之间使用什么,如果你愿意的话,cmets 非常有启发性。 :D

干杯! :)

【讨论】:

  • 感谢您的博客链接。我将针对所有情况进行基于主题的推送。它很容易管理。但为了安全起见,我们还将所有令牌保存在应用服务器中。
【解决方案2】:

GCM 已取消对主题和订阅的限制 FCM 也支持相同的 检查这个:https://firebase.google.com/docs/cloud-messaging/android/topic-messaging

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多