Deep links

When a user clicks a search result for Micromobility directions, Google Maps for Mobile (GMM) utilizes a deep link, or an "intent" in Android, of the selected vehicle provided by the General Bikeshare Feed Specification (GBFS) feed.

To provide a seamless user experience, this guide describes the expected User experience with deep links and provides guidance for partners on how to Format deep links and Prepare fallback deep links.

The bikeshare directions user experience, which starts when the user searches for directions and ends when they unlock a bike in the partner app, is summarized as follows:

  1. In GMM, the user selects a Micromobility route:
    1. User chooses an origin and destination.
    2. User selects Micromobility as travel mode.
    3. User chooses a vehicle, or a station if they use a docked vehicle, that they want to use.
  2. In the partner app, the user unlocks the vehicle:

    1. User clicks the button in GMM to open the partner app. The deep link that's associated with the vehicle or station in the feed is called. If the associated deep link isn't provided, the fallback link provided in the Prepare fallback deep link is called instead.

      1. When the partner app is installed: The deep link navigates a user directly to the booking page of the partner app without a redirect or intermediary landing page.

      2. When the partner app isn't installed: The deep link navigates a user directly to the partner app's install page without a redirect or intermediary landing page.

    2. Partner app opens and loads the "station/bike screen" that allows the user to unlock the vehicle.

      1. Users see any extra information the partner wants to show them, such as places to park, security tips, and how to unlock the vehicle.
      2. User can unlock the vehicle.
  3. Navigate

    1. To begin their journey, the user goes back to GMM and starts navigation mode.

In order to have a fluid experience between GMM, the partner app, and the partner app install page, without additional redirects, the partner must implement iOS universal links and Android App Links when they specify the deep links provided in the feed.

When a partner builds the deep links, they can embed any amount of information they need to help identify a vehicle or station, and navigate users directly to the booking page without a redirect or intermediary landing page.

The partner can choose not to use bike_id or station_id. Also, other additional information such as tracking tags can be added.

The following is a deep link example:

https://www.example.com/app?event_tag=93581&vid=4917538

Google will always append an additional client_id parameter with the value GOOGLE_MAPS to the deep link to help partners identify that Google Maps triggered the deep link. Any existing client_id is removed.

The following is an example of a deep link with client_id added:

https://www.example.com/app?event_tag=93581&vid=4917538&client_id=GOOGLE_MAPS

The partner must also generate a universally applicable deep link independent of individual vehicles or docked stations for both iOS and Android. These links are used as a fallback mechanism in the event that the deep links for the selected vehicle or docked station are't provided in the feed.

After the partner generates the fallback deep links, the partner must provide the fallback deep links to Google as part of the Pre-implementation phase.