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

Definir e gerenciar a prioridade da mensagem

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

Você tem duas opções para atribuir prioridade de entrega a mensagens downstream no Android: prioridade normal e alta. A entrega de mensagens normais e de alta prioridade funciona assim:

  • Prioridade normal. Esta é a prioridade padrão para mensagens de dados . As mensagens de prioridade normal são entregues imediatamente quando o dispositivo não está em hibernação. Quando o dispositivo está no modo Doze , a entrega pode ser atrasada para economizar bateria até que o dispositivo saia do modo de cochilo. Para mensagens menos sensíveis ao tempo, como notificações de novo e-mail, mantendo sua interface do usuário sincronizada ou sincronizando dados do aplicativo em segundo plano, escolha a prioridade de entrega normal.

    Ao receber uma mensagem de prioridade normal no Android que solicita uma sincronização de dados em segundo plano para seu aplicativo, você pode agendar uma tarefa com o WorkManager para lidar com isso quando a rede estiver disponível.

  • Prioridade máxima. O FCM tenta entregar mensagens de alta prioridade imediatamente, permitindo que o FCM acorde um dispositivo inativo quando necessário e execute algum processamento limitado (incluindo acesso à rede muito limitado). As mensagens de alta prioridade geralmente devem resultar na interação do usuário com seu aplicativo ou suas notificações.

Usando mensagens de alta prioridade para Android

As mensagens de alta prioridade no Android destinam-se a conteúdo visível ao usuário sensível ao tempo e devem resultar em notificações voltadas para o usuário. Se o FCM detectar um padrão no qual as mensagens não resultam em notificações voltadas para o usuário, suas mensagens podem perder a prioridade para a prioridade normal. O FCM usa 7 dias de comportamento de mensagem ao determinar se deve despriorizar as mensagens; ele faz essa determinação de forma independente para cada instância de seu aplicativo. Se, em resposta a mensagens de alta prioridade, as notificações forem exibidas de forma visível para o usuário, suas futuras mensagens de alta prioridade não perderão a prioridade. Isso se aplica se a notificação for exibida pelo FCM SDK por meio de uma mensagem de notificação ou uma notificação gerada pelo desenvolvedor por meio de uma mensagem de dados .

Medindo a despriorização de mensagens no Android

  • Mensagens Individuais. Na entrega, você pode determinar se uma mensagem individual foi despriorizada ou não comparando sua prioridade entregue, de getPriority() , com sua prioridade original, de getOriginalPriority()

  • Todas as mensagens. A API de dados de entrega agregada do FCM pode relatar qual porcentagem de todas as suas mensagens para o Android está sendo despriorizada. Algumas mensagens podem ser omitidas dos relatórios de dados agregados, mas, no geral, devem fornecer uma visão global das taxas de despriorização de mensagens. Consulte nosso artigo sobre dados de entrega agregados para obter mais informações e código de amostra para consultar a API; ele também pode ser explorado a partir do API explorer .

Solução de problemas

  • Certifique-se de que sua instância de aplicativo tenha notificações ativadas. Se o usuário tiver desabilitado a permissão de notificação para seu aplicativo, nenhuma de suas notificações será postada, como resultado, suas mensagens serão despriorizadas. Você deve verificar se as notificações estão ativadas antes de enviar mensagens de alta prioridade para uma instância do aplicativo.

  • Não ligue para casa antes de postar uma notificação. Como uma pequena parte da população móvel Android está em redes de alta latência, evite abrir uma conexão com seus servidores antes de exibir uma notificação. Chamar de volta para o servidor antes do final do tempo de processamento permitido pode ser arriscado para usuários em redes de alta latência. Em vez disso, inclua o conteúdo da notificação na mensagem do FCM e exiba-o imediatamente. Se precisar sincronizar para obter conteúdo adicional no aplicativo no Android, você pode agendar uma tarefa com o WorkManager para lidar com isso em segundo plano.