Com as mensagens de tópico do FCM, é possível enviar uma mensagem para vários dispositivos que se inscreveram em um tópico específico. Você escreve as mensagens de tópicos conforme necessário e o FCM processa, de maneira confiável, o encaminhamento e a entrega delas aos dispositivos certos.
Pontos principais sobre mensagens de tópicos:
- Mais adequado para informações disponíveis publicamente, como alertas de clima.
- As mensagens em tópicos são otimizadas para capacidade, não para latência. Para enviar mensagens com rapidez e segurança para apenas um dispositivo ou pequenos grupos, direcione as mensagens para tokens de registro em vez de tópicos.
Cotas e limites
As mensagens de tópicos permitem um número ilimitado de assinaturas para cada tópico. No entanto, o FCM impõe limites nestas áreas:
- Uma instância de app pode estar inscrita em no máximo 2.000 tópicos.
- Se você estiver usando a inscrição em lote para fazer a inscrição das instâncias de apps, cada solicitação estará limitada a 1.000 instâncias.
Limitação de assinaturas
A taxa de adição ou remoção de assinaturas de tópicos é limitada a 3.000 QPS por projeto.
A frequência de novas assinaturas é limitada por projeto. Se você enviar muitas solicitações de assinatura em um curto período, os servidores FCM responderão com uma resposta 429 RESOURCE_EXHAUSTED
("QUOTA_EXCEEDED"). Tentar novamente com a espera exponencial.
Limitação de Fanout
O fanout de mensagens é o processo de enviar uma mensagem para vários dispositivos, como quando se segmenta tópicos e grupos ou usa o Editor do Notificações para públicos-alvo ou segmentos de usuários.
O fanout das mensagens não é instantâneo e, de vez em quando, poderão ocorrer várias fanouts em andamento ao mesmo tempo. Limitamos o número de fanouts de mensagens simultâneas por projeto a 1.000. Depois disso, poderemos rejeitar novas solicitações de fanout ou adiar o fanout das solicitações até que alguns dos fanouts em andamento sejam concluídos.
A taxa de fanout real conquistada é influenciada pelo número de projetos que solicitam fanouts ao mesmo tempo. Uma taxa de fanout de 10.000 QPS para um projeto individual não é incomum, mas esse número não é uma garantia. Ele é um resultado da carga total no sistema. A capacidade de fanout disponível é dividida entre os projetos e não entre as solicitações de fanout. Portanto, se o projeto tiver dois fanouts em andamento, cada um verá apenas metade da taxa de fanout disponível. A maneira recomendada de maximizar a velocidade de fanout é ter apenas um fanout ativo em andamento por vez.
Próximas etapas
- Saiba como gerenciar inscrições em tópicos usando o SDK Admin ou no app cliente.
- Saiba como enviar mensagens para tópicos usando o SDK Admin ou a API HTTP v1 do FCM.