Les pages d'accueil sont une fonctionnalité des modules complémentaires Google Workspace qui permet de définir une ou plusieurs cartes non contextuelles. Les fiches non contextuelles affichent une interface utilisateur lorsque l'utilisateur se trouve en dehors d'un contexte spécifique, par exemple lorsqu'il consulte sa boîte de réception Gmail sans message ni brouillon ouverts.
Les pages d'accueil vous permettent d'afficher du contenu non contextuel, comme les applications Google dans le panneau latéral Accès rapide (Google Keep, Google Agenda et Google Tasks). Les pages d'accueil peuvent également servir de point de départ lorsqu'un utilisateur ouvre votre module complémentaire pour la première fois. Elles sont utiles pour montrer aux nouveaux utilisateurs comment interagir avec votre module complémentaire.
Définissez une page d'accueil pour votre module complémentaire en la spécifiant dans le fichier manifeste de votre projet et en implémentant une ou plusieurs fonctions homepageTrigger (voir Configuration de la page d'accueil).
Vous pouvez avoir plusieurs pages d'accueil, une pour chaque application hôte que votre module complémentaire étend. Vous pouvez également définir une page d'accueil par défaut unique et commune qui est utilisée sur les hôtes pour lesquels vous n'avez pas spécifié de page d'accueil personnalisée.
La page d'accueil de votre module complémentaire s'affiche dans les cas suivants :
- Lorsque le module complémentaire est ouvert pour la première fois dans l'hôte (après autorisation).
- Lorsque l'utilisateur passe d'un contexte contextuel à un contexte non contextuel alors que le module complémentaire est ouvert. Par exemple, de la modification d'un événement Agenda à l'agenda principal.
- Lorsque l'utilisateur clique sur le bouton Retour suffisamment de fois pour faire sortir une carte sur deux des piles internes.
- Lorsqu'une interaction avec l'UI dans une fiche non contextuelle entraîne un appel
Navigation.popToRoot.
Nous vous recommandons de concevoir une page d'accueil. Si vous n'en définissez aucune, une fiche générique contenant le nom de votre module complémentaire est utilisée chaque fois qu'un utilisateur accède à la page d'accueil.
Configuration de la page d'accueil
Les modules complémentaires Google Workspace utilisent le champ addOns.common.homepageTrigger pour configurer le contenu de la page d'accueil par défaut (non contextuel) des applications hôtes dans le manifeste du module complémentaire :
{
"addOns": {
"common": {
"homepageTrigger": {
"runFunction": "myFunction",
"enabled": true
}
}
}
}
runFunction: nom de la fonction Google Apps Script que le framework de modules complémentaires Google Workspace appelle pour afficher les fiches de modules complémentaires de la page d'accueil. Cette fonction est la fonction de déclenchement de la page d'accueil. Cette fonction doit créer et renvoyer un tableau d'objetsCardqui composent l'UI de la page d'accueil. Si plusieurs cartes sont renvoyées, l'application hôte affiche les en-têtes des cartes dans une liste parmi laquelle l'utilisateur peut faire son choix (voir Renvoi de plusieurs cartes).enabled: indique si les fiches de la page d'accueil doivent être activées pour ce champ d'application. Ce champ est facultatif et la valeur par défaut esttrue. Si vous définissez cette valeur surfalse, les fiches de la page d'accueil seront désactivées pour tous les hôtes (sauf si elles sont remplacées pour cet hôte ; consultez la configuration spécifique à l'hôte).
Pour qu'un hôte puisse utiliser la page d'accueil commune, addOns.common.homepageTrigger et la ressource de premier niveau de l'hôte doivent être présents dans le manifeste du module complémentaire. Par exemple, si addOns.gmail n'est pas présent dans le fichier manifeste, le module complémentaire est désactivé pour Gmail et n'affiche pas de page d'accueil ni d'autres fonctionnalités dans cet hôte.
En plus de la configuration commune, des remplacements par hôte de structure identique sont disponibles dans la configuration de chaque application hôte, au niveau de addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger et d'autres déclencheurs spécifiques à l'hôte.
L'exemple suivant montre un fichier manifeste dans lequel un déclencheur de page d'accueil commun est défini, mais remplacé par des fonctions personnalisées pour Agenda et Drive, et désactivé pour Gmail. Dans cette configuration, la fonction buildHomePage commune ne s'exécute jamais, car elle est soit remplacée, soit l'hôte est désactivé.
{
...
"addOns": {
...
"common": {
"homepageTrigger": { "runFunction": "buildHomePage" }
},
"calendar": {
"homepageTrigger": { "runFunction": "buildCalendarHomepage" }
},
"drive": {
"homepageTrigger": { "runFunction": "buildDriveHomepage" }
},
"gmail": {
"homepageTrigger": { "enabled": false }
},
...
}
}
L'extrait de fichier manifeste suivant est équivalent à l'exemple précédent, même si la configuration homepageTrigger par défaut et la configuration Gmail sont omises :
{
"addOns": {
"common": {},
"calendar": {
"homepageTrigger": { "runFunction": "myCalendarFunction" }
},
"drive": {
"homepageTrigger": { "runFunction": "myDriveFunction" }
},
"gmail": {},
...
}
}
Aucune des sections homepageTrigger n'est obligatoire. L'interface utilisateur affichée pour un module complémentaire dans un produit hôte dépend de la présence du champ de fichier manifeste correspondant et de l'existence d'un homepageTrigger associé. L'exemple suivant montre les fonctions de déclencheur de module complémentaire qui sont exécutées pour créer une UI de page d'accueil pour différentes configurations de fichier manifeste :

Objets d'événement de la page d'accueil
Lorsqu'elle est appelée, la fonction de déclencheur de la page d'accueil (runFunction) décrite précédemment reçoit un objet d'événement contenant des données du contexte d'invocation.
Les objets d'événement de la page d'accueil n'incluent pas d'informations sur les widgets ni de contexte. Les informations transmises sont limitées aux champs suivants de l'objet d'événement commun :
commonEventObject.clientPlatformcommonEventObject.hostAppcommonEventObject.userLocaleetcommonEventObject.userTimezone(pour en savoir plus sur les restrictions, consultez Accéder aux paramètres régionaux et au fuseau horaire de l'utilisateur).
Pour en savoir plus, consultez Objet Event.
Autres fiches non contextuelles
L'UI de votre module complémentaire peut contenir des fiches non contextuelles supplémentaires qui ne sont pas des pages d'accueil. Par exemple, votre page d'accueil peut comporter un bouton qui ouvre une fiche "Paramètres" permettant d'ajuster les paramètres du module complémentaire (ces paramètres sont généralement indépendants du contexte).
Les cartes non contextuelles sont créées comme n'importe quelle autre carte. La seule différence réside dans l'action ou l'événement qui génère et affiche la carte. Pour savoir comment créer des transitions entre les cartes, consultez Méthodes de navigation.