Как удалить тему из консоли Firebase? (ФКМ)

Кто-нибудь знает, как удалить клиентскую тему из консоли Firebase?


person Vkay    schedule 05.06.2016    source источник


Ответы (1)


Невозможно удалить topic напрямую. Даже если у вас есть сервер приложений. Вот что я могу сказать после просмотра документов GCM и FCM.

Насколько я понимаю, topic создается, когда есть хотя бы 1 подписчик, и также автоматически удаляется, когда подписчиков больше нет. Поэтому я думаю, что это можно сделать, отписав всех подписчиков этого topic.

Более подробную информацию об отказе от подписки можно найти в документах Управление подписками на темы на сервере (оба приведенных ниже сайта в значительной степени говорят об одном и том же, но я думаю, что уместно предоставить ссылку на оба из них ):

Надеюсь, это как-то поможет. Ваше здоровье! :)

person AL.    schedule 06.06.2016
comment
Что делать, если вы не знаете всех подписчиков? В нашем случае старые темы можно удалить, потому что сообщения больше никогда не отправляются. Но мы не ведем собственный список пользователей, подписавшихся на эту тему. В конце концов, это одно из преимуществ FCM по сравнению с GCM. Я слышал, что на одного пользователя может быть подписано не более 2000 тем. Поэтому, если вы не отслеживаете каждую отдельную тему для каждого пользователя и не достигаете предела 2000. Что происходит и как это решить? - person Gillis Haasnoot; 12.03.2019
comment
Я предполагаю, что вы нашли предел 2000 здесь. Как я упомянул в своем комментарии, нет никакого официального документа, в котором бы устанавливалось это ограничение — если вы хотите убедиться, что ограничение составляет все еще (?) 2000, я предлагаю провести тест твой собственный. Я не сталкивался с достижением лимита (я даже не могу представить, чтобы один токен был подписан на такое количество), но в сообщении говорится, что вы получите сообщение об ошибке. В настоящее время нет возможности удалить тему, единственное решение сейчас — отслеживать подписку (либо по теме, либо по пользователю). - person AL.; 12.03.2019
comment
В нашем случае пользователи могут подписаться на предстоящие спортивные события. За год использования приложения многие пользователи подписались на более чем 2000 тем. Конечно из которых 90% уже не используются так как они все старые события. Вот почему я просто хочу удалить всех пользователей из определенной темы. Очень раздражает, что этой функции нет. - person Gillis Haasnoot; 18.03.2019
comment
В моем случае я просто хочу убедиться, что сообщение конкретному пользователю не отправляется дважды, пока он снова не подпишется. Также в моем случае подписка и отправка сообщения в тему являются распределенными процессами, поэтому во время отправки у меня нет записей пользователя для отписки. - person Shobhit Mishra; 15.05.2019
comment
@АЛ. Поведение, о котором вы упомянули, со мной не происходит. Я создал тему и отписал всех пользователей из созданной темы, но тема существует в базе данных firebase и не удаляется автоматически, хотя я не получал никаких уведомлений после отмены подписки (что является правильным поведением). Когда нет подписчиков, тема остается такой же, как и была. - person Shashank Shah; 29.12.2020
comment
@ShashankShah Темы, перечисленные в консоли Firebase, не обновляются в реальном времени. Дайте ему около 24-48 часов - person AL.; 30.12.2020