Push notifications deliver real-time messages directly to customers’ devices. They’re ideal for time-sensitive alerts, re-engagement, and driving app usage.
Push Capabilities
| Feature | Supported |
|---|
| Title and body | ✅ |
| Custom icons | ✅ |
| Deep links | ✅ |
| Rich media | Limited |
| Action buttons | ✅ |
| Silent push | ✅ |
Understanding Push Notifications
How Push Works
- Your app registers for push notifications
- Device provides a push token
- Token is sent to RevBridge AI
- Campaigns target tokens with messages
- Push service delivers to device
Push Services
| Platform | Service |
|---|
| iOS | Apple Push Notification service (APNs) |
| Android | Firebase Cloud Messaging (FCM) |
| Web | Web Push (via service workers) |
Setting Up Push
Navigate to Settings → Channels and click Configure next to Push.
Prerequisites
- Mobile app with push notification support
- Firebase project (for Android)
- Apple Developer account (for iOS)
- Server key and credentials
Configuration Steps
Configure Firebase
Add your Firebase server key for Android
Configure APNs
Upload your Apple push certificate or key
Integrate SDK
Add RevBridge SDK to your mobile app
Register Tokens
Ensure app sends push tokens to RevBridge
Test Delivery
Send a test push notification
Firebase Setup (Android)
- Go to Firebase Console
- Navigate to Project Settings → Cloud Messaging
- Copy Server Key
- Paste in RevBridge Push settings
APNs Setup (iOS)
Option 1: Push Certificate
- Generate in Apple Developer portal
- Download .p12 file
- Upload to RevBridge
Option 2: Auth Key (Recommended)
- Generate Key ID in Apple Developer portal
- Download .p8 key file
- Upload to RevBridge with Team ID and Key ID
Push Notification Structure
Components
| Component | Platform | Limits |
|---|
| Title | Both | ~50 characters visible |
| Body | Both | ~150 characters visible |
| Icon | Android | App icon default |
| Image | Both | Rich notification |
| Sound | Both | Custom or default |
| Badge | iOS | Number on app icon |
Example Notification
{
"title": "Flash Sale: 50% Off",
"body": "24 hours only! Shop now before it's gone.",
"icon": "sale_icon",
"data": {
"deep_link": "myapp://sale"
}
}
Push Best Practices
Crafting Effective Notifications
| Element | Best Practice |
|---|
| Title | Clear, action-oriented, under 50 chars |
| Body | Specific value, urgency, under 150 chars |
| Timing | Relevant to user’s time zone and activity |
| Frequency | Don’t overwhelm (1-3 per day max) |
Title Tips
- Front-load important information
- Use action verbs
- Create urgency when appropriate
- Avoid clickbait
Examples:
- ✅ “Your order shipped!”
- ✅ “Flash sale ends in 2 hours”
- ❌ “You won’t believe this deal!”
- ❌ “Tap to see amazing news”
Body Tips
- Expand on the title
- Include specific details
- Clear call to action
- Personalize when possible
Timing and Frequency
| Guideline | Recommendation |
|---|
| Daily limit | 1-3 notifications |
| Weekly limit | 5-10 notifications |
| Best times | Mid-morning, early evening |
| Avoid | Late night, early morning |
Excessive push notifications are the #1 reason users disable notifications or uninstall apps.
Deep Linking
Always include deep links to:
- Take users directly to relevant content
- Reduce friction between notification and action
- Track conversion accurately
myapp://products/123
myapp://cart
myapp://offers/flash-sale
Permission and Opt-In
iOS Permission
iOS requires explicit permission to send notifications:
- Prompt at the right moment (not immediately at install)
- Explain the value of notifications
- Respect user’s choice
Wait until users experience app value before requesting notification permission. Cold prompts have low acceptance rates.
Android Behavior
Android 13+ requires explicit permission (similar to iOS). Earlier versions allow by default but users can disable.
Managing Preferences
Allow granular control:
- Promotional notifications
- Order updates
- Reminders
- Social notifications
Respecting preferences improves retention.
Notification Types
Transactional
Non-promotional, expected notifications:
- Order confirmations
- Shipping updates
- Appointment reminders
- Security alerts
Marketing
Promotional notifications:
- Sales and offers
- New products
- Re-engagement
- Recommendations
Some platforms treat transactional and marketing notifications differently. Transactional typically has higher priority.
Silent Push
Background updates without visible notification:
- Refresh content
- Update badges
- Sync data
Analytics
Track push performance:
| Metric | Description |
|---|
| Sent | Notifications dispatched |
| Delivered | Reached device |
| Opened | User tapped notification |
| Dismissed | User swiped away |
| Converted | Completed goal action |
| Metric | iOS | Android |
|---|
| Delivery confirmation | ✅ | ✅ |
| Open tracking | ✅ | ✅ |
| Dismiss tracking | ❌ | ✅ |
Use Cases
Price Drop Alert
Title: Price Drop Alert 📉
Body: Sony headphones just dropped to $79 (was $149). Limited stock!
Deep Link: myapp://products/sony-headphones
Abandoned Cart
Title: Still thinking it over?
Body: Your cart is waiting with {{item_name}}. Complete checkout now!
Deep Link: myapp://cart
Back in Stock
Title: It's back! ✨
Body: {{product_name}} is back in stock. Get it before it sells out again!
Deep Link: myapp://products/{{product_id}}
Order Update
Title: Your order is out for delivery 🚚
Body: Order #{{order_id}} arriving today by {{time}}
Deep Link: myapp://orders/{{order_id}}
Re-engagement
Title: We miss you! 👋
Body: It's been a while. Here's 20% off your next purchase.
Deep Link: myapp://offers/comeback
Troubleshooting
Notifications Not Delivering
- Verify push credentials
- Check token registration
- Confirm user has notifications enabled
- Review platform-specific issues
Low Open Rates
- Review notification content
- Check timing and frequency
- Ensure relevance
- Test different approaches
High Opt-Out Rate
- Reduce frequency
- Improve content relevance
- Allow preference management
- Survey users for feedback
Token Issues
Push tokens can become invalid when:
- App is uninstalled
- User disables notifications
- Device is factory reset
- Token expires (rare)
Regularly clean invalid tokens to maintain delivery accuracy.