                 soundName: "isotoxin_Ringtone.aac")
 
         showLocalNotificationObject(object)
+    }
+    
+    func registerInAppNotificationAppId(appId: String) {
+        if inAppNotificationAppIdsRegistered[appId] == nil {
+            LNNotificationCenter.defaultCenter().registerApplicationWithIdentifier(appId, name: NSBundle.mainBundle().infoDictionary?["CFBundleDisplayName"] as? String, icon: UIImage.init(imageLiteral: "notification-app-icon"), defaultSettings: LNNotificationAppSettings.defaultNotificationAppSettings())
+            inAppNotificationAppIdsRegistered[appId] = true
+        }
     }
 }
 

        let object = notificationObjectFromNotification(notification)

        if UIApplication.isActive {
            showInAppNotificationObject(object)
        }
        else {
            showLocalNotificationObject(object)
        }
    }

    func showInAppNotificationObject(object: NotificationObject) {
        let notification = LNNotification.init(message: object.body, title: object.title)
        notification.soundName = object.soundName;
        notification.defaultAction = LNNotificationAction.init(title: nil, handler: { [weak self] _ in
            self?.performAction(object.action)
        })
        
        LNNotificationCenter.defaultCenter().presentNotification(notification, forApplicationIdentifier: NSBundle.mainBundle().bundleIdentifier)
        
        showNextNotification()
    }

    private let audioPlayer = AlertAudioPlayer()

    private var notificationQueue = [NotificationType]()
    private var inAppNotificationAppIdsRegistered = [String: Bool]()
    private var bannedChatIdentifiers = Set<String>()

    init(theme: Theme, submanagerObjects: OCTSubmanagerObjects) {
