Empty App Inbox: HTTP 403 {"success": false} Error
If the App Inbox appears empty despite available messages and correct user identification, ensure that you are using:
- API Key for the correct project
- Correct API Group
- The App Inbox is enabled under "Group Permissions" in the API settings.
If the API key and Group are correct but the issue persists, this typically indicates that App Inbox isn't enabled in "Group Permissions" within API settings.
-
To resolve this, navigate to Project Settings > Access Management > API
-
Under Group Permissions, select Campaigns and enable App Inbox.
How Can I Implement a Notification Badge?
A notification badge that appears on a launcher icon when the associated app has an active notification isn't a mobile SDK-supported feature. It can be achieved via a custom implementation using the following methods:
- To mark the message as read, you can use: Exponea.markAppInboxAsRead(message)
- To fetch the list of App Inbox messages assigned to the current customer, use our App Inbox Data API (Android, iOS): Exponea.fetchAppInbox() -- This will return a list of messages.
-
You will still need to implement a functionality to count unread messages with isRead=false and print that number within the notification badge.
How Can I Remove an App Inbox Message?
By default, you can't remove a message without an expiration set once it's been sent to the app inbox. It is also impossible to modify the expiration of an app inbox that has already been sent.
An alternative option to removing app inbox messages is to use expiration.
How To Remove Expired Messages
The Mobile SDK doesn't check the expiration time for app inbox messages; Bloomreach Engagement filters these messages in the background. Therefore, to remove expired messages, you can use anonymization, which forces the dropping of cached expired messages so they will no longer be shown to customers.
Why is there only one campaign status "sent" with "platform: app inbox" if I sent it to two devices?
When the app inbox is targeted at a single profile linked to two devices, only one app inbox object is sent to our API.
It means that even if a customer profile includes two mobile devices (iOS and Android), the campaign event status "sent" with the platform "app_inbox" will be dispatched and tracked only once.
"Something went wrong :(. We couldn't retrieve your messages." Error
You must include a hard ID in the API inbox request originating from the SDK, not just in the requested profile.
Even if the profile on the platform is identified, any request made to the API inbox from the mobile app must incorporate this hard ID. It means that users must be accurately identified with a hard ID in both the mobile application and the platform.
Example:
The customer was identified with Hard ID only in the platform, but not in the mobile application.
This results in the following error:
Resolution:
To resolve this issue, ensure that the user is identified in both the mobile application and your Engagement project when fetching the App Inbox via API.
Identifying the customer in the app will result in the App Inbox showing the messages correctly: