@@ -42,6 +42,34 @@ + (void)sendClickActionOutcomes:(NSArray<OSInAppMessageOutcome *> *)outcomes;
4242
4343@end
4444
45+ @implementation OSInAppMessageWillDisplayEvent
46+ - (OSInAppMessageWillDisplayEvent*)initWithInAppMessage : (OSInAppMessage *)message {
47+ _message = message;
48+ return self;
49+ }
50+ @end
51+
52+ @implementation OSInAppMessageDidDisplayEvent
53+ - (OSInAppMessageDidDisplayEvent*)initWithInAppMessage : (OSInAppMessage *)message {
54+ _message = message;
55+ return self;
56+ }
57+ @end
58+
59+ @implementation OSInAppMessageWillDismissEvent
60+ - (OSInAppMessageWillDismissEvent*)initWithInAppMessage : (OSInAppMessage *)message {
61+ _message = message;
62+ return self;
63+ }
64+ @end
65+
66+ @implementation OSInAppMessageDidDismissEvent
67+ - (OSInAppMessageDidDismissEvent*)initWithInAppMessage : (OSInAppMessage *)message {
68+ _message = message;
69+ return self;
70+ }
71+ @end
72+
4573@interface OSMessagingController ()
4674
4775@property (strong , nonatomic , nullable ) UIWindow *window;
@@ -68,7 +96,7 @@ @interface OSMessagingController ()
6896// Click action block to allow overridden behavior when clicking an IAM
6997@property (strong , nonatomic , nullable ) OSInAppMessageClickBlock actionClickBlock;
7098
71- @property (weak , nonatomic , nullable ) NSObject <OSInAppMessageLifecycleHandler > *inAppMessageDelegate;
99+ @property (weak , nonatomic , nullable ) NSObject <OSInAppMessageLifecycleListener > *inAppMessageDelegate;
72100
73101@property (strong , nullable ) OSInAppMessageViewController *viewController;
74102
@@ -281,35 +309,43 @@ - (void)setInAppMessageClickHandler:(OSInAppMessageClickBlock)actionClickBlock {
281309 self.actionClickBlock = actionClickBlock;
282310}
283311
284- - (void )setInAppMessageDelegate : (NSObject <OSInAppMessageLifecycleHandler > *_Nullable)delegate {
312+ - (void )setInAppMessageDelegate : (NSObject <OSInAppMessageLifecycleListener > *_Nullable)delegate {
285313 _inAppMessageDelegate = delegate;
286314}
287315
316+ - (void )removeInAppMessageDelegate : (NSObject <OSInAppMessageLifecycleListener> *_Nullable)delegate {
317+ _inAppMessageDelegate = nil ;
318+ }
319+
288320- (void )onWillDisplayInAppMessage : (OSInAppMessageInternal *)message {
289321 if (self.inAppMessageDelegate &&
290322 [self .inAppMessageDelegate respondsToSelector: @selector (onWillDisplayInAppMessage: )]) {
291- [self .inAppMessageDelegate onWillDisplayInAppMessage: message];
323+ OSInAppMessageWillDisplayEvent *event = [[OSInAppMessageWillDisplayEvent alloc ] initWithInAppMessage: message];
324+ [self .inAppMessageDelegate onWillDisplayInAppMessage: event];
292325 }
293326}
294327
295328- (void )onDidDisplayInAppMessage : (OSInAppMessageInternal *)message {
296329 if (self.inAppMessageDelegate &&
297330 [self .inAppMessageDelegate respondsToSelector: @selector (onDidDisplayInAppMessage: )]) {
298- [self .inAppMessageDelegate onDidDisplayInAppMessage: message];
331+ OSInAppMessageDidDisplayEvent *event = [[OSInAppMessageDidDisplayEvent alloc ] initWithInAppMessage: message];
332+ [self .inAppMessageDelegate onDidDisplayInAppMessage: event];
299333 }
300334}
301335
302336- (void )onWillDismissInAppMessage : (OSInAppMessageInternal *)message {
303337 if (self.inAppMessageDelegate &&
304338 [self .inAppMessageDelegate respondsToSelector: @selector (onWillDismissInAppMessage: )]) {
305- [self .inAppMessageDelegate onWillDismissInAppMessage: message];
339+ OSInAppMessageWillDismissEvent *event = [[OSInAppMessageWillDismissEvent alloc ] initWithInAppMessage: message];
340+ [self .inAppMessageDelegate onWillDismissInAppMessage: event];
306341 }
307342}
308343
309344- (void )onDidDismissInAppMessage : (OSInAppMessageInternal *)message {
310345 if (self.inAppMessageDelegate &&
311346 [self .inAppMessageDelegate respondsToSelector: @selector (onDidDismissInAppMessage: )]) {
312- [self .inAppMessageDelegate onDidDismissInAppMessage: message];
347+ OSInAppMessageDidDismissEvent *event = [[OSInAppMessageDidDismissEvent alloc ] initWithInAppMessage: message];
348+ [self .inAppMessageDelegate onDidDismissInAppMessage: event];
313349 }
314350}
315351
0 commit comments