Acompanhe tudo o que foi anunciado no Firebase Summit e saiba como usar o Firebase para acelerar o desenvolvimento de apps e executá-los com confiança. Saiba mais

Mensagens de tópico no Flutter

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Com base no modelo de publicação/assinatura, as mensagens de tópico do FCM permitem que você envie uma mensagem para vários dispositivos que optaram por um determinado tópico. Você compõe mensagens de tópicos conforme necessário e o FCM lida com o roteamento e entrega da mensagem de forma confiável para os dispositivos certos.

Por exemplo, os usuários de um aplicativo de previsão de maré local podem optar por um tópico de "alertas de correntes de maré" e receber notificações sobre condições ideais de pesca em água salgada em áreas específicas. Os usuários de um aplicativo de esportes podem se inscrever para receber atualizações automáticas dos resultados dos jogos ao vivo de seus times favoritos.

Algumas coisas a ter em mente sobre os tópicos:

  • As mensagens de tópicos são mais adequadas para conteúdo como previsão do tempo ou outras informações disponíveis publicamente.

  • As mensagens de tópico são otimizadas para taxa de transferência em vez de latência . Para entrega rápida e segura para dispositivos únicos ou pequenos grupos de dispositivos, direcione as mensagens para tokens de registro , não para tópicos.

  • Se você precisar enviar mensagens para vários dispositivos por usuário , considere mensagens de grupos de dispositivos para esses casos de uso.

  • As mensagens de tópicos oferecem suporte a assinaturas ilimitadas para cada tópico. No entanto, o FCM impõe limites nestas áreas:

    • Uma instância de aplicativo pode ser inscrita em até 2.000 tópicos.
    • Se você estiver usando a importação em lote para assinar instâncias de aplicativo, cada solicitação será limitada a 1.000 instâncias de aplicativo.
    • A frequência de novas assinaturas é limitada por projeto. Se você enviar muitas solicitações de assinatura em um curto período de tempo, os servidores FCM responderão com uma resposta 429 RESOURCE_EXHAUSTED ("cota excedida"). Tente novamente com recuo exponencial.

Inscrever o aplicativo cliente em um tópico

Os aplicativos cliente podem se inscrever em qualquer tópico existente ou podem criar um novo tópico. Quando um aplicativo cliente se inscreve em um novo nome de tópico (um que ainda não existe para seu projeto do Firebase), um novo tópico com esse nome é criado no FCM e qualquer cliente pode subseqüentemente se inscrever nele.

Para se inscrever em um tópico, chame subscribeToTopic() com o nome do tópico. Este método retorna um Future , que resolve quando a assinatura foi bem-sucedida:

await FirebaseMessaging.instance.subscribeToTopic("topic");

Para cancelar a assinatura, chame unsubscribeFromTopic() com o nome do tópico.

Próximos passos