In-App messages are evaluated and retrieved on Start or Force Content Update. As a result, there can be situations where the user qualified for the message and retrieved it on Start. If shortly after that the message is finished or paused, the user still has a copy of it on their device because there has not been a new Start or Force Content Update call. In this case, if the user performs the message trigger, the In-App message will be shown. The message will be removed at the next instance of Start of Force Content Update.
If a user triggers and qualifies for multiple In-app messages at the same time, Leanplum will display one
of those messages at random. If you'd like to choose specifically which message shows, consider using In-app message prioritization.
Using the delivery "User triggers event with parameter" will display a message when the event occurs and the parameter is set to the value you specify. But, if multiple parameters of a single event trigger in-app messages, only one of those messages can display at a time. So if multiple parameters are tracked at once, only one of the associated messages will display.
For example, let's say you have a gaming app where the trigger event "Finish level 2" has two parameters, "Collect coin" and "Defeat boss," and each of these parameters is supposed to fire an in-app message.
Upon finishing level 2, if the user defeated the boss, but didn't get the coin, they would get the "Boss defeated!" message. If the user got the coin but didn't defeat the boss, they would get the "Coin collected!" message. But, if they defeated the boss and collected the coin, they would only get one message. (In general, the message that shows is the one associated with whichever parameter is listed first in your app.)
No, in-app messages cannot be sent through the API — only Push Notifications.
The limit rules for in-app messages are per device and per install, so if a user has 10 devices, they may get the message 10 times, even if the rule said limit to 1 time ever. (This depends on how your user profiles are set up, and when the user looked at each device. )
These limit rules are stored locally on the device, which is why when the app is reinstalled or installed on another device, the rules don't persist. If a user reinstalls the app 10 times on 1 device, they may get a message 10 times.
Our SDK does a lot of work behind the scenes to fit your uploaded image to the in-app message template on a wide array of devices. For Center Pop-up and Push Pre-Permission messages, that means fitting the entire image to the message template itself (the pop-up) with some shrinking or stretching. For Interstitials, however, it means fitting the image to the size of the device's screen. In this case, the image may be cropped to fit the user's screen.
To prevent cropping, we recommend using Localization with your Interstitial background image to target different devices (and therefore screen sizes). This way, you can get the image to display perfectly on both iPhone and iPhone Plus, for example.
Read more about Localizing message content.
Updated over 2 years ago