Skip to content

Chat-Style Notifications

Chat-style notifications make your push look like a messenger conversation. The sender’s profile picture replaces the app icon and the sender’s name appears in place of the title, which stands out far more than a regular notification.

They work especially well for messages that feel like they come from a person: 1:1 support chats, friend activity, or a dedicated manager reaching out.

Chat-style notifications showing sender profile pictures and names Image source: Android Developers official documentation
ItemRequirement
FlareLane SDKAndroid · iOS · React Native · Flutter 1.11.0+
OSiOS 15+ / Android 7.0+

See the official platform docs as well: Apple - Implementing communication notifications · Android - Conversation notifications

Apple requires the app itself to opt in to communication notifications. Without this setup nothing breaks, and notifications simply render as normal ones without the profile picture.

  1. Add the Communication Notifications capability

    In Xcode: app target → Signing & Capabilities → + Capability → Communication Notifications.

  2. Add to the app’s Info.plist (the app, not the Notification Service Extension)

    <key>NSUserActivityTypes</key>
    <array>
    <string>INSendMessageIntent</string>
    </array>

This assumes your FlareLane iOS integration (including the Notification Service Extension) is complete. If not, start with the iOS SDK integration guide.

No additional setup required. With SDK 1.11.0+, the payload alone is enough.

The native SDKs handle everything, so no extra code is needed. For iOS, apply the same iOS app setup.

Add a communication object to your Open API notification request.

Terminal window
curl -X POST "https://api.flarelane.com/v1/projects/{PROJECT_ID}/notifications" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"targetType": "all",
"body": "The item you asked about is back in stock! Want to take a look? 😊",
"communication": {
"senderName": "Hana (Manager)",
"senderImageUrl": "https://cdn.example.com/profiles/manager-hana.png"
}
}'
FieldRequiredDescription
senderNameSender display name, shown in place of the title. Supports Liquid variables
senderImageUrlSender profile image URL. A square image under 1MB is recommended

To group messages from the same sender into one conversation, we recommend combining this with Notification Grouping (threadId). Messages sharing the same threadId are threaded together as a single conversation, following each platform’s conversation-grouping behavior.

Combine tags and Liquid variables to send from a different sender per user.

{
"targetType": "all",
"body": "I just hit level 30! Come play with me 🎮",
"threadId": "friend_{{ tags.friend_id }}",
"communication": {
"senderName": "{{ tags.friend_name }}",
"senderImageUrl": "https://cdn.example.com/profiles/{{ tags.friend_id }}.png"
}
}

If the profile picture doesn’t show up, check the following in order:

  1. Device is iOS 15+ and SDK is 1.11.0+
  2. The Communication Notifications capability is added to the app target
  3. NSUserActivityTypes with INSendMessageIntent is in the app’s Info.plist (not the extension’s; this is the most common miss)
  4. senderImageUrl opens correctly in a browser and the image is not oversized (under 1MB recommended)
  5. Rebuild, then delete and reinstall the app (entitlement changes may require a reinstall)