medium complexity extracted Notifications & Follow-up Confidence: 100%
11
Components
198
Shared
24
User Stories
Yes
Analyzed

Description

Core push notification infrastructure enabling the app to send timely, role-aware alerts to peer mentors, coordinators, and org admins across iOS and Android. Notifications are triggered by system events (new assignments, status changes, approaching deadlines) and delivered via device-native channels with deep-link routing back to the relevant screen. Notifications must respect user accessibility settings, including VoiceOver/TalkBack compatibility and sufficient contrast in notification banners. Delivery is opt-in per category so users can manage notification fatigue without losing critical alerts. Unread count badges appear on the bottom nav Notifications tab.

Analysis

Business Value

Reduces missed assignments and delayed follow-up, directly addressing the HLF finding that 40% of peer mentors felt insufficiently followed up. Keeps all parties informed without requiring manual check-ins.

Implementation Notes

Use Flutter local_notifications + FCM (Firebase Cloud Messaging) via Supabase Edge Functions. Store notification preferences per user in Supabase. Deep links handled via go_router. Test VoiceOver/TalkBack announcement of notification content.

Components (209)

User Interface (3)

Service Layer (4)

Data Layer (2)

Infrastructure (2)

Shared Components

These components are reused across multiple features

User Interface (59)

ui Role Switch Widget medium Shared ui Role-Aware Bottom Navigation medium Shared ui Activity Type Selection Screen low Shared ui Speech-to-Text Field Overlay medium Shared ui Receipt Capture Widget medium Shared ui Peer Mentor Single Selector low Shared ui Proxy Audit Badge Widget low Shared ui Export Period Picker low Shared ui Contact Card Widget low Shared ui Contact Search Bar low Shared ui Peer Mentor Card Widget low Shared ui Activity History List low Shared ui Multi-Chapter Affiliation Chip Widget medium Shared ui Certification Status Badge low Shared ui Duplicate Activity Warning Dialog medium Shared ui Mentor Multi-Select Widget medium Shared ui Map Filter Panel medium Shared ui Claim Status Badge low Shared ui Export Date Range Picker low Shared ui Custom Date Range Picker low Shared ui Duplicate Activity Warning Dialog low Shared ui Proxy Activity Form medium Shared ui Proxy Peer Mentor Selector medium Shared ui Expected Return Date Picker low Shared ui Pause Activation Screen low Shared ui Pause Status Indicator low Shared ui Admin KPI Stat Widget low Shared ui Organisation Hierarchy Navigator high Shared ui Bufdir Period Selector Widget low Shared ui Export History List medium Shared ui Activity Type Donut Chart medium Shared ui Monthly Activity Bar Chart medium Shared ui Statistics Period Filter Bar low Shared ui Statistics Summary Cards low Shared ui Notification Badge Widget low Shared ui Certificate Expiry Status Indicator low Shared ui Animated Stat Card Widget medium Shared ui In-App Notification Banner low Shared ui Accessible Modal Sheet Widget high Shared ui Live Region Announcer medium Shared ui Semantics Wrapper Widget medium Shared ui Sensitive Field Warning Dialog high Shared ui Confirm Before Submit Screen medium Shared ui Inline Contextual Help Widget low Shared ui Labelled Navigation Bar low Shared ui Plain Language Error Display low Shared ui Single-Action Screen Layout medium Shared ui Wizard Progress Indicator low Shared ui Accessible Text Style System medium Shared ui Accessible Touch Target Wrapper low Shared ui Contrast-Safe Color Palette Widget medium Shared ui Accessible Bottom Navigation Bar medium Shared ui Modal Close Button low Shared ui Persistent Back Button low Shared ui Vertical Scroll Container low Shared ui Organization Card Widget low Shared ui Terminology-Aware Text Widget low Shared ui FeatureGate Widget low Shared ui Chapter Switcher medium Shared

Service Layer (52)

service Authentication Service medium Shared service Authentication Session Manager medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Permission Checker Service medium Shared service Role State Manager medium Shared service No-Access Route Guard low Shared service Activity Type Metadata Resolver low Shared service Chapter Scope Resolver medium Shared service Organisation Hierarchy Resolver medium Shared service Coordinator Notification Service medium Shared service Duplicate Activity Detection Service high Shared service Mentor Filter Service low Shared service Receipt Threshold Validator low Shared service Approval Status Notification Service medium Shared service Threshold Evaluation Service medium Shared service Declaration Encryption Service high Shared service Organization Feature Flag Service low Shared service Participant Deduplication Service high Shared service Reporting Period Service medium Shared service Activity Attribution Service low Shared service Proxy Duplicate Detection Service medium Shared service Pause Management Service medium Shared service Pause Notification Service medium Shared service Admin Export Service medium Shared service Admin Row-Level Security Guard high Shared service Organisation Hierarchy Service high Shared service User Management Service high Shared service Role Access Validator low Shared service Peer Mentor Stats Aggregator medium Shared service Push Notification Dispatcher medium Shared service Notification Preference Service low Shared service Scenario Deep-Link Router medium Shared service Scenario Notification Content Builder medium Shared service Badge Criteria Integration medium Shared service Activity Summary Aggregator low Shared service Focus Management Service medium Shared service Screen Reader Detection Service medium Shared service Sensitive Field Privacy Guard high Shared service Plain Language Content Service medium Shared service Wizard State Manager medium Shared service Tab State Manager medium Shared service Organization Route Guard medium Shared service Tenant Context Service high Shared service Label Key Resolver Service low Shared service Organization Labels Notifier medium Shared service FeatureFlagProvider (Riverpod) medium Shared service Access Scope Service high Shared service Hierarchy Aggregation Service high Shared service Hierarchy Service high Shared service Unit Assignment Service medium Shared

Data Layer (33)

Infrastructure (54)

infrastructure Keyboard-Aware Layout Utility low Shared infrastructure Supabase Auth Client low Shared infrastructure Deep Link / OAuth Redirect Handler medium Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase Session Manager medium Shared infrastructure URL Launcher Utility low Shared infrastructure Local Storage Adapter low Shared infrastructure Supabase Activity Client low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client low Shared infrastructure Organisation Field Config Loader medium Shared infrastructure Speech-to-Text Adapter medium Shared infrastructure File Download Handler low Shared infrastructure Duplicate Reviewed Flag Middleware low Shared infrastructure Contact RLS Query Builder low Shared infrastructure Contact Form Validator low Shared infrastructure Design Token Theme low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client Provider low Shared infrastructure Search Debounce Utility low Shared infrastructure Expense Type Analytics Tracker low Shared infrastructure Receipt Image Picker Integration low Shared infrastructure CSV / JSON File Generator medium Shared infrastructure Coordinator Role Guard low Shared infrastructure Nightly Job Scheduler medium Shared infrastructure Supabase RLS Policy Configuration high Shared infrastructure Export File Storage Adapter low Shared infrastructure Supabase Storage Adapter low Shared infrastructure Peer Mentor Pause Management Service medium Shared infrastructure Push Notification Service medium Shared infrastructure fl_chart Adapter medium Shared infrastructure Push Notification Service low Shared infrastructure FCM Push Notification Sender medium Shared infrastructure FCM Notification Dispatcher medium Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Supabase Realtime Subscription Service medium Shared infrastructure Organisation Data Isolation Guard low Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Deep Link Handler medium Shared infrastructure QR Code Generator low Shared infrastructure Share Sheet Bridge low Shared infrastructure Semantics Service Facade medium Shared infrastructure Accessibility Design Token Enforcer medium Shared infrastructure Accessible Theme Builder medium Shared infrastructure Navigation Route Configuration medium Shared infrastructure Accessibility Live Region Announcer low Shared infrastructure Feature Flag Provider low Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase RLS Tenant Scope Configurator medium Shared infrastructure Label Key Registry low Shared infrastructure Terminology Riverpod Providers low Shared infrastructure WCAG Semantics Label Resolver low Shared infrastructure Feature Flag Key Constants low Shared infrastructure RLS Policy Manager high Shared

User Stories (24)

Configure Personal Notification Preferences
medium 3 pts

As a As a Peer Mentor (Likeperson)

I want to configure which types of notifications I receive and how (push, in-app, or both)

So that I can avoid notification fatigue while still being informed about the events that matter most to me

