A native plugin for React Native to display customizable Live Activities (iOS) and Custom Notifications (Android) for Ride-Sharing and Food Delivery apps.
npm install rn-custom-ride-food-notificationcd ios && pod installLive Activities require a Widget Extension target in your iOS project.
- Open your project in Xcode (
xed ios). - Go to File > New > Target....
- Select Widget Extension.
- Name it (e.g.,
RideFoodWidget) and ensure Include Live Activity is checked. - Uncheck "Include Configuration App Intent".
Since the UI for the Live Activity must live in your app's extension, you need to copy the Swift UI code.
Option A: Copy from this library
Copy the contents of RideFoodActivityWidget.swift and RideFoodActivityAttributes.swift from node_modules/rn-custom-ride-food-notification/ios/ to your new Widget Extension folder.
Option B: Use your own UI
You can implement your own UI using the RideFoodActivityAttributes struct. Ensure the struct matches the one expected by the library.
Add NSSupportsLiveActivities to your main app's Info.plist and set it to YES.
- Permissions: Request
POST_NOTIFICATIONSpermission at runtime (Android 13+). - Layouts: Copy the layout files (
notification_ride.xml,notification_food.xml) fromnode_modules/rn-custom-ride-food-notification/android/src/main/res/layout/to your app'sandroid/app/src/main/res/layout/folder.
import RideFoodNotification from 'rn-custom-ride-food-notification';
// Start Activity
const activityId = await RideFoodNotification.start('ride', {}, {
statusTitle: 'Dropoff at 17:06',
statusDescription: 'Heading to Destination',
progress: 0.5,
estimatedTime: '17:06',
driverOrRestaurantName: 'Uber',
iconName: 'car.fill',
primaryColorHex: '#FFFFFF',
});
// Update
await RideFoodNotification.update(activityId, {
progress: 0.8,
estimatedTime: '17:08',
// ... other fields
});
// End
await RideFoodNotification.end(activityId);iconName: Pass any SF Symbol name (e.g.,car.fill,fork.knife) OR the name of a custom image asset in your Widget Extension.secondaryIconName: Icon for the footer (e.g., establishment logo).orderNumber: Order ID to display in the footer.
MIT