diff --git a/native/ios/NotificationService/NotificationService.mm b/native/ios/NotificationService/NotificationService.mm
--- a/native/ios/NotificationService/NotificationService.mm
+++ b/native/ios/NotificationService/NotificationService.mm
@@ -1,4 +1,7 @@
 #import "NotificationService.h"
+#import "../Comm/Tools.h"
+#import "Logger.h"
+#import "MessageOperationsUtilities.h"
 
 @interface NotificationService ()
 
@@ -18,6 +21,19 @@
   self.bestAttemptContent = [request.content mutableCopy];
 
   // TODO modify self.bestAttemptContent here
+  NSString *rawMessageInfosString =
+      self.bestAttemptContent.userInfo[@"messageInfos"];
+  NSString *sqliteFilePath = [Tools getSQLiteFilePath];
+
+  if (rawMessageInfosString &&
+      [NSFileManager.defaultManager fileExistsAtPath:sqliteFilePath]) {
+    std::string sqliteFilePathStdStr = [sqliteFilePath UTF8String];
+    std::string rawMessageInfosStdStr = [rawMessageInfosString UTF8String];
+    comm::SQLiteQueryExecutor::initialize(sqliteFilePathStdStr);
+    comm::MessageOperationsUtilities::storeMessageInfos(rawMessageInfosStdStr);
+  } else if (rawMessageInfosString) {
+    comm::Logger::log("Database not existing yet. Skipping notification");
+  }
 
   self.contentHandler(self.bestAttemptContent);
 }