Intégrer les fonctionnalités d’emplacement

Vous pouvez intégrer les fonctionnalités d’emplacement au sein de votre application Teams à l’aide du Kit de développement logiciel (SDK) client JavaScript Microsoft Teams, qui fournit des API bien définies et les outils nécessaires pour permettre à votre application d’accéder aux fonctionnalités d’appareil natives de l’utilisateur. La fonctionnalité d’emplacement est disponible pour le client web, le bureau et les appareils mobiles Teams.

Vous pouvez utiliser la bibliothèque de client JavaScript Microsoft Teams (TeamsJS), qui fournit les outils nécessaires à votre application pour accéder aux fonctionnalités natives de l’appareil de l’utilisateur. Utilisez les API de localisation, telles que getLocation et showLocation, pour intégrer ces fonctionnalités dans votre application.

Avantages

Vous pouvez utiliser les API d’emplacement, telles que getLocation et showLocation pour intégrer les fonctionnalités au sein de votre application.

Remarque

Cette rubrique reflète la version 2.0.x de la bibliothèque de client JavaScript Microsoft Teams (TeamsJS). Si vous utilisez une version antérieure, reportez-vous à la vue d’ensemble de la bibliothèque TeamsJS pour obtenir des conseils sur les différences entre la dernière version de TeamsJS et les versions antérieures.

L’avantage de l’intégration des fonctionnalités d’emplacement dans vos applications Teams est d’appliquer la fonctionnalité d’emplacement dans le client web, le bureau et les appareils mobiles Teams à l’aide de la bibliothèque de client JavaScript Microsoft Teams. Les scénarios suivants présentent les avantages des fonctionnalités d’emplacement :

Le principal avantage de l’intégration des fonctionnalités de localisation dans vos applications Teams est qu’elle permet aux développeurs d’applications web sur la plateforme Teams de tirer parti des fonctionnalités de localisation avec la bibliothèque de client JavaScript Microsoft Teams.

  • Partagez les données d’intégrité authentiques des tours cellulaires avec la direction. La direction peut comparer toute discordance entre les informations de localisation capturées et les données soumises par le personnel de maintenance.

  • Localisez le personnel de support technique dans une zone spécifiée. L’application demande au personnel du support technique de partager son emplacement actuel, que la direction peut utiliser pour allouer le ticket informatique à la personne de support la plus proche après avoir vérifié son profil.

  • Indiquez l’emplacement après avoir terminé un travail dans le champ. L’application de traitement des travaux demande l’autorisation de trouver l’emplacement. Une fois que l’utilisateur a accordé l’autorisation, l’application détecte l’emplacement exact. L’utilisateur peut également sélectionner un emplacement en faisant glisser une épingle vers l’emplacement d’achèvement du travail sur la carte.

  • Capturez la présence grâce à des selfies à l’intérieur du magasin de détail. Le responsable du magasin peut suivre la présence des travailleurs en leur demandant de partager un selfie via une application de présence. Les données d’emplacement sont capturées et envoyées avec l’image. Ce scénario s’applique principalement aux travailleurs de première ligne.

L’image suivante illustre l’expérience d’application web de l’API getLocation :

Illustration montrant le sélecteur d’emplacement.

Pour intégrer les fonctionnalités d’emplacement, vous devez :

Mise à jour du manifeste

Mettez à jour le fichier manifest.json de votre application Teams en ajoutant la devicePermissionspropriété et en spécifiantgeolocation. Il permet à votre application de demander les autorisations requises aux utilisateurs avant qu’ils ne commencent à utiliser les fonctionnalités d’emplacement. La mise à jour du manifeste de l’application est la suivante :

"devicePermissions": [
    "geolocation",
],

Remarque

API de localisation

Le tableau suivant répertorie l’ensemble des API permettant d’activer les fonctionnalités de localisation de votre appareil :

