diff --git a/native/android/app/src/main/java/app/comm/android/CommNotificationsHandler.java b/native/android/app/src/main/java/app/comm/android/CommNotificationsHandler.java
--- a/native/android/app/src/main/java/app/comm/android/CommNotificationsHandler.java
+++ b/native/android/app/src/main/java/app/comm/android/CommNotificationsHandler.java
@@ -5,6 +5,7 @@
 import android.service.notification.StatusBarNotification;
 import android.util.Log;
 import app.comm.android.fbjni.CommSecureStore;
+import app.comm.android.fbjni.MessageOperationsUtilities;
 import app.comm.android.fbjni.NetworkModule;
 import app.comm.android.fbjni.ThreadOperations;
 import com.google.firebase.messaging.RemoteMessage;
@@ -12,6 +13,8 @@
 import io.invertase.firebase.messaging.RNFirebaseMessagingService;
 import java.io.File;
 import me.leolin.shortcutbadger.ShortcutBadger;
+import org.json.JSONException;
+import org.json.JSONObject;
 
 /**
  * We're extending RNFirebaseMessagingService here instead of
@@ -46,6 +49,7 @@
   private static final String BACKGROUND_NOTIF_TYPE_KEY = "backgroundNotifType";
   private static final String THREAD_ID_KEY = "threadID";
   private static final String SET_UNREAD_STATUS_KEY = "setUnreadStatus";
+  private static final String MESSAGE_INFOS_KEY = "messageInfos";
   private NotificationManager notificationManager;
 
   @Override
@@ -91,6 +95,16 @@
       return;
     }
 
+    String rawMessageInfosString = message.getData().get(MESSAGE_INFOS_KEY);
+    File sqliteFile =
+        this.getApplicationContext().getDatabasePath("comm.sqlite");
+    if (rawMessageInfosString != null && sqliteFile.exists()) {
+      MessageOperationsUtilities.storeMessageInfos(
+          sqliteFile.getPath(), rawMessageInfosString);
+    } else if (rawMessageInfosString != null) {
+      Log.w("COMM", "Database not existing yet. Skipping notification");
+    }
+
     super.onMessageReceived(message);
   }