Push vs In-App
Engage provides the possibility to send push notifications and in-app messages. But what is the difference between these two?
Push notifications are messages sent to app users even if the app is currently not opened on their device. They need to give permission to receive push notifications, which is called an opt-in.
In-app messages are sent when the app user is in the app and do not require a specific opt-in.
You can choose to send :
- only a push notification
- only an in-app message
- a push notification and an in-app message (with the same or different content)
- a push notification, with an in-app message as fallback in case the user has not opted in for push notifications
The way push notifications are sent is slightly different then for in-app messages
Push notifications are pushed to the Engage Services and from there sent to Android or iOS services which are in charge of sending them to the devices. This happens in real-time. The interaction with the message on the mobile device is tracked by the Engage SDK and then sends the information back to the Engage services.
In-app messages are sent to the Engage services where they arrive in a queue waiting to be retrieved (so these are not pushed to the devices). They will be retrieved continuously while the service is running and once no events arrive anymore and the service stops, at predefined intervals by the SDK. (The interval is configurable in the app itself.) When in-app messages are retrieved they can be opened directly or added to the inbox. How this is handled is managed in the app itself, by the developer. Once the in-app message has been delivered to the device it is removed from the platform.
Note: it is also possible to define the maximum number of messages by device kept on the server. It is defined in the Engage services so the Marigold team will modify that for you if required.
It is recommended to use an inbox for in-app messages. The app developer has to provide this in the app and decide on how to handle the messages. The inbox is nevertheless not mandatory. If the app developer chooses to display the in-app messages directly, that is an option as well.
Engage also provides dedicated
opt-outs for both push and in-app messages. Push messages are de-activated
in the settings of the device. However, in-app messages can still be retrieved
and shown in the inbox. Nevertheless, the app developer has the possibility
to provide an opt-out option for in-app messages. This option is then
set in the app, not the device.
When the opt-out value=0 the device is opted in. If the value=1 the device
is opted out. When the value=2 the device id has been modified.
Note : When the same app is installed on different devices, an optout on one device will not result in an automatic opt-out on the other devices. If this is the behavior you want, you will have to handle that in the journey.
Note 2 : Resetting the device results in losing the device id.