Implémenter des intents d'application de navigation

L'Assistant Google utilise trois formats d'intents différents que votre application de navigation peut prendre en charge. Vous pouvez assurer l'interopérabilité et intégrer votre application et l'Assistant Google en déclarant les filtres d'intent détaillés sur cette page dans le fichier manifeste de votre application. Pour en savoir plus sur les intents, consultez la section Intent.

La classe Intent de l'application de navigation de l'Assistant est compatible avec les intents suivants:

  • Intent de navigation
  • Intention de recherche
  • Intent d'action personnalisée

Flux de données d'intent

Figure 1 : Flux de données d'intent.

Paramètres dans les données d'intent

Les données d'intent suivent un format URI contenant des paramètres en fonction de l'intent que vous transmettez. Certains paramètres sont toujours fournis dans les données. Cela signifie que vous pouvez vous attendre à ce qu'ils aient toujours une valeur explicite. Toutefois, les paramètres facultatifs n'ont pas toujours de valeur définie dans les données. Pour en savoir plus, consultez la section Test des données.

Intents hors connexion

Les variantes hors connexion de tous les intents listés sur cette page sont disponibles. Vous pouvez les distinguer en ajoutant .offline à leur schéma. Par exemple, l'intent de navigation utilise le schéma geo.offline. Ces filtres d'intent dans le fichier manifeste indiquent que l'application peut prendre en charge ces actions hors connexion.

Utilisez un intent de navigation pour répondre à la demande d'un utilisateur d'accéder à une destination spécifique. Cette destination peut être un seul lieu (adresse) ou plusieurs lieux (par exemple, des cafés et des stations-service). Les données d'intent suivent un format d'URI spécifié pour chaque intent.

Format d'intent

La classe Intent utilise le format suivant pour l'intent de l'application de navigation:

Catégorie:android.intent.category.DEFAULT

Action :

  • Android Auto et Android Automotive OS : androidx.car.app.action.NAVIGATE
  • Autres facteurs de forme : android.intent.action.NAVIGATE

Schéma:geo

Exemples :

  • geo:0,0?q=Googleplex
  • geo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stop
  • geo:0,0?q=coffee+shop&mode=w&intent=navigation
  • geo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation

Comportement suggéré de l'application:la navigation vers l'emplacement spécifié commence ou l'utilisateur est invité à choisir parmi plusieurs options.

Filtres d'intents de fichier manifeste

Déclarez le format d'intent suivant dans le fichier manifeste de votre application afin que l'Assistant Google sache que votre application de navigation peut recevoir des intents de navigation.

Tous les facteurs de forme, à l'exception d'Android Auto et d'Android Automotive OS:

<intent-filter>
  <action android:name="android.intent.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Android Auto et Android Automotive OS :

<intent-filter>
  <action android:name="androidx.car.app.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Paramètres fournis

Les paramètres suivants devraient être disponibles dans les données d'intent d'application de navigation fournies.

Requête de localisation ou coordonnées géographiques

Chaque requête d'intent de navigation contient un ou les deux paramètres suivants, en fonction du type de données demandé:

  • Requête de localisation

    Fait référence à l'emplacement vers lequel l'utilisateur tente de naviguer. Utilisez ces données pour déterminer la destination de l'utilisateur.

    Clé de paramètre: q
    Valeur:destination de la requête de l'utilisateur.

    Exemple:geo:0,0?q=Golden+Gate+Bridge
    Interprétation:L'utilisateur souhaite accéder au pont du Golden Gate.

  • Coordonnées géographiques (latitude et longitude)

    Indique les coordonnées spécifiques utilisées par l'utilisateur pour la navigation.

    Clé de paramètre:geo:lat,long
    Valeur:coordonnées de l'utilisateur interrogées.

    Exemple:geo:1.1,2.2?mode=w&intent=navigation
    Interprétation:L'utilisateur souhaite accéder aux coordonnées (1,1, 2,2).

Paramètres facultatifs

Les paramètres facultatifs fournis dans les données d'intent de l'application de navigation sont décrits dans cette section.

Intent

Définit l'intention de l'utilisateur. Si ce paramètre n'est pas défini, l'intent utilisateur par défaut est considéré comme navigation.

