Description
Step 1: Describe your environment
- Xcode version: 13.14.1
- Firebase SDK version: 8.8.0
- Installation method:
CocoaPods
- Firebase Component: Messaging
- Target platform(s):
iOS
Step 2: Describe the problem
We are implementing FIRInAppMessagingDisplay
to create custom UI for InAppMessage
.
We found a problem with Card
message.
When we have a stack of messages, we stuck when a Card
message arrives. And after shows Card
message no messages shows up
Steps to reproduce:
Have one event called screen_event
and 3 messages bind to it, message A of type ImageOnly
, message B of typeCard
and message C of type Banner
.
- We trigger the event
screen_event
when screen get focused. The message A of typeImageOnly
is showed and we callimpressionDetectedForMessage
for it. After that user dismissed or clicked on message. - After while we trigger the
screen_event
again and the B message is showed and we callimpressionDetectedForMessage
for it. Our custom component for message of typeCard
are showed embed to layout, i.e., there is no dismiss button. The user do not interact with the message, once is embeded on layout he scroll the screen for example. - After while we trigger again the event
screen_event
, but the message C is not showed.
The problem is that after message B of type Card
shows up, next message are not showed. But if user interact with message B of type Card
and we call messageClicked
everything works. And if we trigger the event screen_event
again the message C of type Banner
shows up.
Seems like impressionDetectedForMessage
not working with type Card
. The flow of messages only works when call messageClicked
for message of type Card
for others types impressionDetectedForMessage
works fine