Les projets sont généralement configurés dans le concepteur ArcGIS QuickCapture à l’aide d’une interface graphique, mais vous pouvez également modifier le code JSON du projet.
Lorsque vous mettez à jour le code JSON du projet, vous pouvez modifier les propriétés suivantes :
- basemap - Carte affichée lors de l’examen des données.
- dataSources - Répertorie les couches d’entités utilisées par les boutons dans le projet.
- preferences - Applicable à tous les enregistrements capturés dans un projet.
- templateGroups - Représente un groupe de boutons.
- templates : représente un bouton.
- cameraInfo- Mode de capture des photos ou des vidéos pour l’enregistrement.
- captureInfo - Mode de capture des données lorsqu’un bouton est sélectionné. Configurez l’affichage de la carte après la capture (pour la mise à jour de la localisation) et personnalisez le texte d’affichage et l’astuce qui apparaît sur la page de la carte.
- displayInfo - Apparence d’un bouton.
- fieldInfos - Valeurs attributaires à capturer pour l’enregistrement.
- tracking : représente la couche de partage de la localisation utilisée par le projet.
- userInput - Chaîne fournie par l’utilisateur qui peut servir à renseigner les attributs d’un enregistrement.
Certaines de ces propriétés sont des matrices de propriétés supplémentaires. Les sous-sections suivantes expliquent en détail les matrices de propriétés.
Fond de carte
Par défaut, la carte d’un nouveau projet correspond au fond de carte par défaut de l’organisation. Lorsque l’utilisateur est connecté à l’application avec un compte d’organisation, il voit le fond de carte par défaut actuel de l’organisation dans ce projet. Si l’utilisateur se déconnecte de l’application, la carte topographique mondiale Esri s’affiche.
Les propriétés suivantes sont utilisées pour identifier une carte à utiliser dans un projet :
Propriété | Description | Type de champ |
---|---|---|
type | Carte Web, MMPK, VTPK ou TPK. Lorsque la valeur est nulle, la carte topographique mondiale Esri est utilisée. | Chaîne |
itemId | ID d’élément de la carte. | Chaîne |
useDefaultBasemap | True (Vrai) (par défaut) ou False (Faux). | Booléen |
Les auteurs de projet peuvent remplacer le comportement par défaut en sélectionnant la carte en ligne ou hors connexion de leur choix. Si useDefaultBasemap est défini sur Faux et que la valeur itemId est nulle, le projet utilise la carte topographique mondiale Esri.
L’exemple suivant montre une carte Web requise qui n’est accessible qu’à l’utilisateur qui l’a téléchargée.
{
"basemap":{
"type":"WebMap",
"itemId":fae788aa91e54244b161b59725dcbb2a,
"useDefaultBasemap":false,
"required":true,
"zoomLevel":null
}
}
Pour montrer aux utilisateurs les données déjà envoyées sur une carte de votre projet, vous pouvez configurer une carte Web contenant les données de projet et la désigner comme fond de carte.
- La carte Web doit contenir au moins les mêmes couches que le projet. Vous pouvez également inclure d’autres couches.
- La symbologie définie dans la carte Web permettra de symboliser les entités envoyées.
- Les données capturées sur l’appareil qui n’ont pas été envoyées sont symbolisées à l’aide de la symbologie QuickCapture par défaut. Par exemple, les points seront symbolisés avec un symbole ponctuel bleu.
Remarque :
Seules les cartes avec la référence spatiale Web Mercator sont prises en charge.
Sources de données
Les propriétés suivantes sont utilisées pour identifier une couche d’entités dans un projet :
Propriété | Description | Type de champ |
---|---|---|
dataSourceId | Numéro unique attribué par QuickCapture à ce projet afin d’identifier cette couche dans la matrice. Il ne s’agit pas de l’index de la couche dans le service d’entités. Un projet peut comporter des couches de différents services d’entités. | Entier |
featureServiceItemId | ID d’élément du service d’entités contenant cette couche. | Chaîne |
URL | URL du point de terminaison REST de la couche d’entités (…/FeatureServer/0). Cette URL doit inclure l’URL complète jusqu’à l’index de la couche. | Chaîne |
Une ou plusieurs sources de données peuvent être répertoriées dans la propriété dataSource. Dans l’exemple suivant, deux couches provenant de deux services d’entités différents sont répertoriées :
{
"basemap":{
},
"dataSources":[
{
"featureServiceItemId":"1f683747c06c4a7e9843a477b2ab41e0",
"dataSourceId":0,
"url":"https://services1.arcgis.com/e7dVfn25KpfE6dDd/arcgis/rest/services/LayerOne/FeatureServer/0"
},
{
"featureServiceItemId":"2b313747c06c4a7e9843a477b2ab41e0",
"dataSourceId":1,
"url":"https://services1.arcgis.com/b45KpfE6dEf121/arcgis/rest/services/LayerTwo/FeatureServer/1"
}
],
"itemId":"",
"preferences":{
},
"templateGroups":[
],
"userInputs":[
],
"version":""
}
Préférences
Les propriétés suivantes s’appliquent au projet ou à tous les enregistrements capturés dans un projet :
Propriété | Description | Type de champ |
---|---|---|
backgroundColor | Couleur d’arrière-plan du projet en tant que valeur hexadécimale HTML. | Chaîne |
splitScreen | Afficher les boutons et la carte côte à côte. | Booléen |
horizontalAccuracyWarning | Valeur décimale, en mètres, qui définit un seuil recommandé au-dessus duquel la précision horizontale n’est plus considérée comme suffisante. Cette valeur permet de changer la couleur de la précision horizontale affichée sur la page du projet. Cette propriété accepte une valeur maximale de 999 mètres. | Décimal |
horizontalAccuracyError | Valeur décimale, en mètres, qui définit un seuil requis au-dessus duquel la précision horizontale n’est plus considérée comme suffisante. Cette valeur est utile pour empêcher l’utilisateur de capturer des enregistrements ou sommets si le seuil n’est pas satisfait. Cette propriété accepte une valeur maximale de 999 mètres. | Décimal |
allowEditLocation | Autoriser la mise à jour de la localisation d’un point, dans un délai donné après la capture. | Booléen |
distanceThreshold | Distance de déplacement minimale en mètres à partir du dernier sommet ou point capturé avant qu’un nouveau sommet ou point puisse être capturé. La distance par défaut est de 10 mètres. | Décimal |
undoThreshold | Le délai en secondes après la capture pendant lequel les enregistrements peuvent être supprimés ou la localisation des enregistrements actualisée. | Décimal |
adminEmail | Indique le destinataire des fichiers de récupération des données générés par l’application mobile. | Chaîne |
coordinateNotationFormat | Configurez le format de notation de coordonnées du projet affiché dans l’application mobile. Les valeurs prises en charge sont UTM, USNG, MGRS, DD, DDM et DMS. DD est la notation par défaut. | Double |
Même si les seuils peuvent être définis à la fois pour horizontalAccuracyWarning et horizontalAccuracyError, la valeur horizontalAccuracyWarning doit toujours être inférieure à l’erreur. Par exemple, si vous définissez une précision horizontale recommandée de 10 mètres et une précision horizontale requise de 30 mètres, et que votre appareil renvoie une précision de 20 mètres, un avertissement s’affiche. Si votre appareil renvoie une précision de 40 mètres, vous ne pouvez pas capturer un enregistrement.
L’exemple suivant montre les préférences définies avec un arrière-plan gris, une précision horizontale recommandée de 10 mètres, aucun seuil de distance et l’adresse e-mail d’administrateur quickcapture@esri.com :
{
"basemap":{
},
"dataSources":[
],
"itemId":"",
"preferences":{
"splitScreen":false,
"backgroundColor":"#f3f3f4",
"horizontalAccuracyError":null,
"horizontalAccuracyWarning":10,
"distanceThreshold":null,
"undoThreshold":10,
"adminEmail":"quickcapture@esri.com"
},
"templateGroups":[
],
"userInputs":[
],
"version":""
}
Remarque :
Les valeurs décimales doivent utiliser un point comme séparateur décimal. Vous ne devez pas utiliser les séparateurs des milliers. Les virgules ne sont pas acceptées dans l’éditeur JSON.
Groupes de modèles
Les propriétés suivantes sont utilisées pour définir le mode d’affichage d’un groupe de boutons dans un projet. Chaque groupe de boutons peut utiliser différentes propriétés.
Propriété | Description | Type de champ |
---|---|---|
name | Nom du groupe. | Chaîne |
label | Étiquette affichée dans le projet pour le groupe. | Chaîne |
columns | Nombre de colonnes dans le groupe. | Entier |
columnSpacing | Espacement entre les colonnes. | Décimal |
rowSpacing | Espacement entre les lignes. | Décimal |
backgroundColor | Couleur d’arrière-plan du groupe en tant que valeur hexadécimale HTML. | Chaîne |
outlineColor | Couleur de contour du groupe en tant que valeur hexadécimale HTML. | Chaîne |
expanded | La valeur par défaut est True (Vrai). | Booléen |
labelColor | Couleur de l’étiquette du groupe en tant que valeur hexadécimale HTML. | Chaîne |
Modèles
Les propriétés suivantes sont utilisées pour identifier la couche d’entités associée à un bouton :
Propriété | Description | Type de champ |
---|---|---|
id | UUID du bouton. | Texte |
dataSourceId | Référence la couche cible dans laquelle les données sont stockées. L’ID se rapporte à une source de données dans la matrice des sources de données. | Entier |
captureInfo
Les propriétés suivantes décrivent le mode de capture des données :
Propriété | Description | Type de champ |
---|---|---|
exclusivityGroup | Valeur définissant un groupe d’exclusivité. Tous les modèles de même valeur sont regroupés, avec le paramètre d’exclusivité défini sur True (Vrai). Lorsque cette propriété est définie, un seul bouton avec cette valeur peut être actif à la fois. | Texte |
type | esriGeometryPoint, esriGeometryPolyline ou esriGeometryPolygon. | Chaîne |
continuous | Propriété toujours définie sur True (Vrai) pour les lignes et les polygones. | Booléen |
editMap | Options de mise à jour de la carte. Choisissez l’affichage après la capture (la valeur par défaut est False), la personnalisation du titre de la carte (la valeur par défaut est nulle) ou la personnalisation de l’astuce cartographique (la valeur par défaut est nulle). | Chaîne |
displayInfo
Les propriétés suivantes décrivent l’apparence future d’un bouton :
Propriété | Description | Type de champ |
---|---|---|
label | Étiquette sur le bouton. | Chaîne |
shape | Rectangle, arrondie ou circulaire. | Chaîne |
size | Petit, moyen, grand, très grand, très très grand. | Chaîne |
color | Couleur d’arrière-plan du bouton en tant que valeur hexadécimale HTML. | Chaîne |
outlineColor | Couleur de contour du bouton en tant que valeur hexadécimale HTML. | Chaîne |
outlineWidth | Largeur de contour du bouton. | Décimal |
labelColor | Couleur de l’étiquette du bouton en tant que valeur hexadécimale HTML. | Chaîne |
labelFontSize | Taille de police de l’étiquette du bouton. | Entier |
labelFontWeight | Gras ou normal. | Chaîne |
shadowColor | Si aucune valeur n’est fournie, l’application utilise la même valeur backgroundColor que le groupe. Cela signifie que l’ombre n’est pas visible. | Chaîne |
image | L’image à afficher avec le bouton au format PNG, JPG ou SVG. Toutes les images sont stockées en tant que ressources de l’élément dans le dossier des images. | Chaîne |
fieldInfos
Les propriétés suivantes décrivent les informations attributaires qui sont entrées dans le service d’entités lorsque l’utilisateur appuie sur un bouton. En règle générale, l’auteur d’un projet utilise du texte prédéfini ou des variables de champ pour renseigner les champs de l’enregistrement collecté.
Propriété | Description | Type de champ |
---|---|---|
fieldName | Nom du champ. | Chaîne |
value | Peut contenir les propriétés répertoriées dans cette rubrique. | Chaîne |
cameraInfo
Les propriétés suivantes décrivent le mode de capture et d’enregistrement possible des photos ou vidéos dans un projet. Par défaut, si vous activez la capture de photos pour un bouton, la photo est toujours requise. Vous pouvez rendre la capture de photos facultative en définissant la propriété required sur Faux et minMedia sur 0. Vous pouvez également préciser la qualité des photos en changeant la propriété imageSize. (La durée maximale par défaut de chaque vidéo est 10 secondes.)
Propriété | Description | Type de champ |
---|---|---|
mode | Aucun (par défaut) : aucune photo ou vidéo n’est associée à l’entité. Automatique : une photo est prise sans confirmation de la part de l’utilisateur dès que le bouton est sélectionné. Manuel : un aperçu manuel s’affiche et l’utilisateur contrôle la capture d’une photo. | Chaîne |
imageSize | Petite (320 pixels sur le bord le plus long), moyenne (640 pixels sur le bord le plus long), grande (par défaut, 1 280 pixels sur le bord le plus long) ou sans restriction (aucune limite de taille). Si l’application redimensionne l’image, les proportions de l’image capturée sont conservées. | Chaîne |
required | True (Vrai) (par défaut) ou False (Faux). | Booléen |
captureVideo | True (Vrai) ou False (Faux) (par défaut). | Booléen |
capturePhoto | True (Vrai) (par défaut) ou False (Faux). | Booléen |
maxMedia | Nombre maximal de photos ou de vidéos capturées par un bouton. Pour les photos, la valeur maximale est 5 et pour les vidéos 1. | Entier |
minMedia | Nombre minimal de photos ou de vidéos capturées par un bouton. | Entier |
Dans l’exemple suivant, une photo facultative sans limite de taille est prise sans confirmation de l’aperçu :
{
"cameraInfo": {
"mode": "automatic",
"imageSize": "unrestricted",
"required": false,
"captureVideo": false,
"capturePhoto": true,
"maxMedia": 1,
"minMedia": 0
},
notificationsInfo
Les propriétés suivantes sont utilisées pour configurer les notifications dans un projet. Actuellement, la seule notification prise en charge est un webhook.
Propriété | Description | Type de champ |
---|---|---|
id | ID unique du webhook (dans le projet). | Chaîne |
name | Nom du webhook. | Chaîne |
active | True (Vrai) ou False (Faux) (par défaut). | Booléen |
created | Date et heure de création du webhook. | Date |
modified | Date et heure de dernière modification du webhook. | Date |
events | Type d’événement qui déclenche le webhook. Seul l’événement addData est pris en charge. | Chaîne |
targetLayerUrl | Couche de service d’entités (y compris l’index de la couche) par rapport à laquelle le webhook a été configuré. Les événements addData sont déclenchés en cas de mise à jour de cette couche. | Chaîne |
webhookUrl | URL du webhook à laquelle la charge utile sera envoyée. | Chaîne |
includePortalInfo | True (Vrai) (par défaut) ou False (Faux). | Booléen |
includeProjectInfo | True (Vrai) (par défaut) ou False (Faux). | Booléen |
includeServiceRequest | True (Vrai) (par défaut) ou False (Faux). | Booléen |
includeServiceResponse | True (Vrai) (par défaut) ou False (Faux). | Booléen |
Dans l’exemple suivant, un seul webhook est présent, mais il est possible d’en configurer plusieurs dans un seul projet :
"notificationsInfo": {
"webhooks": [
{
"active": true,
"created": 1502880915000,
"events": [
"addData"
],
"id": "ByCjvHpPz",
"includePortalInfo": true,
"includeProjectInfo": true,
"includeServiceRequest": true,
"includeServiceResponse": true,
"includeUserInfo": true,
"modified": 1502881754000,
"name": "Display name",
"targetLayerUrl": "https://<serviceurl including layer index>",
"webhookUrl": "https://<webhookserviceurl>"
}
]
}
Variables de champ
Lorsque vous utilisez ces variables dans l’éditeur JSON, vous devez entrer le nom de la variable au format ${variable_name}. Dans l’exemple suivant, la variable username est attribuée à un champ nommé NameOfUser :
"fieldInfos": [
{
"fieldName": "NameOfUser",
"value": "${username}"
},
Variable d’entrée utilisateur
La valeur de la variable userInput est renseignée par l’utilisateur de l’application et peut être appliquée à un ou plusieurs boutons d’un projet. Même si l’utilisateur de l’application saisit la valeur, l’auteur du projet doit définir les boutons et les champs auxquels la variable s’applique.
Dans le projet JSON, les entrées utilisateur sont définies dans la matrice userInputs, puis référencées par "fieldInfos" par l’intermédiaire de la propriété id.
Propriété | Description | Type de champ |
---|---|---|
Id | ID unique de l’entrée utilisateur. | Chaîne |
label | L’étiquette s’affiche dans l’application mobile pour décrire la valeur d’entrée attendue de la part de l’utilisateur final. Par exemple, l’étiquette peut être RouteNo, CostCenter ou RouteNo-CostCenter. | Chaîne |
fieldType | Type de champ dans lequel la valeur d’entrée utilisateur peut être écrite. Les options sont limitées à esriFieldTypeString, esriFieldTypeDoubleet esriFieldTypeInteger. | Chaîne |
required | Indique si la valeur d’entrée utilisateur doit être fournie par l’utilisateur final de l’application mobile avant d’appuyer sur un bouton (mode project (projet)) ou après avoir appuyé sur un bouton (mode button (bouton)). | Booléen |
domain | Contrôle l’entrée utilisateur et est limitée à une plage numérique (range), une liste de valeurs prédéfinies (codedValue) ou une saisie de texte, éventuellement avec un masque de saisie (userDefined). | Chaîne |
mode | Indique si l’utilisateur est invité à saisir des données au lancement du projet (project) ou lorsqu’il appuie sur un bouton (button). | Chaîne |
multiline | Autorise l’entrée de plusieurs lignes de texte. Applicable uniquement lorsque domain est défini sur userDefined. | Booléen |
autoCompleteMaxEntries | Indique le nombre de valeurs saisies par l’utilisateur qui sont mises en cache pour une entrée utilisateur de projet. | Entier |
showEvent | Indique si la boîte de dialogue d’entrée utilisateur par bouton s’affiche au début d’une capture d’enregistrement ou à la fin. Les options sont onStart et onEnd. La valeur par défaut est onEnd. Applicable uniquement lorsque domain est défini sur userDefined. | Chaîne |
showScanner | Indique si le scanner de codes-barres apparaît dans l’entrée utilisateur. Par défaut, cette propriété est définie sur faux. Applicable uniquement lorsque domain est défini sur userDefined. | Booléen |
dateTime | Indique l’entrée de date et d’heure. Applicable uniquement lorsque domain est défini sur userDefined. Peut être contraint par les valeurs suivantes : defaultValue, displayTime, maxValue et minValue. | Date |
Pour savoir quand utiliser chaque mode, reportez-vous à la rubrique Variable d’entrée utilisateur de projet ou Variable d’entrée utilisateur par bouton.
Il est recommandé de gérer les domaines dans le service d’entités. Le concepteur Web lit les informations de domaine directement depuis le service d’entités pour créer l’entrée utilisateur. Les informations de domaine ne sont pas écrites automatiquement dans le code JSON du projet.
L’application mobile lit les informations de domaine directement depuis le service d’entités et les stocke localement sur l’appareil. Si vous ajoutez ou modifiez des valeurs de domaine dans le service d’entités, vous devez réenregistrer le projet afin d’inviter l’utilisateur à mettre à jour le projet et voir les changements.
Attention :
L’auteur d’un projet peut choisir de définir manuellement les informations de domaine directement avec le code JSON du projet. Ceci remplace tout ce qui est lu depuis le service d’entités. L’auteur est chargé de s’assurer que toutes les valeurs définies se trouvent dans les limites des valeurs définies dans le service d’entités. Vous pouvez par exemple opter pour cette solution pour définir un sous-ensemble de valeurs codées dans le projet à partir d’une liste beaucoup plus longue dans le service d’entités.
L’exemple suivant montre comment une entrée utilisateur de domaine range est définie pour restreindre la saisie de données à un nombre compris entre 1 et 100 :
{
"userInputs":[
{
"autoCompleteMaxEntries":5,
"id":"001",
"label":"Enter route number",
"fieldType":"esriFieldTypeInteger",
"required":true,
"mode":"project",
"domain":{
"type":"range",
"name":"route no",
"range":[
1,
100
]
}
}
]
}
L’exemple suivant montre comment une entrée utilisateur de domaine codedValue est définie pour limiter la saisie de données à la sélection d’une des trois valeurs :
{
"userInputs":[
{
"autoCompleteMaxEntries":5,
"id":"001",
"label":"Enter class",
"fieldType":"esriFieldTypeString",
"required":true,
"mode":"project",
"domain":{
"type":"codedValue",
"name":"Class",
"codedValues":[
{
"name":"Principle",
"code":"Principle"
},
{
"name":"Classified (Non-principle)",
"code":"Classified"
},
{
"name":"Unclassified",
"code":"Unclassified"
}
]
}
}
]
}
L’exemple suivant montre comment une entrée utilisateur de texte userDefined est définie pour autoriser la numérisation d’un QR Code au commencement de la capture d’une ligne :
{
"userInputs":[
{
"id":"001",
"label":"Scan QR code",
"fieldType":"esriFieldTypeString",
"required":true,
"mode":"button",
"domain":{
"type":"userDefined",
"name":"line identifier",
"multiline":false,
"showScanner":true,
"showEvent":"onStart"
"hint":"Scan QR code or type the identifier of the line to be captured"
}
}
]
}
L’exemple suivant montre comment une entrée utilisateur de domaine userDefined est définie pour autoriser la saisie de données d’une date comprise entre juin et décembre 2022 :
{
"userInputs":[
{
"id":"001",
"label":"Enter date",
"fieldType":"esriFieldTypeDate",
"required":true,
"mode":"button",
"domain":{
"type":"userDefined",
"name":"followup date",
"multiline":false,
"hint":"Enter date between June and December 2022",
"dateTime": {
"defaultValue": "${captureTime}",
"displayTime": true,
"maxValue": "2022-06-01T00:00:00.000Z",
"minValue": "2022-12-31T24:59:00.000Z"
}
}
}
]
}
L’exemple suivant montre comment une entrée utilisateur de domaine userDefined est définie pour restreindre la saisie de données à un ID d’itinéraire de quatre chiffres :
{
"userInputs":[
{
"id":"001",
"label":"Enter route number",
"fieldType":"esriFieldTypeString",
"required":true,
"mode":"button",
"domain":{
"type":"userDefined",
"name":"route no",
"inputMask":"9999",
"multiline":false,
"hint":"Enter a four digit route id"
}
}
]
}
Une fois l’entrée userInput définie, l’auteur du projet peut l’attribuer pour l’utiliser dans un champ. Voici un exemple d’entrée userInput avec un ID de 001 utilisée pour renseigner un champ nommé routeNo :
{
"fieldInfos":[
{
"fieldName":"routeNo",
"value":"${userInput:001}"
}
]
}
Masque de saisie
Un masque de saisie définit le format de la saisie de données en utilisant des caractères et symboles dans une variable d’entrée utilisateur. Lorsqu’un masque de saisie est appliqué à une variable d’entrée utilisateur, les valeurs saisies par l’utilisateur doivent respecter le modèle défini par le masque de saisie.
Pour appliquer un masque de saisie à votre variable d’entrée utilisateur, définissez le masque dans la propriété userInputs.domain.inputMask.
Reportez-vous à la rubrique Masques de saisie pour obtenir la liste de tous les masques et exemples qu’il est possible d’appliquer aux variables d’entrée utilisateur.
Partage de la localisation
Les propriétés suivantes permettent d’identifier les couches de partage de la localisation :
Propriété | Description | Type de champ |
---|---|---|
enabled | Activer le suivi pour le projet. Par défaut, cette propriété est définie sur faux. | Booléen |
required | Demander l’activation du suivi pour pouvoir utiliser le projet. Par défaut, cette propriété est définie sur faux. | Booléen |
lastKnownLocationsUpdateInterval | Fréquence de mise à jour (en secondes) de la couche de la dernière position connue. La valeur par défaut est fixée à 60 secondes. La valeur minimale est fixée à 5 secondes. | Décimal |
tracksUploadInterval | Fréquence (en secondes) de mise à jour de la couche des traces. La valeur par défaut est -1 (désactivée). Vous pouvez également la définir sur 600 secondes. | Décimal |
tracksCategory | Définissez la valeur à écrire dans le champ de catégorie de la couche des traces. Il peut s’agir du nom de projet, d’une valeur fixe ou de la valeur d’une entrée utilisateur de projet. Le nom de projet est la valeur par défaut. | Texte |
lastKnownLocationsCategory | Définissez la valeur à écrire dans le champ de catégorie de la couche des dernières localisations connues. Il peut s’agir du nom de projet, d’une valeur fixe ou de la valeur d’une entrée utilisateur de projet. Le nom de projet est la valeur par défaut. | Texte |
L’exemple suivant montre que le partage de la localisation est activé, mais qu’il n’est pas obligatoire pour utiliser le projet. La dernière position connue sera mise à jour toutes les 60 secondes et les traces seront mises à jour toutes les 600 secondes. Le nom de projet sera écrit dans le champ de catégorie de la couche des dernières localisations connues et de la couche des traces.
{
"tracking": {
"enabled": true,
"required": false,
"lastKnownLocationsUpdateInterval": 60,
"tracksUploadInterval": 600,
"tracksCategory": "${projectName}",
"lastKnownLocationsCategory": "${projectName}"
}
}
Vous avez un commentaire à formuler concernant cette rubrique ?