1

J'ai une application simple avec deux activités: activité de connexion et activité principale.Notification - Séquence d'activité

Normalement, l'activité de connexion envoie des données utilisateur à l'activité principale. Cependant, parfois, je reçois des notifications qui mènent directement à l'activité principale. Le problème est lorsque je vais directement à l'activité principale, car je n'ai aucune donnée utilisateur. Voici un petit aperçu:

Activité Connexion --user données -> Activité principale < - NO données utilisateur - Notification

Quelle est la meilleure façon de traiter cette situation?

+0

Ajoutez les données utilisateur à la charge utile de votre message. –

+1

Cela fonctionne, 10x! Je suppose que c'est la seule façon –

+0

Cool. J'ai remarqué que vous avez mis en réponse. Mais je vais aller de l'avant et ajouter dans ma réponse. –

Répondre

0

Comme par mon commentaire, vous pouvez mettre les détails de l'utilisateur dans votre charge utile du message, en particulier dans la charge utile data. Toutefois, vous devez vous assurer que vous n'envoyez des données sensibles qu'à l'utilisateur correspondant. Dans votre exemple de charge utile, vous envoyez les détails à un sujet, ce qui signifie que tous les utilisateurs abonnés à ce sujet le recevront. Une autre solution de contournement que je peux penser est d'envoyer uniquement un ID spécifique, puis lors de l'ouverture de l'activité, qu'il récupère les détails à partir de votre serveur. Je pense que c'est plus sécurisé.

+1

Cela semble juste. Cependant, je n'abonne chaque utilisateur qu'à la rubrique portant son nom d'utilisateur afin qu'il puisse recevoir une notification personnelle. Je pense que ça va. –

0

Comme AL. vous pouvez envoyer il suggéré à l'utilisateur (ou toute autre donnée) dans la charge utile

https://fcm.googleapis.com/fcm/send 
Content-Type:application/json 
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA 
{ 
    "to": "/topics/foo-bar", 
    "data": { 
    "message": "This is a Firebase Cloud Messaging Topic Message!", 
    "user": { 
     "id": 1, 
     etc... 
    } 
    } 
}