Clé de paramètre: intent
Valeurs possibles:

  • navigation [valeur par défaut] : remplace la destination et lance la navigation. Utilisez-le pour des requêtes telles que Accéder à x.
  • add_a_stop : ajoute l'arrêt en tant que destination suivante avec les destinations précédentes. Utilisez-le pour des requêtes telles que ajouter un arrêt à x.
  • directions : affiche l'itinéraire sans lancer la navigation. Utilisez-le pour des requêtes telles que itinéraire vers x.

Exemple:geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop Interprétation:L'utilisateur souhaite ajouter un arrêt à Bellevue Square, Bellevue, avec les coordonnées actuelles [47,6, -122,2].

À éviter

Définit les éléments à éviter dans la navigation.

Clé de paramètre: avoid
Valeurs possibles:

  • f : ferries
  • h – Voies rapides
  • t : péages

Exemple:geo:0,0?q=googleplex&avoid=tf
Interprétation:L'utilisateur souhaite se rendre au Googleplex en évitant les péages et les ferries.

Mode transport

Le mode de transport représente le mode de transport spécifié dans la requête par l'utilisateur.

Clé de paramètre: mode
Valeurs possibles:

  • b : vélo
  • d : trajet en voiture
  • x - taxi
  • l : deux-roues
  • r – en transports
  • w : à pied

Exemple:geo:0,0?q=Googleplex&mode=r
Interprétation:L'utilisateur souhaite se rendre au Googleplex en transports en commun.

Entrée

Utilisé pour consigner la source de l'entrée.

Valeurs possibles: assistant

Exemple:geo:47.61594547836694,-122.20373173098756?entry=assistant

Intention de recherche

Utilisez un intent de recherche pour rechercher une requête et afficher plusieurs résultats le long du trajet pendant la conduite.

Format d'intent

La classe Intent utilise le format suivant pour les intents de recherche:

Catégorie:android.intent.category.DEFAULT

Action:android.intent.action.VIEW

Schéma:geo

Exemple:geo:0,0?q=restaurants+nearby

Comportement suggéré de l'application:ouvrir une liste d'établissements correspondant à la requête de l'utilisateur.

Filtres d'intents de fichier manifeste

Déclarez le format d'intent suivant dans le fichier manifeste de votre application afin que l'Assistant Google sache que votre application de navigation peut recevoir des intents de recherche:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Paramètres fournis

Les paramètres suivants devraient être disponibles dans les données d'intent de recherche fournies.

Requête de localisation

Une requête de localisation correspond à l'emplacement que l'utilisateur recherche lorsqu'il conduit. Cette requête peut être imprécise ou suivre un itinéraire de navigation actif.

Clé de paramètre:q
Valeur:terme de recherche de l'utilisateur, qui peut être un type d'établissement (par exemple, café ou université), mais peut également comporter des quantificateurs (par exemple, -near me ou -with best rating).

Exemple:geo:0,0?q=restaurants+nearby
Interprétation:L'utilisateur souhaite rechercher des restaurants à proximité.

Intent d'action personnalisée

Utilisez un intent personnalisé pour les actions personnalisées, comme signaler un accident et mettre fin à la navigation. Le type d'action principal est défini par le paramètre de requête act. Vous pouvez définir des paramètres supplémentaires en fonction du type d'action.

Format d'intent

La classe Intent utilise le format suivant pour l'intent d'action personnalisée:

Catégorie:android.intent.category.DEFAULT

Action:android.intent.action.VIEW

Schéma:geo.action

Exemple:geo.action:?act=report&accident_type=major

Filtres d'intents de fichier manifeste

Déclarez le format d'intent suivant dans le fichier manifeste de votre application pour indiquer à l'Assistant Google que votre application de navigation peut recevoir des intents d'action personnalisés.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo.action" />
</intent-filter>

Paramètres fournis

Les paramètres suivants devraient être disponibles dans les données d'intent d'action personnalisée fournie:

Type d'action

Il définit le type d'action personnalisée qu'un utilisateur souhaite effectuer.

Clé de paramètre:act

Exemples :

  • geo.action:?act=report_crash&accident_type=major
    Interprétation:L'utilisateur souhaite signaler un accident important.

  • geo.action:?act=mute
    Interprétation:L'utilisateur souhaite couper le son des instructions vocales.

  • geo.action:?act=exit_navigation
    Interprétation:L'utilisateur souhaite quitter la navigation actuelle.