Acceptance Criteria
  • Given a peer mentor opens notification preferences, when the screen loads, then all notification categories are listed with their current toggle states reflecting the saved preferences
  • Given the user disables push notifications for 'Follow-up Reminders', when a reminder trigger fires, then no FCM push is sent but an in-app notification centre entry is still created
  • Given the user disables all notifications for a category, when a trigger fires for that category, then neither a push nor an in-app notification is created for that user
  • +2 more
View Full Story →
Receive Pause Status Confirmation Notification
medium 3 pts

As a As a Peer Mentor (Likeperson)

I want to receive a push notification confirming when my pause request has been approved by a coordinator

So that I have a clear record that my pause is active and I know my contacts will be handled during my absence

Acceptance Criteria
  • Given a coordinator activates a pause for a peer mentor, when the pause record is saved, then a confirmation push notification is dispatched to the mentor within 60 seconds
  • Given the confirmation notification is tapped, when the app opens, then the mentor is navigated to their status screen showing the pause start date, expected return date, and coordinator note if present
  • Given a coordinator ends the mentor's pause ahead of schedule, when the status update is saved, then a 'Pause ended' push notification is dispatched to the mentor
  • +2 more
View Full Story →
Configure Personal Notification Preferences
medium 3 pts

As a As a Coordinator

I want to configure which types of notifications I receive and how (push, in-app, or both)

So that I can avoid notification fatigue while still being informed about the events that matter most to me

Acceptance Criteria
  • Given a peer mentor opens notification preferences, when the screen loads, then all notification categories are listed with their current toggle states reflecting the saved preferences
  • Given the user disables push notifications for 'Follow-up Reminders', when a reminder trigger fires, then no FCM push is sent but an in-app notification centre entry is still created
  • Given the user disables all notifications for a category, when a trigger fires for that category, then neither a push nor an in-app notification is created for that user
  • +2 more
View Full Story →
Receive Pause Status Confirmation Notification
medium 3 pts

As a As a Coordinator

I want to receive a push notification confirming when my pause request has been approved by a coordinator

So that I have a clear record that my pause is active and I know my contacts will be handled during my absence

Acceptance Criteria
  • Given a coordinator activates a pause for a peer mentor, when the pause record is saved, then a confirmation push notification is dispatched to the mentor within 60 seconds
  • Given the confirmation notification is tapped, when the app opens, then the mentor is navigated to their status screen showing the pause start date, expected return date, and coordinator note if present
  • Given a coordinator ends the mentor's pause ahead of schedule, when the status update is saved, then a 'Pause ended' push notification is dispatched to the mentor
  • +2 more
View Full Story →
Configure Personal Notification Preferences
medium 3 pts

As a As a Organization Administrator

I want to configure which types of notifications I receive and how (push, in-app, or both)

So that I can avoid notification fatigue while still being informed about the events that matter most to me

Acceptance Criteria
  • Given a peer mentor opens notification preferences, when the screen loads, then all notification categories are listed with their current toggle states reflecting the saved preferences
  • Given the user disables push notifications for 'Follow-up Reminders', when a reminder trigger fires, then no FCM push is sent but an in-app notification centre entry is still created
  • Given the user disables all notifications for a category, when a trigger fires for that category, then neither a push nor an in-app notification is created for that user
  • +2 more
View Full Story →
Receive Pause Status Confirmation Notification
medium 3 pts

As a As a Organization Administrator

I want to receive a push notification confirming when my pause request has been approved by a coordinator

So that I have a clear record that my pause is active and I know my contacts will be handled during my absence

Acceptance Criteria
  • Given a coordinator activates a pause for a peer mentor, when the pause record is saved, then a confirmation push notification is dispatched to the mentor within 60 seconds
  • Given the confirmation notification is tapped, when the app opens, then the mentor is navigated to their status screen showing the pause start date, expected return date, and coordinator note if present
  • Given a coordinator ends the mentor's pause ahead of schedule, when the status update is saved, then a 'Pause ended' push notification is dispatched to the mentor
  • +2 more
View Full Story →
View All Notifications in the Notification Centre
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to see all my recent notifications in a dedicated notification centre screen with filtering and read/unread status

So that I can review missed notifications and take action on any I dismissed without opening the app in time

