Как стать автором
Обновить

Комментарии 4

НЛО прилетело и опубликовало эту надпись здесь

В данной статье описывается как можно отправить в топик клиенту сообщение через пересечение двух топиков news & locale. В этом смысл предлагаемой локализации. Например когда сообщения до firebase отправлялись через google cloud messaging то там не было возможности отправки сообщений на пересечение двух топиков. Поэтому аналогичный вариант можно было достигнуть или подписавшись с клиента на топик с конкретной локалью или же создав на сервере группу девайсов и послав сообщение в эту группу. Последний вариант отсутствует в api firebase хотя поддерживается для совместимости. Но появилась новая возможность посылать сообщение на conditions вместо топика

А если топику не выставили язык, или не все поддерживаемые языки выставили — клиент ничего не получит? А если клиент переключит язык — он снова получит те же самые уведомления?

Если говорить о конкретных кейсах, я например делаю так. Локаль присутсвует в каждом запросе клиента. Кроме того есть отдельное api на смену локали на которое я особенно не рассчитаю тк на момент вызова может отсутствовать интернет. При смене локали клиентом или устройством я изменяю сохранённую текущую локаль на новую и тут же подписываю клиента на новую локаль и отписываю от старой локали. Конечно есть небольшая вероятность о том что сообщение протиснется в тот промежуток когда активны две локали или не активна ни одна из локалей. В этом случае я наверное сделал бы дополнительно запаздывание на несколько секунд отписывается от подписки. При этом остаётся вероятность получения пуша сразу на двух локалях. Но по крайней мере все сообщения будут доставлены.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории