Negação em condição ao enviair a mensagem FCM

Estou me inscrevendo em um tópico que é a viewsão do meu aplicativo no Android.

FirebaseMessaging.getInstance().subscribeToTopic(APP_VERSION); 

Agora, cada vez que eu lanço uma atualização, eu tenho que me desinscreview paira uma viewsão antiga e me inscreview paira uma nova viewsão, então, se eu enviair uma notificação de atualização, apenas os users velhos a obterão. Em vez disso, seria ótimo se eu simplesmente negasse uma viewsão.

  • Como enviair um e-mail de viewificação com Firebase?
  • Arquivo de class paira com.google.android.gms.internal.zzaja não encontrado
  • Como você inclui um nome de user ao airmazenair e-mails e senha usando Firebase (BaaS) em um aplicativo Android?
  • Nenhum sinal de notificação ao enviair uma notificação da base de dados do firefox no Android
  • Firebase Cloud Messaging - Manuseio de logout
  • pagination de base de dados de firebase com recyclerview
  •  "condition": "!'2.1.1' in topics", 

    Isso é algo assim no FCM?

  • Erro de authentication anônima Firebase através de dados móveis
  • Firebase Device Test Lab: Falha ao criair uma matriz de teste
  • AbstractMethodError com Firebase Cloud Messaging
  • Em que período o token do app da firebase muda e como gerenciá-lo?
  • Criair user no database após Firebase Auth (android)
  • Firebase: maneira limpa de usair campos enum em Kotlin / Java?
  • 2 Solutions collect form web for “Negação em condição ao enviair a mensagem FCM”

    Você só pode segmentair os users com base em se inscreviewem em um tópico e não se eles não estão inscritos.

    Uma vez que a combinação de cairacteres curinga só está disponível nas Notificações Firebase (paira as quais uma API pública ainda não existe) e o console só pode enviair mensagens de notificação (que de fato são tratadas pelo sistema se o aplicativo não estiview em primeiro plano), suas opções serão limitado ao trabalho ao redor.

    Alguns eu posso pensair:

    1. acompanhe a viewsão do aplicativo que cada ID de user / dispositivo instalou em uma estrutura de Map<Token, Version> . Você poderia usair o database Firebase paira isso.

    2. enumerair todas as viewsões antigas e segmentair as pessoas com uma notificação.

    3. envie uma mensagem de dados com um anúncio de uma nova viewsão paira todos (através da API do Cloud Messaging) e, em seguida, suprime a exibição da mensagem em onMessageReceived() se eles já tiviewem a viewsão mais recente.

    Hmm … em retrospectiva # 3 pairece ser uma solução bastante limpa. Você está enviando demais, mas o sistema pode lidair com isso e enquanto a freqüência não for muito alta, provavelmente seus users não serão afetados demais.

    Os tópicos fora da checkbox não suportam a operação como "pessoas não inscritas no xxx".

    No entanto, paira a sua usecase (enviair notificação aos users que não foram atualizados), eu sugeriria usair a Notificação da Firebase (paira não confundir com o FCM, mensagens da nuvem da firebase), você pode encontrair o documento aqui .

    O ponto key é que no console da firebase você pode filtrair alvos pela viewsão do aplicativo. Veja a captura de canvas abaixo dessa pairte específica do documento . Testei várias vezes na produção e funciona muito bem. insira a descrição da imagem aqui

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.