Comportement suggéré de l'application:effectuez l'action demandée dans l'application de navigation ou affichez un message d'action non prise en charge.

La figure suivante illustre un exemple de paires clé-valeur dans la requête de réponse:

Flux de données d&#39;intent d&#39;action personnalisée

Figure 2. Flux de données d'intent d'action personnalisée.

Paire clé-valeur :

"act": "report_crash"
"road_direction": other_side"

Chaque action personnalisée a toujours un paramètre act comme clé. Dans l'exemple de code ci-dessus, certaines actions peuvent comporter des paires clé-valeur supplémentaires. Par exemple, act=report_crash accepte les clés supplémentaires suivantes: accident_type et road_direction.

La clé accident_type peut accepter deux valeurs, minor et major.

Valeurs possibles

Le tableau liste les valeurs possibles que l'Assistant Google peut transmettre en tant qu'action que l'utilisateur tente d'effectuer dans l'application de navigation.

Valeur Description Clés de paramètre facultatives Valeurs de paramètre facultatives
allow_ferries Modifier les préférences de calcul d'itinéraire pour autoriser les ferries
allow_highways Modifier les préférences de routage pour autoriser les autoroutes
allow_tolls Modifier les préférences d'itinéraire pour autoriser les péages
apply_electric_vehicle_connector_filter Afficher uniquement les bornes de recharge de VE compatibles avec le connecteur de votre véhicule
apply_electric_vehicle_fast_charging_filter Afficher uniquement les bornes de recharge de véhicules électriques qui sont des bornes rapides
apply_electric_vehicle_payment_filter Afficher uniquement les bornes de recharge de VE nécessitant un paiement
avoid_ferries Modifier les préférences de routage pour éviter les ferries
avoid_highways Modifier les préférences de routage pour éviter les voies rapides
avoid_tolls Modifier les préférences de calcul d'itinéraire pour éviter les péages
clear_search_results Effacer les résultats de recherche sur la carte
distance_to_destination Afficher la distance jusqu'à la destination
distance_to_next_turn Afficher la distance jusqu'au virage suivant
eta Afficher l'heure d'arrivée prévue à la destination.
exit_navigation Quitter ou annuler la navigation.
follow_mode Passez en mode Suivre.
go_back Revenir à l'action précédente sur la carte
hide_satellite Modifiez le paramètre de la carte pour masquer les informations satellite.
hide_traffic Modifiez le paramètre de la carte pour masquer les informations sur le trafic.
mute Coupez le son du guidage vocal.
query_current_road Indique la route empruntée par l'utilisateur.
query_destination Indiquez la destination.
query_next_turn Indiquez le prochain virage.
remove_electric_vehicle_connector_filter Supprimez le filtrage des emplacements de recharge de VE correspondant au connecteur de la voiture.
remove_electric_vehicle_fast_charging_filter Suppression du filtrage pour les bornes de recharge de VE qui sont des bornes rapides.
remove_electric_vehicle_payment_filter Supprimez le filtrage des bornes de recharge de VE nécessitant un paiement.
report_crash Signaler des accidents accident_type minor
major
road_direction this_side
other_side
report_hazard Signalez les dangers. hazard_type animal
broken_traffic_light
construction
flooding
fog
hail
ice
missing_sign
object_on_road
pothole
roadkill
snow
vehicle
weather
road_direction this_side
other_side
location_on_road on_road
on_shoulder
report_police Signalez toute intervention policière. road_direction this_side
other_side
report_road_closure Signalez les routes fermées. road_closure_type partial
full
report_traffic Signalez un embouteillage. traffic_type moderate
heavy
standstill
road_direction this_side
other_side
resume_navigation Reprenez la navigation.
route_overview Afficher l'aperçu de l'itinéraire.
show_alternates Affiche d'autres itinéraires.
show_directions_list Afficher les instructions détaillées
show_satellite Afficher les informations satellite sur la carte
show_traffic Afficher le trafic sur la carte.
time_to_destination Afficher l'heure d'arrivée prévue à destination.
time_to_next_turn Afficher l'heure d'arrivée estimée au prochain virage.
unmute Réactivez le guidage vocal.