DEEPLINKX / app

Waze

Waze actions, setup, native platforms, and fallback options.

DeeplinkX 1.5.8 · Source

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.

ParameterTypeRequiredDefault
fallbackToStoreboolNofalse

Exact source

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.

ParameterTypeRequiredDefault
coordinateCoordinateYes—
fallbackToStoreboolNofalse

Exact source

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.

ParameterTypeRequiredDefault
queryStringYes—
fallbackToStoreboolNofalse

Exact source

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.

ParameterTypeRequiredDefault
destinationStringYes—
zoomint?No—
fallbackToStoreboolNofalse

Exact source

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.

ParameterTypeRequiredDefault
destinationCoordinateYes—
zoomint?No—
fallbackToStoreboolNofalse

Exact source

Provider setup and examples

DeeplinkX provides support for Waze universal deep links on iOS and Android.

References

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" />
  • 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

  1. If Waze is installed, links open Waze directly.
  2. If not installed and fallbackToStore is true, DeeplinkX redirects to the appropriate app store.
  3. If the store cannot be opened or fallbackToStore is false, actions that implement Fallbackable fall back to their universal link.
  4. Disable all fallbacks by setting disableFallback: true when calling launchAction.

Fallback Support Matrix

ActionStore FallbackWeb Fallback
Open app✔️✔️ (website)
View map✔️✔️
Search✔️❌
Directions✔️✔️
Directions with coordinates✔️✔️