Acceptance Criteria
  • Given a peer mentor opens the notification centre tab, when the screen loads, then all notifications for their account are listed in reverse chronological order
  • Given there are unread notifications, when the user opens the notification centre, then unread items are visually distinguished (bold title, unread indicator dot)
  • Given the user taps a notification list item, when navigation completes, then the notification is marked as read and the badge count on the bottom nav tab updates immediately
  • +3 more
View Full Story →
Receive Certification Expiry Warning Notifications
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to receive a push notification when my peer mentor certification is approaching its expiry date

So that I have enough time to enroll in a renewal course before my certification lapses and I am removed from the active mentor pool

Acceptance Criteria
  • Given a peer mentor's certification expires in 30 days, when the nightly expiry check edge function runs, then a push notification is sent with the certification name and expiry date
  • Given the push notification is tapped, when the app opens, then the user is navigated to the certification status screen showing the expiry date and renewal options
  • Given the certification has already expired, when the evaluation runs, then the mentor's profile is flagged as inactive and suppressed from coordinator matching lists
  • +2 more
View Full Story →
Navigate from Notification Deep Link to Correct In-App Screen
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to be taken to the exact relevant screen when I tap any push notification

So that I can take immediate action without navigating manually through menus to find the relevant content

Acceptance Criteria
  • Given a push notification with a contact deep link is tapped while the app is closed, when the app launches and authentication completes, then the contact detail screen for the specified contact is displayed
  • Given a push notification is tapped while the app is in the background, when the app foregrounds, then the user is navigated to the linked screen without re-authenticating
  • Given a notification deep link points to a coordinator-only screen, when a peer mentor taps it, then they are redirected to a role-appropriate fallback screen and shown an informational message
  • +2 more
View Full Story →
Receive Scenario-Based Follow-Up Reminder Notifications
high 8 pts

As a As a Peer Mentor (Likeperson)

I want to receive a push notification reminder when a contact has not been followed up within the configured time threshold

So that I do not forget about contacts who need attention and can maintain a consistent follow-up cadence

Acceptance Criteria
  • Given an assignment has had no activity logged for 10 days, when the nightly scenario evaluation edge function runs, then a reminder push notification is dispatched to the assigned peer mentor
  • Given the reminder notification is dispatched, when the mentor taps it, then they are deep-linked directly to the relevant contact detail screen
  • Given a reminder was sent for an assignment today, when the evaluation runs again within the cooldown window (e.g., 3 days), then no duplicate reminder is sent for the same assignment
  • +2 more
View Full Story →
View All Notifications in the Notification Centre
high 5 pts

As a As a Coordinator

I want to see all my recent notifications in a dedicated notification centre screen with filtering and read/unread status

So that I can review missed notifications and take action on any I dismissed without opening the app in time

Acceptance Criteria
  • Given a peer mentor opens the notification centre tab, when the screen loads, then all notifications for their account are listed in reverse chronological order
  • Given there are unread notifications, when the user opens the notification centre, then unread items are visually distinguished (bold title, unread indicator dot)
  • Given the user taps a notification list item, when navigation completes, then the notification is marked as read and the badge count on the bottom nav tab updates immediately
  • +3 more
View Full Story →
Receive Certification Expiry Warning Notifications
high 5 pts

As a As a Coordinator

I want to receive a push notification when my peer mentor certification is approaching its expiry date

So that I have enough time to enroll in a renewal course before my certification lapses and I am removed from the active mentor pool

Acceptance Criteria
  • Given a peer mentor's certification expires in 30 days, when the nightly expiry check edge function runs, then a push notification is sent with the certification name and expiry date
  • Given the push notification is tapped, when the app opens, then the user is navigated to the certification status screen showing the expiry date and renewal options
  • Given the certification has already expired, when the evaluation runs, then the mentor's profile is flagged as inactive and suppressed from coordinator matching lists
  • +2 more
View Full Story →
Navigate from Notification Deep Link to Correct In-App Screen
high 5 pts

As a As a Coordinator

I want to be taken to the exact relevant screen when I tap any push notification

So that I can take immediate action without navigating manually through menus to find the relevant content

