@@ -43,6 +43,7 @@ class InAppManager: NSObject, IterableInternalInAppManagerProtocol {
4343 displayer: InAppDisplayerProtocol ,
4444 persister: InAppPersistenceProtocol ,
4545 inAppDelegate: IterableInAppDelegate ,
46+ inAppDisplayDelegate: IterableInAppDisplayDelegate ? ,
4647 urlDelegate: IterableURLDelegate ? ,
4748 customActionDelegate: IterableCustomActionDelegate ? ,
4849 urlOpener: UrlOpenerProtocol ,
@@ -59,6 +60,7 @@ class InAppManager: NSObject, IterableInternalInAppManagerProtocol {
5960 self . displayer = displayer
6061 self . persister = persister
6162 self . inAppDelegate = inAppDelegate
63+ self . inAppDisplayDelegate = inAppDisplayDelegate
6264 self . urlDelegate = urlDelegate
6365 self . customActionDelegate = customActionDelegate
6466 self . urlOpener = urlOpener
@@ -555,6 +557,7 @@ class InAppManager: NSObject, IterableInternalInAppManagerProtocol {
555557 private let fetcher : InAppFetcherProtocol
556558 private let displayer : InAppDisplayerProtocol
557559 private let inAppDelegate : IterableInAppDelegate
560+ private let inAppDisplayDelegate : IterableInAppDisplayDelegate ?
558561 private let urlDelegate : IterableURLDelegate ?
559562 private let customActionDelegate : IterableCustomActionDelegate ?
560563 private let urlOpener : UrlOpenerProtocol
@@ -654,7 +657,10 @@ extension InAppManager: InAppNotifiable {
654657
655658extension InAppManager : InAppDisplayChecker {
656659 func isOkToShowNow( message: IterableInAppMessage ) -> Bool {
657- guard !isAutoDisplayPaused else {
660+ // Check delegate first if available, otherwise fall back to isAutoDisplayPaused property
661+ let autoDisplayPaused = inAppDisplayDelegate? . isAutoDisplayPaused ? ( for: message) ?? isAutoDisplayPaused
662+
663+ guard !autoDisplayPaused else {
658664 ITBInfo ( " automatic in-app display has been paused " )
659665 return false
660666 }
0 commit comments