0

Pour les notifications push dans android, FCM crée un jeton pour chaque périphérique. Dans ce scénario, si plusieurs utilisateurs utilisent le même périphérique pour la connexion, comment le jeton fonctionne-t-il pour la notification push? Si la notification push envoie uniquement pour l'utilisateur actuel, qu'en est-il de l'autre utilisateur qui a déjà utilisé l'appareil? cette notification sera-t-elle en file d'attente et envoyée si l'utilisateur est à nouveau actif sur le même appareil? S'il vous plaît aidez-moi dans ce scénario. Merci.Générer un jeton de périphérique pour la notification push FCM dans le même périphérique Android avec des informations d'identification différentes

+0

oui, une notification est envoyée à tous les utilisateurs si votre serveur ne pas supprimer ces jetons pour les anciens utilisateurs, mais notifications reçues uniquement cet appareil qui sont tous les utilisateurs –

+0

double possible de [Est-FCM (firebase messagerie cloud) jeton pour un appareil ou pour un compte?] (https://stackoverflow.com/questions/37693932/is-fcm-firebase-cloud-messaging-token-for-one-device-or-for-one-account) –

Répondre

0

Lorsque votre jeton est généré, il est stocké dans la chaîne refreshedToken. Cette instruction est exécutée en premier parce que nous créons un service. Donc, quand l'application est lancée .... le service est appel et nous devrions stocker cette chaîne dans la préférence partagée et que chaque fois que nous avons besoin de cette chaîne, nous voulons l'utiliser.

@Override 
public void onTokenRefresh() { 
    //Getting registration token 
    String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 
    // store the refreshedToken into shared preferencees. 
} 
+0

code extrait peut résoudre la question, [y compris une explication] (http://meta.stackexchange.com/questions/114762/explaining-entirely- code-based-answers) contribue vraiment à améliorer la qualité de votre message. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. –

+0

Lorsque votre jeton est généré, il est stocké dans la chaîne refreshedToken. Cette instruction est exécutée en premier parce que nous créons un service. Donc, quand l'application est lancée .... le service est appel et nous devrions stocker cette chaîne dans la préférence partagée et que chaque fois que nous avons besoin de cette chaîne, nous voulons l'utiliser. –

0

En fait, vous pouvez gérer en vérifiant votre connexion utilisateur id comparer avec UserId notification reçue dans votre message FCM recevoir méthode de service onMessageReceived().

Détail complète avec Exemple: Lorsque vous créez une notification du serveur s'il vous plaît userId avec le paramètre supplémentaire comme manière suivante,

{"to":"[add your token]","data":{"title":"[add title]","body":"[add your message]","userId":"[your userid]"},"priority":"high"} 

savoir après avoir fait cela s'il vous plaît comparer votre ID utilisateur de connexion et notification reçue et si les deux match puis génère votre notification locale une autre sage ne génère pas, vérifiez ci-dessous.

@Override 
    public void onMessageReceived(final RemoteMessage remoteMessage) { 
     Log.d("onMessageReceived-->", "getData ->" + remoteMessage.getData()); 
     super.onMessageReceived(remoteMessage); 
     try { 

      String userId=remoteMessage.getData().get("userId"); 
      if(userId==loginUserId){ 
       genrateLocalNotification(); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    }