Acceptance Criteria
  • Given a push notification with a contact deep link is tapped while the app is closed, when the app launches and authentication completes, then the contact detail screen for the specified contact is displayed
  • Given a push notification is tapped while the app is in the background, when the app foregrounds, then the user is navigated to the linked screen without re-authenticating
  • Given a notification deep link points to a coordinator-only screen, when a peer mentor taps it, then they are redirected to a role-appropriate fallback screen and shown an informational message
  • +2 more
View Full Story →
Receive Scenario-Based Follow-Up Reminder Notifications
high 8 pts

As a As a Coordinator

I want to receive a push notification reminder when a contact has not been followed up within the configured time threshold

So that I do not forget about contacts who need attention and can maintain a consistent follow-up cadence

Acceptance Criteria
  • Given an assignment has had no activity logged for 10 days, when the nightly scenario evaluation edge function runs, then a reminder push notification is dispatched to the assigned peer mentor
  • Given the reminder notification is dispatched, when the mentor taps it, then they are deep-linked directly to the relevant contact detail screen
  • Given a reminder was sent for an assignment today, when the evaluation runs again within the cooldown window (e.g., 3 days), then no duplicate reminder is sent for the same assignment
  • +2 more
View Full Story →
View All Notifications in the Notification Centre
high 5 pts

As a As a Organization Administrator

I want to see all my recent notifications in a dedicated notification centre screen with filtering and read/unread status

So that I can review missed notifications and take action on any I dismissed without opening the app in time

Acceptance Criteria
  • Given a peer mentor opens the notification centre tab, when the screen loads, then all notifications for their account are listed in reverse chronological order
  • Given there are unread notifications, when the user opens the notification centre, then unread items are visually distinguished (bold title, unread indicator dot)
  • Given the user taps a notification list item, when navigation completes, then the notification is marked as read and the badge count on the bottom nav tab updates immediately
  • +3 more
View Full Story →
Receive Certification Expiry Warning Notifications
high 5 pts

As a As a Organization Administrator

I want to receive a push notification when my peer mentor certification is approaching its expiry date

So that I have enough time to enroll in a renewal course before my certification lapses and I am removed from the active mentor pool

Acceptance Criteria
  • Given a peer mentor's certification expires in 30 days, when the nightly expiry check edge function runs, then a push notification is sent with the certification name and expiry date
  • Given the push notification is tapped, when the app opens, then the user is navigated to the certification status screen showing the expiry date and renewal options
  • Given the certification has already expired, when the evaluation runs, then the mentor's profile is flagged as inactive and suppressed from coordinator matching lists
  • +2 more
View Full Story →
Navigate from Notification Deep Link to Correct In-App Screen
high 5 pts

As a As a Organization Administrator

I want to be taken to the exact relevant screen when I tap any push notification

So that I can take immediate action without navigating manually through menus to find the relevant content

Acceptance Criteria
  • Given a push notification with a contact deep link is tapped while the app is closed, when the app launches and authentication completes, then the contact detail screen for the specified contact is displayed
  • Given a push notification is tapped while the app is in the background, when the app foregrounds, then the user is navigated to the linked screen without re-authenticating
  • Given a notification deep link points to a coordinator-only screen, when a peer mentor taps it, then they are redirected to a role-appropriate fallback screen and shown an informational message
  • +2 more
View Full Story →
Receive Scenario-Based Follow-Up Reminder Notifications
high 8 pts

As a As a Organization Administrator

I want to receive a push notification reminder when a contact has not been followed up within the configured time threshold

So that I do not forget about contacts who need attention and can maintain a consistent follow-up cadence

Acceptance Criteria
  • Given an assignment has had no activity logged for 10 days, when the nightly scenario evaluation edge function runs, then a reminder push notification is dispatched to the assigned peer mentor
  • Given the reminder notification is dispatched, when the mentor taps it, then they are deep-linked directly to the relevant contact detail screen
  • Given a reminder was sent for an assignment today, when the evaluation runs again within the cooldown window (e.g., 3 days), then no duplicate reminder is sent for the same assignment
  • +2 more
View Full Story →
Grant and Manage Push Notification Permissions
critical 5 pts

As a As a Peer Mentor (Likeperson)

