firebase / firebase/firebase-ios-sdk
Not showing next message if only mark as read.
- Dominant language
- C++
- Stars
- 6.7k
- Forks
- 1.8k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 75
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 type`Card` and message C of type `Banner`.
1. We trigger the event `screen_event` when screen get focused. The message A of type `ImageOnly` is showed and we call `impressionDetectedForMessage` for it. After that user dismissed or clicked on message.
2. After while we trigger the `screen_event` again and the B message is showed and we call `impressionDetectedForMessage` for it. Our custom component for message of type `Card` 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.
3. 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
Contributor guide
Assessment
This issue has not been assessed yet.