Description
What happened?
My Android app uses the latest version of OneSignal. I currently implemented OneSignal for In-App messaging.
Keeping the key: is_user_signed_in
with value true
, it should trigger the in-app.
FYI, this code was called from LauncedEffect(Unit)
, i.e. everytime the screen is opened.
To avoid multiple triggers, I used a global boolean flag: var hasShownInAppMessaging: Boolean = false
This allowed me to trigger In-App once per session.
Schedule is set to: Every time trigger conditions are satisfied

But this didn't worked as expected.
When it actually got triggered?
- First time
- On Logout and Login (considering the trigger is for users when signed in)
The log says OperationRepo: execute response = SUCCESS
with GOT Response
Steps to reproduce?
1. Install using version `5.1.29`
2. Trigger OneSignal with a Key-Value pair
3. Create boolean flag = false
4. This trigger should be in `LaunchedEffect(Unit) {...}`
5. Inside the block, check if boolean flag = true, return if yes.
6. Trigger for the OneSignal In-App
4. Set a boolean flag = true for first time trigger
What did you expect to happen?
I expected the app to trigger In-App only at Screen X, where it is triggered using is_user_signed_in
with value true
This In-App should be triggered once per launch.
OneSignal Android SDK version
5.1.29
Android version
14
Specific Android models
Relevant log output
[main] Retrieving service interface com.onesignal.inAppMessages.IInAppMessagesManager
[main] Already instantiated: com.onesignal.inAppMessages.internal.InAppMessagesManager@6953c85
[main] InAppMessagesManager.addTrigger(key: is_user_signed_in, value: true)
[main] InAppMessagesManager.onTriggerChanged(newTriggerKey: is_user_signed_in)
[DefaultDispatcher-worker-15] HttpClient: Got Response = GET
[OpRepo] OperationRepo: execute response = SUCCESS
[OpRepo] retryAfterSeconds: null
Code of Conduct
- I agree to follow this project's Code of Conduct