I want to be prompted to grant push notification permissions during onboarding with a clear explanation of why they are needed

So that I understand the value of enabling notifications and can make an informed decision without feeling pressured

Acceptance Criteria
  • Given a peer mentor completes initial login, when they reach the onboarding step that explains notifications, then the OS permission dialog is shown with a contextual pre-prompt message explaining the benefit
  • Given the user grants notification permission, when the FCM token is generated, then the token is stored in the backend linked to the user's profile within 5 seconds
  • Given the user denies notification permission, when they navigate to notification settings in the app, then a button is displayed that opens the OS system settings to allow them to re-enable notifications
  • +2 more
View Full Story →
Receive Push Notifications for New Assignments
critical 8 pts

As a As a Peer Mentor (Likeperson)

I want to receive a push notification immediately when I am assigned a new contact or follow-up task

So that I can respond promptly without having to manually check the app for updates

Acceptance Criteria
  • Given a coordinator assigns a new contact to a peer mentor, when the assignment is saved in the database, then an FCM push notification is dispatched to the mentor's registered device within 30 seconds
  • Given the peer mentor taps the notification, when the app opens, then the user is navigated directly to the assignment or contact detail screen via the deep link
  • Given the app is in the foreground when the notification arrives, when the notification is received, then an in-app banner is displayed without interrupting the current workflow
  • +2 more
View Full Story →
Grant and Manage Push Notification Permissions
critical 5 pts

As a As a Coordinator

I want to be prompted to grant push notification permissions during onboarding with a clear explanation of why they are needed

So that I understand the value of enabling notifications and can make an informed decision without feeling pressured

Acceptance Criteria
  • Given a peer mentor completes initial login, when they reach the onboarding step that explains notifications, then the OS permission dialog is shown with a contextual pre-prompt message explaining the benefit
  • Given the user grants notification permission, when the FCM token is generated, then the token is stored in the backend linked to the user's profile within 5 seconds
  • Given the user denies notification permission, when they navigate to notification settings in the app, then a button is displayed that opens the OS system settings to allow them to re-enable notifications
  • +2 more
View Full Story →
Receive Push Notifications for New Assignments
critical 8 pts

As a As a Coordinator

I want to receive a push notification immediately when I am assigned a new contact or follow-up task

So that I can respond promptly without having to manually check the app for updates

Acceptance Criteria
  • Given a coordinator assigns a new contact to a peer mentor, when the assignment is saved in the database, then an FCM push notification is dispatched to the mentor's registered device within 30 seconds
  • Given the peer mentor taps the notification, when the app opens, then the user is navigated directly to the assignment or contact detail screen via the deep link
  • Given the app is in the foreground when the notification arrives, when the notification is received, then an in-app banner is displayed without interrupting the current workflow
  • +2 more
View Full Story →
Grant and Manage Push Notification Permissions
critical 5 pts

As a As a Organization Administrator

I want to be prompted to grant push notification permissions during onboarding with a clear explanation of why they are needed

So that I understand the value of enabling notifications and can make an informed decision without feeling pressured

Acceptance Criteria
  • Given a peer mentor completes initial login, when they reach the onboarding step that explains notifications, then the OS permission dialog is shown with a contextual pre-prompt message explaining the benefit
  • Given the user grants notification permission, when the FCM token is generated, then the token is stored in the backend linked to the user's profile within 5 seconds
  • Given the user denies notification permission, when they navigate to notification settings in the app, then a button is displayed that opens the OS system settings to allow them to re-enable notifications
  • +2 more
View Full Story →
Receive Push Notifications for New Assignments
critical 8 pts

As a As a Organization Administrator

I want to receive a push notification immediately when I am assigned a new contact or follow-up task

So that I can respond promptly without having to manually check the app for updates

Acceptance Criteria
  • Given a coordinator assigns a new contact to a peer mentor, when the assignment is saved in the database, then an FCM push notification is dispatched to the mentor's registered device within 30 seconds
  • Given the peer mentor taps the notification, when the app opens, then the user is navigated directly to the assignment or contact detail screen via the deep link
  • Given the app is in the foreground when the notification arrives, when the notification is received, then an in-app banner is displayed without interrupting the current workflow
  • +2 more
View Full Story →