API Description Configuration d’entrée
getLocation Fournit l’emplacement actuel de l’appareil de l’utilisateur ou ouvre le sélecteur d’emplacement natif et retourne l’emplacement choisi par l’utilisateur. L’API getLocation prend les deux paramètres d’entrée suivants dans le cadre de l’interface LocationProps : allowChooseLocation, showMap:
L’expérience est dérivée de la combinaison de ces deux paramètres d’entrée :
- (true, true) : une carte est lancée et l’utilisateur peut choisir n’importe quel emplacement sur celle-ci.
- (true, false) : une carte est lancée et l’utilisateur peut choisir n’importe quel emplacement sur celle-ci.
- (false, true) : une carte est lancée. L’utilisateur peut uniquement envoyer l’emplacement actuel.
- (false,false) : la carte n’est pas lancée. L’emplacement actuel de l’utilisateur est récupéré.
showLocation Affiche l’emplacement sur la carte. Il prend un emplacement de paramètre d’entrée unique, qui contient les coordonnées de l’emplacement à afficher sur la carte.

Remarque

Pour getLocation l’API :

  • Si allowChooseLocation a la valeur true, est showMap ignoré.
  • showMap= false n’est pas pris en charge sur le web ou le bureau Teams.

Pour plus d’informations sur getLocation et showLocation, consultez LocationProps.

Importante

Lorsque votre application ou vos services accèdent à une API Microsoft qui fournit un emplacement à l’aide de l’Bing Cartes, vous comprenez et acceptez que tout contenu fourni via Bing Cartes, y compris les géocodes, ne peut être utilisé que dans l’API Microsoft par le biais de laquelle le contenu est fourni. Votre utilisation de Bing Cartes est régie par les conditions d’utilisation de l’utilisateur final Bing Cartes disponibles sur go.microsoft.com et la Déclaration de confidentialité Microsoft.
En outre, vous devez fournir un lien hypertexte vers Bing Cartes conditions d’utilisation, qui se trouve ici, soit en bas de chaque page de votre Application où les services sont accessibles ou affichés, soit dans les conditions d’utilisation de votre application. Il vous incombe d’informer les utilisateurs finaux des modifications apportées aux Bing Cartes les informations d’utilisation, et vous vous conformerez aux instructions raisonnables de Microsoft dans ce cas. Vous n’encouragez pas ou n’exigez aucun utilisateur final de violer les conditions des conditions d’utilisation Bing Cartes. Dans le cas où un utilisateur final ne respectait pas les Bing Cartes informations d’utilisation, Microsoft peut immédiatement résilier le présent contrat.

Extraits de code

  • Appelez getLocation l’API pour récupérer l’emplacement :
import {location} from "@microsoft/teams-js"

let locationProps = {"allowChooseLocation":true,"showMap":true};
if(location.isSupported()) {
    const locationPromise = location.getLocation(locationProps);
    locationPromise.
        then((result) => {output(JSON.stringify(result));}.
        catch((error) => {output(error);});
}
else {/*Handle case where capability isn't supported */}
  • Appelez showLocation l’API pour afficher l’emplacement :
import {location} from "@microsoft/teams-js"

let location = {"latitude":17,"longitude":17};
if(location.isSupported()) {
    const locationPromise = location.showLocation(location);
    locationPromise.
         then((result) => {/*Successful map display*/}).
         catch((error) => {/*Failed map display*/});
}
else {/*Handle case where capability isn't supported */}

Gestion des erreurs

Vous devez vous assurer de traiter ces erreurs de manière appropriée dans votre application Teams. Le tableau suivant répertorie les codes d'erreur et les conditions dans lesquelles les erreurs sont générées :

Code d’erreur Nom de l’erreur Condition
100 NOT_SUPPORTED_ON_PLATFORM L’API n’est pas prise en charge sur la plateforme actuelle.
500 INTERNAL_ERROR Une erreur interne a été rencontrée lors de l'exécution de l'opération requise.
1 000 PERMISSION_DENIED L'utilisateur s'est vu refuser les droits d'accès à l'application Teams ou à l'application web.
4000 ARGUMENTS NON VALIDES L’API est appelée avec des arguments obligatoires incorrects ou insuffisants.
8000 USER_ABORT L’utilisateur a annulé l’opération.
9000 OLD_PLATFORM L'utilisateur est sur une ancienne build de plateforme où l'implémentation de l'API n'est pas présente. La mise à jour de la compilation devrait résoudre le problème.

Exemple de code

Exemple de nom Description .NET Node.js
Localisation actuelle dans l'application Les utilisateurs peuvent archiver l’emplacement actuel et afficher tous les archivages d’emplacement précédents. View View

Voir aussi