Usar enlaces profundos de Waze

Waze es compatible con una API que permite a los programadores abrir la aplicación cliente o la página web de la plataforma mediante URL externas a las que se puede acceder desde otra aplicación o página web móviles.

Para usar enlaces profundos de Waze, hay que utilizar la URL base siguiente:

https://waze.com/ul

Según los parámetros que se añadan a la URL, la aplicación Waze puede localizar una dirección, ubicar una dirección en el mapa o empezar una sesión de navegación hacia una dirección o destino.

Cómo funcionan los enlaces profundos

En función de la configuración del sistema del usuario, Waze se abre como aplicación cliente o como página web:

  • Ordenador: se abre la página web de Waze.
  • Dispositivo móvil con la aplicación Waze instalada: se abre la aplicación Waze.
  • Dispositivo móvil sin la aplicación Waze instalada: se abre la página web de Waze.

Si se tiene la certeza de que los usuarios tienen instalada la aplicación Waze, se puede utilizar la URL "waze://" para establecer la comunicación entre aplicaciones sin recurrir a la página web. Si se usa este método, no es necesaria la URL base mencionada anteriormente. Solo se puede utilizar esta opción si se sabe que los usuarios tienen instalada la aplicación. Si no la tienen y tocan el enlace, no funcionará.

Usar enlaces profundos de Waze

Para iniciar Waze con parámetros desde una aplicación, un correo electrónico, un SMS, un enlace de página web u otras fuentes de terceros, se puede utilizar URLs como la que se presentan a continuación.

Los enlaces profundos de Waze deben seguir el formato de URL siguiente:

https://waze.com/ul?param_name=value[&param_name=value]

A continuación, se indican algunas de las tareas frecuentes que suelen iniciarse mediante enlaces profundos de Waze.

Ir a una ubicación

Para ir a una ubicación específica:

  1. Abre el mapa en tiempo real de Waze, busca tu ubicación en la barra de búsqueda o ampliando el mapa y haciendo clic en una parte concreta.
  2. En la esquina inferior derecha del mapa, haz clic en el icono de compartir .
  3. En la ventana emergente que aparece, haz clic en Compartir las indicaciones de navegación, copia el enlace y pégalo.

Ejemplo

El ejemplo siguiente sitúa Times Square de Nueva York en el centro del mapa:

https://www.waze.com/ul?ll=40.75889500%2C-73.98513100&navigate=yes&zoom=17

Ir a un lugar favorito

En la aplicación Waze, se pueden guardar los lugares favoritos siguientes y usarlos como destino de navegación:

  • work
  • home

Para ir a una de estas ubicaciones favoritas, se debe usar una URL con esta estructura:

https://waze.com/ul?favorite=favorite&navigate=yes

Por ejemplo, para definir el trabajo como destino, hay que utilizar la URL siguiente:

https://waze.com/ul?favorite=work&navigate=yes

Buscar

Para buscar una dirección, hay que utilizar la sintaxis siguiente:

https://waze.com/ul?q=search_terms

Se deben codificar todos los valores que se asignen a los parámetros de URL; por ejemplo, se deben reemplazar los espacios por %20.

El ejemplo de URL siguiente serviría para buscar la dirección "66 Acacia Avenue":

https://waze.com/ul?q=66%20Acacia%20Avenue

Mostrar en el mapa

Para definir el nivel de ampliación o zoom de la vista de mapa en Waze, hay que utilizar la sintaxis siguiente:

https://waze.com/ul?z=magnification_level

El valor mínimo del parámetro magnification_level, que es 6, sirve para definir la máxima ampliación, es decir, la imagen lo más cerca posible del mapa. El valor máximo de magnification_level, 8192, marca la ampliación mínima, esto es, la imagen lo más alejada posible del mapa.

Por ejemplo, para ajustar el nivel de ampliación a 8, se debe usar una URL como esta:

https://waze.com/ul?z=8

Combinar parámetros

Se puede usar el caracter "&" para separar distintos conjuntos de parámetro/valor y aplicarlos a la vez en una misma URL. En los ejemplos siguientes se muestra cómo combinar varios parámetros.

  • Ejemplo de URL para centrar el mapa en Maryhill y ajustar el zoom a 10:

    https://waze.com/ul?ll=45.6906304,-120.810983&z=10
  • Ejemplo de URL para buscar una dirección e iniciar la navegación hasta allí:

    https://waze.com/ul?q=66%20Acacia%20Avenue&ll=45.6906304,-120.810983&navigate=yes

Ejemplos

En esta sección, se muestran ejemplos de uso de la API de enlaces profundos de Waze en las plataformas Android e iOs.

Ejemplo para Android

Si la aplicación Waze está instalada, el ejemplo de fragmento de código que se muestra a continuación inicia la aplicación y busca la ubicación específica. Si la aplicación no está instalada, abre la ficha de Waze en Google Play:

try
{
  // Launch Waze to look for Hawaii:
  String url = "https://waze.com/ul?q=Hawaii";
  Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( url ) );
  startActivity( intent );
}
catch ( ActivityNotFoundException ex  )
{
  // If Waze is not installed, open it in Google Play:
  Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "market://details?id=com.waze" ) );
  startActivity(intent);
}

Ejemplo para iOS

Si la aplicación Waze está instalada, el ejemplo de fragmento de código que se muestra a continuación inicia la navegación hasta la latitud y longitud de lugar indicadas. Si no está instalada, abre la página de descarga de Waze en App Store:

- (void) navigateToLatitude:(double)latitude longitude:(double)longitude
{
  if ([[UIApplication sharedApplication]
    canOpenURL:[NSURL URLWithString:@"waze://"]]) {
      // Waze is installed. Launch Waze and start navigation
      NSString *urlStr =
        [NSString stringWithFormat:@"https://waze.com/ul?ll=%f,%f&navigate=yes",
        latitude, longitude];
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
  } else {
    // Waze is not installed. Launch AppStore to install Waze app
    [[UIApplication sharedApplication] openURL:[NSURL
      URLWithString:@"http://itunes.apple.com/us/app/id323229106"]];
  }
}

Si se compila con el SDK de iOS 9.0 o versiones posteriores, hay que actualizar el archivo de la lista de propiedades de la aplicación para que se incluya Waze. Para hacerlo, se debe usar el código siguiente:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>waze</string>
</array>