App Inbox is a screen within a mobile app that stores persistent messages. It's kind of like an email inbox, but it lives inside the app itself. App Inbox differs from other mobile channels such as push notifications or in-app messages. For both push and in-app messages, they're gone once you open them.
In other words, D·engage admin panel lets you keep selected messages on the platform and Mobile SDK may receive and display these messages when needed.
In order to save messages into App Inbox, you need to select the "Save to Inbox" option when sending messages in D·engage the admin panel by assigning an expiration date to it.
After selecting your Push content, you must activate the "Save To Inbox" option.
To use the app inbox feature, please send an email to [email protected].
App Inbox in iOS SDK
Inbox messages are kept in the memory storage of the phone until the app is completely closed or for a while and D·engage SDK provides functions for getting and managing these messages.
Requirements
- D·engage SDK 2.5.3+
Methods
Push message payload contains a parameter which is called “addToInbox”. This parameter represents whether the push message will save to the D·engage database or not. When a push message is received with the parameter, the message is saved to memory in the notification building stage. So your users can access the messages again from the D·engage database. The following methods provide an interface for you to access these messages easily.
Getting Inbox Messages
The developer can access the stored inbox messages with the following method.
Dengage.getInboxMessages(offset: Int, limit: Int = 20, completion: @escaping (Result<[DengageMessage], Error>) -> Void)
Removing Inbox Message
The developer can remove the stored inbox message with the following method.
Dengage.deleteInboxMessage(with id: String, completion: @escaping (Result<Void, Error>) -> Void)
Marking Inbox Message as Clicked
The developer can mark the stored inbox message as click with the following method.
Dengage.setInboxMessageAsClicked(with id: String,completion: @escaping (Result<Void, Error>) -> Void)
receiveDate property is used to store inbox message receive date. It keeps date as a UTC time format ("yyyy-MM-ddTHH:mm:ss.fffZ"). The applications which are using our SDKs need to convert this UTC date to the client time zone if the applications want to display the message receive date to their users.