Platforms and setup
Native platforms: ios, android.
Public actions
Waze.open
factory Waze.open({final bool fallbackToStore = false})
Launch with DeeplinkX.launchApp. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
fallbackToStore | bool | No | false |
Waze.view
static WazeViewAction view({ required final Coordinate coordinate, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
coordinate | Coordinate | Yes | — |
fallbackToStore | bool | No | false |
Waze.search
static WazeSearchAction search({ required final String query, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: not available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
query | String | Yes | — |
fallbackToStore | bool | No | false |
Waze.directions
static WazeDirectionsAction directions({ required final String destination, final int? zoom, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
destination | String | Yes | — |
zoom | int? | No | — |
fallbackToStore | bool | No | false |
Waze.directionsWithCoords
static WazeDirectionsWithCoordsAction directionsWithCoords({ required final Coordinate destination, final int? zoom, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
destination | Coordinate | Yes | — |
zoom | int? | No | — |
fallbackToStore | bool | No | false |
Provider setup and examples
DeeplinkX provides support for Waze universal deep links on iOS and Android.
References
- Waze Deep Links: https://developers.google.com/waze/deeplinks
Available Actions
Launch Waze App
final deeplinkX = DeeplinkX();
await deeplinkX.launchApp(Waze.open());
View Map
await deeplinkX.launchAction(
Waze.view(
coordinate: const Coordinate(latitude: 45.6906304, longitude: -120.810983),
),
);
Search (no web fallback)
await deeplinkX.launchAction(
Waze.search(query: '66 Acacia Avenue'),
);
Directions (destination by text)
await deeplinkX.launchAction(
Waze.directions(
destination: '66 Acacia Avenue',
zoom: 8, // optional
),
);
Directions (destination by coordinates)
await deeplinkX.launchAction(
Waze.directionsWithCoords(
destination: const Coordinate(latitude: 45.6906304, longitude: -120.810983),
zoom: 8, // optional
),
);
Platform Configuration
iOS
Add the following to your ios/Runner/Info.plist inside LSApplicationQueriesSchemes:
<string>waze</string>
Android
Add the following package to <queries> in android/app/src/main/AndroidManifest.xml:
<package android:name="com.waze" />
Universal Link Formats
- View map:
https://waze.com/ul?ll={lat},{lng} - Search:
https://waze.com/ul?q={query} - Directions:
https://waze.com/ul?q={destination}&navigate=yes&z={zoom?} - Directions with coordinates:
https://waze.com/ul?ll={lat},{lng}&navigate=yes&z={zoom?}
Fallback Behavior
- If Waze is installed, links open Waze directly.
- If not installed and
fallbackToStoreistrue, DeeplinkX redirects to the appropriate app store. - If the store cannot be opened or
fallbackToStoreisfalse, actions that implementFallbackablefall back to their universal link. - Disable all fallbacks by setting
disableFallback: truewhen callinglaunchAction.
Fallback Support Matrix
| Action | Store Fallback | Web Fallback |
|---|---|---|
| Open app | ✔️ | ✔️ (website) |
| View map | ✔️ | ✔️ |
| Search | ✔️ | ❌ |
| Directions | ✔️ | ✔️ |
| Directions with coordinates | ✔️ | ✔️ |