Utiliser les liens profonds Waze

Waze est compatible avec une API qui permet aux développeurs d'ouvrir l'application cliente ou la page Web Waze par le biais d'une URL externe. Vous pouvez accéder à cette URL depuis une autre application mobile ou une page Web mobile.

L'URL de base à utiliser pour les liens profonds Waze est la suivante :

https://waze.com/ul

L'application Waze peut ensuite localiser une adresse, l'indiquer sur la carte ou lancer une session de navigation vers une adresse ou une destination, en fonction des paramètres que vous transmettez à cette URL.

Fonctionnement des liens profonds

L'ouverture de Waze en tant qu'application cliente ou page Web dépend de la configuration système de l'utilisateur :

  • Ordinateur : Waze s'ouvre en tant que page Web.
  • Appareil mobile (et l'application Waze est installée) : l'application Waze s'ouvre.
  • Appareil mobile (et Waze n'est pas installé) : Waze s'ouvre en tant que page Web.

Si vous êtes sûr que l'application Waze est installée, vous pouvez utiliser l'URL "waze://" pour la communication entre applications sans passer par le Web. Elle remplace l'URL de base décrite précédemment. N'utilisez cette option que si vous êtes sûr que vos utilisateurs ont installé Waze. Sinon, rien ne se passera s'ils appuient sur le lien.

Utiliser des liens profonds Waze

Vous pouvez utiliser l'URL suivante pour lancer Waze avec des paramètres provenant d'une application tierce, d'un e-mail, d'un SMS, lien de page Web ou d'une autre source.

Les liens profonds Waze utilisent l'URL suivante :

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

Voici quelques tâches courantes liées aux liens profonds Waze.

Pour vous rendre à un lieu spécifique :

  1. Ouvrez la carte Waze en temps réel et recherchez votre position. Saisissez-la dans le champ de recherche ou effectuez un zoom avant et cliquez sur un segment spécifique de la carte.
  2. Cliquez sur l'icône de partage en bas à droite de la carte.
  3. Une boîte de dialogue s'affiche. Cliquez sur Partager l'itinéraire, puis copiez et collez le lien.

Exemple

L'exemple suivant centre la carte sur Times Square à New York :

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

Vous pouvez vous rendre aux favoris suivants enregistrés dans l'application Waze :

  • work
  • home

Utilisez l'URL suivante pour vous rendre à un favori spécifié :

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

L'exemple suivant définit la destination sur "work" (travail) :

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

Recherchez une adresse avec la syntaxe suivante :

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

Les valeurs que vous transmettez pour les paramètres doivent être encodées au format URL. Par exemple, vous devez remplacer les espaces par %20.

L'exemple suivant recherche "66 Acacia Avenue" :

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

Afficher sur le plan

Utilisez la syntaxe suivante pour définir le niveau d'agrandissement (ou zoom) de la vue de la carte Waze map :

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

La valeur minimale de magnification_level est 6 (zoom maximal). La valeur maximale de magnification_level est 8192 (zoom minimal).

L'exemple suivant définit le niveau d'agrandissement sur 8 :

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

Paramètres d'URL

Le tableau suivant décrit les paramètres de routage disponibles pour les liens profonds Waze :

Paramètre Obligatoire ? Description
avoid_tolls Facultatif Indique s'il faut calculer un itinéraire qui évite les péages. Définissez-le sur true ou t pour éviter les péages. Définissez-le sur false ou f pour autoriser les routes à péage. La valeur par défaut est d'autoriser les péages (false).
avoid_ferries Facultatif Indique s'il faut calculer un itinéraire qui évite les ferries. Définissez-le sur true ou t pour éviter les ferries. Définissez-le sur false ou f pour autoriser les ferries. La valeur par défaut est d'autoriser les ferries (false).
avoid_freeways Facultatif Indique s'il faut calculer un itinéraire qui évite les autoroutes. Définissez-le sur true ou t pour éviter les autoroutes. Définissez-le sur false ou f pour autoriser les autoroutes. La valeur par défaut est d'autoriser les autoroutes (false).
avoid_dangerous_turns Facultatif Indique s'il faut éviter les virages dangereux. Définissez-le sur true ou t pour éviter les virages dangereux. Définissez-le sur false ou f pour autoriser les virages dangereux. La valeur par défaut est d'éviter les virages dangereux (true).
avoid_trails Facultatif

Spécifie les préférences de routage pour les routes non bitumées. Voici les valeurs possibles :

  • avoid_all (par défaut) : éviter toutes les routes non bitumées.
  • allow : autoriser les routes non bitumées.
  • avoid_long : éviter les longues routes non bitumées.
vehicle_type Facultatif

Spécifie le type de véhicule. Voici les valeurs possibles :

  • private (par défaut) : véhicule de tourisme.
  • taxi : taxi.
  • motorcycle : moto.

Combiner des paramètres

Vous pouvez utiliser les paramètres ensemble dans la même URL en séparant les paires nom-valeur par un "&". Les exemples suivants montrent comment utiliser des combinaisons de paramètres :

  • Pour centrer la carte sur Maryhill et zoomer sur 10 :

    https://waze.com/ul?ll=45.6906304,-120.810983&z=10
  • Pour rechercher une adresse, puis vous y rendre :

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

Inclure utm_source

Si vous incluez un utm_source dans votre implémentation, nous pouvons associer l'utilisation à des partenaires spécifiques. En cas de problème ayant un impact sur l'intégration, le utm_source nous permet de contacter le partenaire et de lui offrir une meilleure expérience. Pour en savoir plus, consultez l'exemple iOS. Si vous rencontrez des problèmes, n'hésitez pas à nous contacter.

Exemples

Cette section fournit des exemples d'utilisation de l'API Waze Deep Links sur les plates-formes Android et iOS.

Exemple pour Android

L'exemple d'extrait de code suivant lance Waze pour rechercher le lieu spécifié, si Waze est installé. Si Waze n'est pas installé, il ouvre la page Waze dans 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);
}

Exemple pour iOS

L'exemple d'extrait de code suivant permet de se rendre à la latitude/longitude si Waze est installé. Sinon, il lance l'App Store pour installer Waze :

- (void) navigateToLatitude:(double)latitude longitude:(double)longitude
{
  if ([[UIApplication sharedApplication]
    canOpenURL:[NSURL URLWithString:@"waze://"]]) {
      NSString *bundleIdentifier = NSBundle.mainBundle.bundleIdentifier;
      // Waze is installed. Launch Waze and start navigation
      NSString *urlStr =
        [NSString stringWithFormat:@"https://waze.com/ul?ll=%f,%f&navigate=yes&utm_source=%s",
        latitude, longitude, bundleIdentifier];
      [[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"]];
  }
}

Lorsque vous compilez avec le SDK iOS 9.0 ou une version ultérieure, vous devez mettre à jour le fichier de liste de propriétés de votre application avec les éléments suivants pour inclure Waze :

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