Gemini utilise trois formats d'intent différents que votre application de navigation peut prendre en charge.
Pour assurer l'interopérabilité et intégrer votre application à Gemini, vous pouvez déclarer les filtres d'intent détaillés sur cette page dans le fichier manifeste de votre application.
Pour en savoir plus sur les intentions, consultez Intent.
La classe d'application de navigation Gemini Intent est compatible avec les intents suivants :
- Intent de navigation
- Intention de recherche
- Intent d'action personnalisée
Figure 1. Flux de données d'intention.
Paramètres dans les données d'intent
Les données d'intent suivent un format URI contenant des paramètres basés sur l'intent que vous transmettez. Certains paramètres sont toujours fournis dans les données. Cela signifie que vous pouvez vous attendre à ce qu'elles 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 Test de données.
Intents hors connexion
Toutes les intentions listées sur cette page ont des variantes hors connexion 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 est capable de prendre en charge ces actions hors connexion.
Intent de navigation
Utilisez un intent de navigation pour répondre à la demande d'un utilisateur de se rendre à 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 URI spécifié pour chaque intent.
Format de l'intention
La classe Intent utilise le format suivant pour l'intent d'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=Googleplexgeo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stopgeo:0,0?q=coffee+shop&mode=w&intent=navigationgeo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation
Comportement suggéré de l'application : la navigation vers le lieu spécifié démarre ou l'utilisateur est invité à choisir parmi plusieurs options.
Filtres d'intent du fichier manifeste
Déclarez le format d'intent suivant dans le fichier manifeste de votre application pour que Gemini 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 doivent être disponibles dans les données d'intent de l'application de navigation fournies.
Requête de localisation ou coordonnées géographiques
Chaque requête d'intention de navigation contient un ou plusieurs de ces paramètres, selon le type de données demandé :
Requête de localisation
Fait référence au lieu vers lequel l'utilisateur essaie de se rendre. Utilisez ces données pour résoudre la destination de l'utilisateur.
Clé du paramètre :
q
Valeur : destination recherchée par l'utilisateur.Exemple :
geo:0,0?q=Golden+Gate+Bridge
Interprétation : L'utilisateur souhaite accéder au Golden Gate Bridge.Coordonnées géographiques (latitude et longitude)
Fait référence aux coordonnées spécifiques utilisées par l'utilisateur pour la navigation.
Clé du paramètre :
geo:lat,long
Valeur : coordonnées demandées par l'utilisateur.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'intention de l'utilisateur par défaut est considérée comme navigation.
Clé du paramètre : intent
Valeurs possibles :
navigation[valeur par défaut] : remplace la destination et lance la navigation. Utilisez-le pour les requêtes telles que navigue vers x.add_a_stop: ajoute l'arrêt comme prochaine destination, en plus des destinations précédentes. Utilisez cette intention pour les requêtes telles que ajoute 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 lors de la navigation.
Clé du paramètre : avoid
Valeurs possibles :
f– Ferriesh– Voies rapidest: 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 déplacement représente le mode de transport spécifié dans la requête par l'utilisateur.
Clé du paramètre : mode
Valeurs possibles :
b– vélod– en voiturex- taxil: deux-rouesr– Transports en communw– à 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 enregistrer la source d'entrée.
Valeurs possibles : assistant
Exemple : geo:47.61594547836694,-122.20373173098756?entry=assistant
Intention de recherche
Utilisez une intention de recherche pour rechercher une requête et afficher plusieurs résultats le long de l'itinéraire pendant que vous conduisez.
Format de l'intention
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 de lieux correspondant à la requête de l'utilisateur.
Filtres d'intent du fichier manifeste
Déclarez le format d'intent suivant dans le fichier manifeste de votre application pour que Gemini 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 doivent être disponibles dans les données sur l'intention de recherche fournies.
Requête de localisation
Une requête de localisation correspond à la position que l'utilisateur recherche en conduisant. Cette requête peut être imprécise ou le long d'un itinéraire de navigation actif.
Clé du paramètre : q
Valeur : terme de recherche de l'utilisateur, qui peut être un type de lieu tel que café ou université, mais qui peut également comporter des quantificateurs tels que -près de moi ou -avec la meilleure note.
Exemple : geo:0,0?q=restaurants+nearby
Interprétation : l'utilisateur souhaite rechercher des restaurants à proximité.
Intent d'action personnalisée
Utilisez une intention personnalisée pour les actions personnalisées, comme signaler des accidents 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 de l'intention
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'intent du fichier manifeste
Déclarez le format d'intent suivant dans le fichier manifeste de votre application pour indiquer à Gemini que votre application de navigation peut recevoir des intents d'actions personnalisées.
<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 doivent être disponibles dans les données d'intent d'action personnalisée fournies :
Type d'action
Il définit le type d'action personnalisée qu'un utilisateur souhaite effectuer.
Clé du paramètre : act
Exemples :
geo.action:?act=report_crash&accident_type=major
Interprétation : L'utilisateur souhaite signaler un accident majeur.geo.action:?act=mute
Interprétation : l'utilisateur souhaite désactiver les instructions vocales.geo.action:?act=exit_navigation
Interprétation : l'utilisateur souhaite quitter la navigation en cours.
Comportement suggéré de l'application : exécutez l'action demandée dans l'application de navigation ou affichez un message indiquant que l'action n'est pas prise en charge.
La figure suivante illustre un exemple de paires clé-valeur dans la requête de réponse :
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 comporte toujours un paramètre act comme clé. Dans l'exemple de code mentionné ci-dessus, certaines actions peuvent comporter des paires clé/valeur supplémentaires.
Par exemple, act=report_crash est compatible avec les clés supplémentaires 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 Gemini peut transmettre en tant qu'action que l'utilisateur essaie d'effectuer dans l'application de navigation.
| Valeur | Description | Clés de paramètre facultatives | Valeurs de paramètre facultatives |
|---|---|---|---|
allow_ferries
|
Modifiez vos préférences d'itinéraire pour autoriser les ferries. | ||
allow_highways
|
Modifiez vos préférences d'itinéraire pour autoriser les autoroutes. | ||
allow_tolls
|
Modifiez la préférence d'itinéraire pour autoriser les péages. | ||
avoid_ferries
|
Modifiez vos préférences d'itinéraire pour éviter les ferries. | ||
avoid_highways
|
Modifiez vos préférences d'itinéraire pour éviter les autoroutes. | ||
avoid_tolls
|
Modifiez la préférence de route pour éviter les péages. | ||
distance_to_destination
|
Afficher la distance jusqu'à la destination | ||
distance_to_next_turn
|
Affiche la distance jusqu'au prochain virage. | ||
eta
|
Afficher l'heure d'arrivée prévue à la destination. | ||
exit_navigation
|
Quitter ou annuler la navigation. | ||
follow_mode
|
Passez à la vue "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
|
Désactive le guidage vocal. | ||
query_current_road
|
Afficher la route sur laquelle se trouve actuellement l'utilisateur. | ||
query_destination
|
Indiquez la destination. | ||
query_next_turn
|
Affiche le prochain tour. | ||
report_crash
|
Signaler des accidents. | accident_type
|
minor
|
major
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
report_hazard
|
Signaler des 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
|
Signaler une intervention policière | road_direction
|
this_side
|
other_side
|
|||
report_road_closure
|
Signaler des routes fermées | road_closure_type
|
partial
|
full
|
|||
report_traffic
|
Signale un embouteillage. | traffic_type
|
moderate
|
heavy
|
|||
standstill
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
route_overview
|
Affiche un aperçu de l'itinéraire. | ||
show_alternates
|
Affiche d'autres itinéraires. | ||
show_directions_list
|
Affiche les instructions de navigation 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 à la destination | ||
time_to_next_turn
|
Afficher l'heure d'arrivée estimée au prochain carrefour | ||
unmute
|
Réactivez le guidage vocal. |
Récupérer l'état de la navigation
Pour que Gemini puisse fournir des informations précises et en temps réel à l'utilisateur lorsqu'il demande l'état de son trajet, votre application doit fournir des métadonnées de navigation à l'aide du service automobile NavigationManager. Pour obtenir des conseils sur l'implémentation, consultez Communiquer les métadonnées de navigation.