# TomTom GO Expert (experimental)

Canonical HTML: https://p-hatan.com/deeplink-x/apps/tomtom-go-expert/

DeeplinkX 1.5.8.

## Platforms and setup

**Experimental.**

Native platforms: **ios, android**.

- Experimental coordinate actions use package-targeted Android intents and the proposed tomtomgo iOS scheme. Both iOS coordinate actions use a navigation endpoint.

## Public actions

### TomTomGoExpert.open


```dart
factory TomTomGoExpert.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` |

[Exact source](https://github.com/DeepLinkX/DeeplinkX/blob/00d9d2c7c1affe4e2ee459a01afeba82a1480eac/lib/src/apps/downloadable_apps/tomtom_go_expert.dart#L15)

### TomTomGoExpert.view


```dart
static TomTomGoExpertViewAction view({ required final Coordinate coordinate, final String? title, 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 | — |
| `title` | `String?` | No | — |
| `fallbackToStore` | `bool` | No | `false` |

[Exact source](https://github.com/DeepLinkX/DeeplinkX/blob/00d9d2c7c1affe4e2ee459a01afeba82a1480eac/lib/src/apps/downloadable_apps/tomtom_go_expert.dart#L52)

### TomTomGoExpert.directionsWithCoords


```dart
static TomTomGoExpertDirectionsWithCoordsAction directionsWithCoords({ required final Coordinate destination, 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 | — |
| `fallbackToStore` | `bool` | No | `false` |

[Exact source](https://github.com/DeepLinkX/DeeplinkX/blob/00d9d2c7c1affe4e2ee459a01afeba82a1480eac/lib/src/apps/downloadable_apps/tomtom_go_expert.dart#L66)


## Provider setup and examples
TomTom GO Expert is the current brand of GO Navigation. It is a separate
application from TomTom GO Fleet and the newer free TomTom app. DeeplinkX
exposes it as `TomTomGoExpert`, not as another copy of the former brand.

## Experimental integration

* Open the installed Android app by package name.
* Redirect to the official Google Play or iOS App Store listing.
* Fall back to the official GO Expert product website.
* Propose `view(coordinate, title)` and `directionsWithCoords(destination)` using package-targeted Android intents and an iOS navigation URL.

**Experimental.** The API provides Android and iOS candidates for app opening and coordinate navigation. Search, explicit origins, travel modes, and route import are not exposed.

```dart
final deeplinkX = DeeplinkX();
await deeplinkX.launchApp(TomTomGoExpert.open(fallbackToStore: true));

// Store links work independently of native opening support.
await deeplinkX.redirectToStore(storeActions: TomTomGoExpert().storeActions);

// Experimental coordinate actions.
await deeplinkX.launchAction(TomTomGoExpert.view(
  coordinate: const Coordinate(latitude: 52.5163, longitude: 13.3777),
  title: 'Brandenburg Gate',
));
await deeplinkX.launchAction(TomTomGoExpert.directionsWithCoords(
  destination: const Coordinate(latitude: 52.5163, longitude: 13.3777),
));
```

Use `disableFallback: true` with `launchApp` to return `false` instead of
opening a store or website when native opening is unavailable. A successful
fallback does not mean the native app opened.

## Configuration

Add this package to `<queries>` in your Android manifest:

```xml
<package android:name="com.tomtom.gplay.navapp" />
```

For the experimental iOS scheme, add `<string>tomtomgo</string>` to `LSApplicationQueriesSchemes`. Configure the matching store queries when using store fallback.

## Proposed link serialization

| Action | Android intent data (package `com.tomtom.gplay.navapp`) | Proposed iOS URL |
| --- | --- | --- |
| View map | `geo:<lat>,<lon>?q=<lat>,<lon>(<encoded title>)` | `tomtomgo://x-callback-url/navigate?destination=<lat>,<lon>` |
| Directions with coordinates | `google.navigation:q=<lat>,<lon>` | `tomtomgo://x-callback-url/navigate?destination=<lat>,<lon>` |

The optional view title is included only in the Android intent. Both iOS actions use the same navigation endpoint. Android uses `action_view`, the GO Expert package, and the new-task flag; an unresolved package can fall through to another registered handler.

## Provider links

* [TomTom: GO Navigation becoming GO Expert](https://help.tomtom.com/hc/en-gb/articles/29231703543314-GO-Navigation-becoming-GO-Expert-app) confirms the rebrand and continued car navigation.
* [Official Google Play listing](https://play.google.com/store/apps/details?id=com.tomtom.gplay.navapp) confirms the Android package and current branding; the example icon comes from this listing.
* [Official iOS App Store listing](https://apps.apple.com/us/app/tomtom-go-expert-truck-gps/id884963367) confirms the app ID and current brand.
* [Official product page](https://www.tomtom.com/navigation/mobile-apps/go-expert-app/) supplies the website fallback.
* [TomTom: syncing Plan.TomTom.com routes with GO Expert](https://help.tomtom.com/hc/en-us/articles/11508089162898-Syncing-Plan-TomTom-com-routes-with-the-GO-Expert-app) describes user-mediated account synchronisation, not a public coordinate deep-link API. Plan and save a route, enable sync, and sign in to the same TomTom account in the app.

