Notice: There is no legacy documentation available for this item, so you are seeing the current documentation.
Send your app users directly to a specific screen inside your Android or iOS app when they tap a push notification. Instead of just opening the app’s home screen, deep links take users exactly where you want them — a product page, an order status screen, a special offer, or any other in-app destination.
This guide walks you through setting up deep links using both the PushEngage Dashboard and the API.
Before You Start
Make sure PushEngage is installed and working in your mobile app (Android, iOS, Flutter, or React Native). If you haven’t done this yet, follow the setup guide for your platform:
Have your deep link URL ready. This is the URL or URI scheme your app uses to open a specific screen (for example: myapp://products/123 or https://yourapp.com/offers).
What is a Deep Link?
A deep link is a special URL that points to a specific page or screen inside your mobile app. When a user taps a push notification with a deep link, they are taken straight to that screen instead of just the app’s home page.
Examples:
myapp://orders/456— opens order #456 in the apphttps://yourstore.com/sale— opens a sale page inside the appapp://www.yourapp.com/trigger— opens a specific workflow screen
Method 1: Adding Deep Links via the PushEngage Dashboard
For Android App Push
- Log in to your PushEngage Dashboard.
- Go to App Push » Create Campaign.
- Select Android as the platform.
- Fill in the Title and Message for your notification.
- Scroll down to the Deep Link field.
- Enter your deep link URL (for example:
myapp://products/123). - Click Send / Schedule to send the notification.

If a deep link is provided, it takes priority over the Notification URL. If no deep link is set, the Notification URL is used instead.
For iOS App Push
- Log in to your PushEngage Dashboard.
- Go to App Push » Create Campaign.
- Select iOS as the platform.
- Fill in the Title and Message for your notification.
- Scroll down to the Deep Link field.
- Enter your deep link URL (for example:
myapp://offers/summer-sale). - Click Send / Schedule to send the notification.
[Screenshot: iOS App Push campaign form showing the Deep Link field]
If no deep link is set on iOS, tapping the notification will simply open the app. Please note the character limits for Deep links can be up to 1,600 characters long on both Android and iOS.
Method 2: Adding Deep Links via the API
You can also send app push notifications with deep links using the PushEngage API. Use the deep_link field in your notification payload.
API Payload Example
{
"notification_title": "Your Order Has Shipped!",
"notification_body": "Tap to track your order in real time.",
"notification_url": "https://yourstore.com/orders/456",
"deep_link": "myapp://orders/456"
}
How It Works
| Field | What It Does |
|---|---|
notification_url | The default URL opened when the notification is tapped. Used as a fallback if no deep link is set. |
deep_link | The app-specific URL that opens a particular screen inside the app. Takes priority over notification_url on Android. |
- Android: If
deep_linkis set, it is used as the tap action. If it is not set,notification_urlis used instead. - iOS: Both
deep_linkandnotification_urlare sent in the payload. The deep link (dl) is checked first, then the launch URL (u).
Handling Deep Links in Your App Code
Once the notification is sent with a deep link, your app needs to listen for it and navigate the user to the right screen. Here’s how to do it on each platform:
Flutter
PushEngage.deepLinkStream.listen((data) {
String? deepLink = data['deepLink'];
// Navigate to the right screen based on the deep link
if (deepLink == '/offers') {
Navigator.pushNamed(context, '/offers');
}
});
Also, make sure PushEngageAutoHandleDeeplinkURL is set to NO in your iOS Info.plist if you want your app to handle the routing itself.
React Native
PushEngage.onValueChanged((data) => {
const { deepLink } = data;
// Navigate based on the deep link value
if (deepLink === '/orders') {
navigation.navigate('Orders');
}
});
iOS (Swift)
PushEngage.setNotificationOpenHandler { result in
let deepLink = result.notificationAction.actionID
// Route the user to the correct screen
}
Tip: For iOS, if you set
PushEngageAutoHandleDeeplinkURLtoYESin yourInfo.plist, the SDK will automatically open any HTTP or HTTPS deep link URLs in the browser. Set it toNOif you want to handle routing inside your app.
Android (Intent Filter)
For Android, add an intent filter in your AndroidManifest.xml so the app can receive deep link URLs:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="myapp" android:host="www.yourapp.com" />
</intent-filter>
Quick Reference
| Detail | Value |
|---|---|
| Dashboard field name | Deep Link |
| API field name | deep_link |
| Character limit | 1,600 characters |
| Android behavior | Deep link overrides notification URL if set |
| iOS behavior | Deep link checked first, then launch URL |
| Auto-handle (iOS) | Controlled by PushEngageAutoHandleDeeplinkURL in Info.plist |
You’ve now set up deep linking for your app push notifications using PushEngage. Your users will be taken straight to the right screen when they tap a notification — whether you send it from the dashboard or through the API.
If you run into any issues, please contact us by clicking here. Our support team will be happy to help you.