Platforms and setup
Native platforms: ios, android.
- Provider requires access-key identification for requests passing coordinates/search/other data; without it requests may be rate-limited. Optional YandexNavigatorLaunchParams forwards client/signature; DeeplinkX does not sign URLs.
Public actions
YandexNavigator.open
factory YandexNavigator.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 |
YandexNavigator.view
static YandexNavigatorViewAction view({ required final Coordinate coordinate, final int zoom = 18, final bool showBalloon = true, final String? description, final YandexNavigatorLaunchParams? launchParams, 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 | — |
zoom | int | No | 18 |
showBalloon | bool | No | true |
description | String? | No | — |
launchParams | YandexNavigatorLaunchParams? | No | — |
fallbackToStore | bool | No | false |
YandexNavigator.search
static YandexNavigatorSearchAction search({ required final String query, final YandexNavigatorLaunchParams? launchParams, 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 |
|---|---|---|---|
query | String | Yes | — |
launchParams | YandexNavigatorLaunchParams? | No | — |
fallbackToStore | bool | No | false |
YandexNavigator.directionsWithCoords
static YandexNavigatorDirectionsWithCoordsAction directionsWithCoords({ required final Coordinate destination, final Coordinate? origin, final List<YandexNavigatorWaypoint> waypoints = const [], final YandexNavigatorLaunchParams? launchParams, 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 | — |
origin | Coordinate? | No | — |
waypoints | List<YandexNavigatorWaypoint> | No | const [] |
launchParams | YandexNavigatorLaunchParams? | No | — |
fallbackToStore | bool | No | false |
Provider setup and examples
DeeplinkX supports the Yandex Navigator custom URI scheme on iOS and Android for opening the app, showing a point, searching, and building coordinate routes.
References
- Yandex Navigator URL parameters: https://yandex.com/dev/navigator/doc/ru/concepts/navigator-url-params
- Yandex Navigator commercial URL signatures: https://yandex.com/dev/navigator/doc/ru/concepts/navigator-commercial-use-signature
- Yandex Maps web launch URLs: https://yandex.com/dev/yandex-apps-launch-maps/doc/en/concepts/yandexmaps-web
Available Actions
Launch Yandex Navigator
final deeplinkX = DeeplinkX();
await deeplinkX.launchApp(YandexNavigator.open());
View Map
await deeplinkX.launchAction(
YandexNavigator.view(
coordinate: const Coordinate(latitude: 55.753716, longitude: 37.619902),
zoom: 16,
description: 'Red Square',
),
);
Search
await deeplinkX.launchAction(
YandexNavigator.search(query: 'gas station'),
);
Directions With Coordinates
await deeplinkX.launchAction(
YandexNavigator.directionsWithCoords(
origin: const Coordinate(latitude: 55.753716, longitude: 37.619902),
destination: const Coordinate(latitude: 55.76009, longitude: 37.648801),
waypoints: const [
YandexNavigatorWaypoint(
coordinate: Coordinate(latitude: 55.745719, longitude: 37.604337),
),
],
),
);
Yandex Navigator route URLs are coordinate based, so DeeplinkX does not expose a text-only directions action for this app.
Commercial Launch Parameters
If your Yandex integration requires commercial identification, pass the optional client and signature query parameters:
await deeplinkX.launchAction(
YandexNavigator.search(
query: 'airport',
launchParams: const YandexNavigatorLaunchParams(
client: 'client-id',
signature: 'signed-url-value',
),
),
);
Yandex requires access-key identification when coordinates, search terms, or
other data are passed to Navigator. Without it, launches can be rate-limited.
DeeplinkX forwards client and signature; it does not generate signatures.
Platform Configuration
iOS
Add the Yandex Navigator scheme to the LSApplicationQueriesSchemes array in ios/Runner/Info.plist:
<string>yandexnavi</string>
Android
Allow querying the package in android/app/src/main/AndroidManifest.xml:
<queries>
<package android:name="ru.yandex.yandexnavi" />
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="yandexnavi" />
</intent>
</queries>
URI Formats
- View map:
yandexnavi://show_point_on_map?lat={latitude}&lon={longitude}&zoom={zoom}&no-balloon={0|1}&desc={description?} - Search:
yandexnavi://map_search?text={query} - Directions with coordinates:
yandexnavi://build_route_on_map?lat_from={originLatitude?}&lon_from={originLongitude?}&lat_to={destinationLatitude}&lon_to={destinationLongitude}&lat_via_0={waypointLatitude?}&lon_via_0={waypointLongitude?}
Fallback Behavior
- DeeplinkX opens the native app when installed.
- If the app is missing and
fallbackToStoreistrue, we redirect to the appropriate store listing. - Otherwise DeeplinkX opens the matching Yandex Maps web action:
- View with a marker:
https://yandex.com/maps/?pt={longitude},{latitude}&z={zoom}&l=map - View without a marker:
https://yandex.com/maps/?ll={longitude},{latitude}&z={zoom}&l=map - Search:
https://yandex.com/maps/?text={query}&l=map - Directions:
https://yandex.com/maps/?rtext={origin?}~{waypoints...}~{destination}&rtt=auto
- View with a marker:
- Set
disableFallback: truewhen callinglaunchActionto skip both store and web fallbacks.
Placemark URLs use longitude,latitude. Route URLs use latitude,longitude. When
the route origin is omitted, the web URL starts rtext with ~ so Yandex Maps
uses the current location. Native-only parameters such as client,
signature, description, and no-balloon are not copied into web URLs.
Fallback Support Matrix
| Action | Store Fallback | Web Fallback |
|---|---|---|
| Open app | ✔️ | ✔️ (website) |
| View map | ✔️ | ✔️ |
| Search | ✔️ | ✔️ |
| Directions with coordinates | ✔️ | ✔️ |