2

tout le monde, j'utilise firebase pour recevoir une notification push du serveur. Tout fonctionne correctement lorsque l'application est en cours d'exécution. J'ai reçu la notification, je la manipule et la montre sur le plateau de notification. Semble parfait. Voici mon code.Firebase Notification lorsque l'application est close (Problème)

public class FirebasePushService extends FirebaseMessagingService { 
    private static final String TAG = "FireBase main service "; 

    @Override 
    public void onMessageReceived(RemoteMessage remoteMessage) { 
     Log.d(TAG, "Got Message: " + remoteMessage.getFrom()); 
     try { 
      if (remoteMessage != null && remoteMessage.getNotification() != null 
        && remoteMessage.getNotification().getBody() != null) { 
       String body = remoteMessage.getNotification().getBody(); 

       Log.d(TAG, "From: " + remoteMessage.getFrom()); 
       Log.d(TAG, "Notification Message Body: " + body); 

      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 


    }} 

Code de manifeste.

<service android:name="app.asparagus.com.asparagus.firebase.FirebasePushService"> 
      <intent-filter> 
       <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
      </intent-filter> 
     </service> 

. Le problème est lorsque l'application est fermée. Pas de travaux de journal de cette classe, rien. Mais voici la partie intéressante. Je peux voir le JSON entier du serveur, et il est montré sur la barre de notification (l'objet entier de JSON est montré). Je ne comprends vraiment pas ce qui ne va pas dans mon code. Vérifiez l'image. 1- Le cas de réussite. enter image description here

2- Problème inconnu cas enter image description here

Répondre

0

Désolé pour la réponse tardive, j'ai trouvé la solution et Au cas où quelqu'un d'autre a problème avec it.Here est de la documentation firebase . types de messages

Avec FCM, vous pouvez envoyer deux types de messages aux clients: "messages d'affichage"

messages de notification, parfois considéré comme Data messages, qui sont traités par l'application client. Les messages de notification contiennent un ensemble prédéfini de clés visibles par l'utilisateur. Par contre, les messages de données ne contiennent que des paires clé-valeur personnalisées. Les messages de notification peuvent contenir une charge de données facultative fournie lorsque les utilisateurs cliquent sur la notification.

Utilisez le scénario
message de notification FCM affiche automatiquement le message à l'utilisateur final des appareils pour le compte de l'application cliente. Les messages de notification ont un ensemble prédéfini de clés visibles par l'utilisateur et une charge de données facultative de paires clé-valeur personnalisées.

Comment envoyer Dans un environnement de confiance telles que les fonctions Cloud ou votre serveur d'applications, utilisez le SDK Admin ou HTTP et API XMPP: définir la clé de notification. Peut avoir une charge utile de données facultative. Toujours pliable. Utiliser le composeur de notifications: Entrez le texte du message, le titre, etc., et envoyez. Ajoutez une charge utile de données facultative en fournissant des données personnalisées. Toujours pliable.

Utilisez le scénario

message de données application client est responsable du traitement des messages de données. Les messages de données ont uniquement des paires clé-valeur personnalisées. Dans un environnement approuvé, tel que Cloud Functions ou votre serveur d'applications, utilisez le SDK Admin ou les API HTTP et XMPP: Définissez la clé de données uniquement. Peut être repliable ou non repliable.

Link

0

De cette link, je pense que le message doit contenir à la fois la notification et la charge utile de données.

Ou vous pouvez peut-être définir la priorité du message à haut comme celui-ci one

{ 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "priority" : "high", 
    "notification" : { 
    "body" : "This week's edition is now available.", 
    "title" : "NewsMagazine.com", 
    "icon" : "new" 
    }, 
    "data" : { 
    "volume" : "3.21.15", 
    "contents" : "http://www.news-magazine.com/world-week/21659772" 
    } 
}