Referencia: esquema de manifiesto para Microsoft Teams

El manifiesto de Microsoft Teams describe cómo se integra la aplicación en el producto de Microsoft Teams. El manifiesto debe cumplir con el esquema hospedado en https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json . Las versiones anteriores 1.0-1.4 también son compatibles (con "v1.x" en la dirección URL).

En el siguiente ejemplo de esquema se muestran todas las opciones de extensibilidad.

Manifiesto completo de ejemplo

{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
  "manifestVersion": "1.8",
  "version": "1.0.0",
  "id": "%MICROSOFT-APP-ID%",
  "packageName": "com.example.myapp",
  "localizationInfo": {
    "defaultLanguageTag": "en-us",
    "additionalLanguages": [
      {
        "languageTag": "es-es",
        "file": "en-us.json"
      }
    ]
  },
  "developer": {
    "name": "Publisher Name",
    "websiteUrl": "https://website.com/",
    "privacyUrl": "https://website.com/privacy",
    "termsOfUseUrl": "https://website.com/app-tos",
    "mpnId": "1234567890"
  },
  "name": {
    "short": "Name of your app (<=30 chars)",
    "full": "Full name of app, if longer than 30 characters (<=100 chars)"
  },
  "description": {
    "short": "Short description of your app (<= 80 chars)",
    "full": "Full description of your app (<= 4000 chars)"
  },
  "icons": {
    "outline": "A relative path to a transparent .png icon — 32px X 32px",
    "color": "A relative path to a full color .png icon — 192px X 192px"
  },
  "accentColor": "A valid HTML color code.",
  "configurableTabs": [
    {
      "configurationUrl": "https://contoso.com/teamstab/configure",
      "scopes": [
        "team",
        "groupchat"
      ],
      "canUpdateConfiguration": true,
      "context":[
        "channelTab",
        "privateChatTab",
        "meetingChatTab",
        "meetingDetailsTab",
        "meetingSidePanel",
        "meetingStage"
      ],
      "sharePointPreviewImage": "Relative path to a tab preview image for use in SharePoint — 1024px X 768",
      "supportedSharePointHosts": [
         "sharePointFullPage",
         "sharePointWebPart"
      ]
    }
  ],
  "staticTabs": [
    {
      "entityId": "unique Id for the page entity",
      "scopes": [
        "personal"
      ],
      "context":[
        "personalTab",
        "channelTab"
        ],
      "name": "Display name of tab",
      "contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
      "websiteUrl": "https://contoso.com/content (displayed in web browser)",
       "searchUrl":  "https://contoso.com/content (displayed in web browser)"
    }
  ],
  "bots": [
    {
      "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
      "scopes": [
        "team",
        "personal",
        "groupchat"
      ],
      "needsChannelSelector": false,
      "isNotificationOnly": false,
      "supportsFiles": true,
      "supportsCalling": false,
      "supportsVideo": true,
      "commandLists": [
        {
          "scopes": [
            "team",
            "groupchat"
          ],
          "commands": [
            {
              "title": "Command 1",
              "description": "Description of Command 1"
            },
            {
              "title": "Command 2",
              "description": "Description of Command 2"
            }
          ]
        },
        {
          "scopes": [
            "personal",
            "groupchat"
          ],
          "commands": [
            {
              "title": "Personal command 1",
              "description": "Description of Personal command 1"
            },
            {
              "title": "Personal command N",
              "description": "Description of Personal command N"
            }
          ]
        }
      ]
    }
  ],
  "connectors": [
    {
      "connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
      "scopes": [
        "team"
      ],
      "configurationUrl": "https://contoso.com/teamsconnector/configure"
    }
  ],
  "composeExtensions": [
    {
      "canUpdateConfiguration": true,
      "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
      "commands": [
        {
          "id": "exampleCmd1",
          "title": "Example Command",
          "type": "query",
          "context": [
            "compose",
            "commandBox"
          ],
          "description": "Command Description; e.g., Search on the web",
          "initialRun": true,
          "fetchTask": false,
          "parameters": [
            {
              "name": "keyword",
              "title": "Search keywords",
              "inputType": "text",
              "description": "Enter the keywords to search for",
              "value": "Initial value for the parameter",
              "choices": [
                {
                  "title": "Title of the choice",
                  "value": "Value of the choice"
                }
              ]
            }
          ]
        },
        {
          "id": "exampleCmd2",
          "title": "Example Command 2",
          "type": "action",
          "context": [
            "message"
          ],
          "description": "Command Description; e.g., Search for a customer",
          "initialRun": true,
          "fetchTask": true,
          "parameters": [
            {
              "name": "custinfo",
              "title": "Customer name",
              "description": "Enter a customer name",
              "inputType": "text"
            }
          ]
        }
      ],
      "taskInfo": {
        "title": "Initial dialog title",
        "width": "Dialog width",
        "height": "Dialog height",
        "url": "Initial webview URL"
      },
      "messageHandlers": [
        {
          "type": "link",
          "value": {
            "domains": [
              "mysite.someplace.com",
              "othersite.someplace.com"
            ]
          }
        }
      ]
    }
  ],
  "permissions": [
    "identity",
    "messageTeamMembers"
  ],
  "devicePermissions": [
    "geolocation",
    "media",
    "notifications",
    "midi",
    "openExternal"
  ],
  "validDomains": [
    "contoso.com",
    "mysite.someplace.com",
    "othersite.someplace.com"
  ],
  "webApplicationInfo": {
    "id": "AAD App ID",
    "resource": "Resource URL for acquiring auth token for SSO",
    "applicationPermissions": [
      "TeamSettings.Read.Group",
      "ChannelSettings.Read.Group",
      "ChannelSettings.Edit.Group",
      "Channel.Create.Group",
      "Channel.Delete.Group",
      "ChannelMessage.Read.Group",
      "TeamsApp.Read.Group",
      "TeamsTab.Read.Group",
      "TeamsTab.Create.Group",
      "TeamsTab.Edit.Group",
      "TeamsTab.Delete.Group",
      "Member.Read.Group",
      "Owner.Read.Group",
      "Member.ReadWrite.Group",
      "Owner.ReadWrite.Group"
    ],
  },
  "showLoadingIndicator": false,
  "isFullScreen": false,
  "activities": {
    "activityTypes": [
      {
        "type": "taskCreated",
        "description": "Task created activity",
        "templateText": "<team member> created task <taskId> for you"
      },
      {
        "type": "userMention",
        "description": "Personal mention activity",
        "templateText": "<team member> mentioned you"
      }
    ]
  }
}

El esquema define las siguientes propiedades:

$schema

Cadena opcional, pero recomendada

La https:// URL que hace referencia al esquema JSON del manifiesto.

manifestVersion

Obligatorio: cadena

La versión del esquema de manifiesto que usa este manifiesto. Debe ser "1.7".

version

Obligatorio: cadena

La versión de la aplicación específica. Si actualiza algo en el manifiesto, también debe incrementarse la versión. De este modo, cuando se instale el nuevo manifiesto, se sobrescribirá el anterior y el usuario podrá disfrutar de las funciones nuevas. Si esta aplicación se envió a la tienda, el nuevo manifiesto tendrá que volver a enviarse y validarse. A continuación, los usuarios de esta aplicación recibirán el nuevo manifiesto actualizado automáticamente en unas horas, después de su aprobación.

Si la aplicación solicita cambios en los permisos, se pedirá a los usuarios que actualicen y vuelvan a dar su consentimiento a la aplicación.

Esta cadena de versión debe seguir el estándar semver (MAJOR. MINOR. PATCH).

id

Obligatorio: Id. de aplicación de Microsoft

Identificador único generado por Microsoft para esta aplicación. Si ha registrado un bot a través de Microsoft Bot Framework o la aplicación web de la pestaña ya inicia sesión con Microsoft, ya debe tener un identificador y debe escribirlo aquí. De lo contrario, debe generar un nuevo identificador en el Portal de registro de aplicaciones de Microsoft(Misaplicaciones), escribirlo aquí y volver a usarlo cuando agregue un bot. Nota: Si vas a enviar una actualización a tu aplicación existente en AppSource, no se debe modificar el identificador del manifiesto.

developer

Obligatorio: objeto

Especifica información sobre su empresa. Para las aplicaciones enviadas a AppSource (anteriormente Tienda Office), estos valores deben coincidir con la información de la entrada de AppSource. Vea nuestras directrices de publicación para obtener información adicional.

Nombre Tamaño máximo Necesario Descripción
name 32 caracteres Nombre para mostrar del desarrollador.
websiteUrl 2048 caracteres La https:// url del sitio web del desarrollador. Este vínculo debe llevar a los usuarios a su empresa o página de aterrizaje específica del producto.
privacyUrl 2048 caracteres La https:// url a la directiva de privacidad del desarrollador.
termsOfUseUrl 2048 caracteres La https:// url a los términos de uso del desarrollador.
mpnId 10 caracteres Opcional El id. de Microsoft Partner Network que identifica la organización asociada que está creando la aplicación.

name

Obligatorio: objeto

El nombre de la experiencia de la aplicación, que se muestra a los usuarios en la experiencia de Teams. Para las aplicaciones enviadas a AppSource, estos valores deben coincidir con la información de la entrada de AppSource. Los valores de short y no deben ser los full mismos.

Nombre Tamaño máximo Necesario Descripción
short 30 caracteres Nombre corto para mostrar de la aplicación.
full 100 caracteres El nombre completo de la aplicación, que se usa si el nombre completo de la aplicación supera los 30 caracteres.

description

Obligatorio: objeto

Describe la aplicación a los usuarios. Para las aplicaciones enviadas a AppSource, estos valores deben coincidir con la información de la entrada de AppSource.

Asegúrate de que la descripción describa con precisión tu experiencia y proporciona información para ayudar a los clientes potenciales a comprender lo que hace tu experiencia. También debe tener en cuenta, en la descripción completa, si se requiere una cuenta externa para su uso. Los valores de short y no deben ser los full mismos. La descripción breve no debe repetirse dentro de la descripción larga y no debe incluir ningún otro nombre de aplicación.

Nombre Tamaño máximo Necesario Descripción
short 80 caracteres Una breve descripción de la experiencia de la aplicación, que se usa cuando el espacio es limitado.
full 4000 caracteres Descripción completa de la aplicación.

packageName

Opcional: cadena

Un identificador único para esta aplicación en la notación de dominio inverso; por ejemplo, com.example.myapp. Longitud máxima: 64 caracteres.

localizationInfo

Opcional: objeto

Permite especificar un idioma predeterminado, así como punteros a archivos de idioma adicionales. Vea localización.

Nombre Tamaño máximo Necesario Descripción
defaultLanguageTag La etiqueta de idioma de las cadenas de este archivo de manifiesto de nivel superior.

localizationInfo.additionalLanguages

Una matriz de objetos que especifica traducciones de idioma adicionales.

Nombre Tamaño máximo Necesario Descripción
languageTag La etiqueta de idioma de las cadenas en el archivo proporcionado.
file Una ruta de acceso de archivo relativa a un archivo .json que contiene las cadenas traducidas.

iconos

Obligatorio: objeto

Iconos usados dentro de la aplicación teams. Los archivos de icono deben incluirse como parte del paquete de carga. Consulta Iconos para obtener más información.

Nombre Tamaño máximo Necesario Descripción
outline 32 x 32 píxeles Una ruta de acceso de archivo relativa a un icono de esquema PNG transparente de 32 x 32.
color 192 x 192 píxeles Una ruta de acceso de archivo relativa a un icono PNG de color completo de 192 x 192.

accentColor

Opcional: código de color hexadecimal HTML

Color que se usa junto con los iconos de esquema y como fondo.

El valor debe ser un código de color HTML válido que comience por '#', por #4464ee ejemplo.

configurableTabs

Opcional: matriz

Se usa cuando la experiencia de la aplicación tiene una experiencia de pestaña de canal de equipo que requiere configuración adicional antes de agregarla. Las pestañas configurables solo se admiten en el ámbito de teams (no en el personal) y actualmente solo se admite una pestaña por aplicación.

Nombre Tipo Tamaño máximo Necesario Descripción
configurationUrl string 2048 caracteres La https:// url que se va a usar al configurar la pestaña.
scopes matriz de enumeraciones 1 Actualmente, las pestañas configurables solo admiten team los groupchat ámbitos y los ámbitos.
canUpdateConfiguration boolean Valor que indica si el usuario puede actualizar una instancia de la configuración de la pestaña después de su creación. Valor predeterminado: true.
context matriz de enumeraciones 6 Conjunto de contextItem ámbitos donde se admite una pestaña. Valor predeterminado: [channelTab, privateChatTab, meetingChatTab, meetingDetailsTab].
sharePointPreviewImage string 2048 Una ruta de acceso de archivo relativa a una imagen de vista previa de pestaña para su uso en SharePoint. Tamaño 1024 x 768.
supportedSharePointHosts matriz de enumeraciones 1 Define cómo estará disponible la pestaña en SharePoint. Las opciones son sharePointFullPage y sharePointWebPart

staticTabs

Opcional: matriz

Define un conjunto de pestañas que se pueden "anclar" de forma predeterminada, sin que el usuario las agregue manualmente. Las pestañas estáticas declaradas en el ámbito personal siempre se anclan a la experiencia personal de la aplicación. Las pestañas estáticas declaradas en team el ámbito no se admiten actualmente.

Este elemento es una matriz (máximo de 16 elementos) con todos los elementos del tipo object . Este bloque solo es necesario para las soluciones que proporcionan una solución de pestaña estática.

Nombre Tipo Tamaño máximo Necesario Descripción
entityId string 64 caracteres Identificador único de la entidad que muestra la pestaña.
name string 128 caracteres Nombre para mostrar de la pestaña en la interfaz de canal.
contentUrl string La https:// url que apunta a la interfaz de usuario de la entidad que se mostrará en el lienzo de Teams.
websiteUrl string La https:// url que se debe señalar si un usuario opta por ver en un explorador.
searchUrl string La https:// url a la que se debe apuntar para las consultas de búsqueda de un usuario.
scopes matriz de enumeraciones 1 Actualmente, las pestañas estáticas solo admiten el ámbito, lo que significa que solo se pueden personal aprovisionar como parte de la experiencia personal.
context matriz de enumeraciones 2 Conjunto de contextItem ámbitos donde se admite una pestaña.

Nota

Si las pestañas requieren información dependiente del contexto para mostrar contenido relevante o para iniciar un flujo de autenticación, consulte Obtener contexto para la pestaña de Microsoft Teams.

bots

Opcional: matriz

Define una solución de bot, junto con información opcional, como las propiedades de comandos predeterminadas.

El elemento es una matriz (actualmente solo se permite un único elemento por aplicación) con todos los — elementos del tipo object . Este bloque solo es necesario para las soluciones que proporcionan una experiencia de bot.

Nombre Tipo Tamaño máximo Necesario Descripción
botId string 64 caracteres El ID. de aplicación de Microsoft único para el bot, registrado con Bot Framework. Esto puede ser igual que el identificador general de la aplicación.
scopes matriz de enumeraciones 3 Especifica si el bot ofrece una experiencia en el contexto de un canal en un team, en un chat de grupo (groupchat) o una experiencia específica para un solo usuario (personal). Estas opciones no son exclusivas.
needsChannelSelector boolean Describe si el bot usa una sugerencia del usuario para agregar el bot a un canal específico. Valor predeterminado: false
isNotificationOnly boolean Indica si un bot es un bot unidireccional de solo notificación o un bot de conversación. Valor predeterminado: false
supportsFiles boolean Indica si el bot es compatible con la capacidad para cargar y descargar archivos en chat personal. Valor predeterminado: false
supportsCalling boolean Un valor que indica dónde admite un bot las llamadas de audio. IMPORTANTE: esta propiedad es actualmente experimental. Es posible que las propiedades experimentales no estén completas y que se someta a cambios antes de estar totalmente disponibles. Se proporciona únicamente con fines de prueba y exploración y no debe usarse en aplicaciones de producción. Valor predeterminado: false
supportsVideo boolean Valor que indica dónde admite un bot las videollamadas. IMPORTANTE: esta propiedad es actualmente experimental. Es posible que las propiedades experimentales no estén completas y que se someta a cambios antes de estar totalmente disponibles. Se proporciona únicamente con fines de prueba y exploración y no debe usarse en aplicaciones de producción. Valor predeterminado: false

bots.commandLists

Una lista opcional de comandos que el bot puede recomendar a los usuarios. El objeto es una matriz (máximo de 2 elementos) con todos los elementos de tipo; debe definir una lista de comandos independiente para cada ámbito compatible con object el bot. Vea los menús del bot para obtener más información.

Nombre Tipo Tamaño máximo Necesario Descripción
items.scopes matriz de enumeraciones 3 Especifica el ámbito para el que la lista de comandos es válida. Las opciones son team, personal y groupchat.
items.commands matriz de objetos 10 Una matriz de comandos que el bot admite:
title: el nombre de comando del bot (cadena, 32)
description: una descripción o un ejemplo sencillo de la sintaxis del comando y su argumento (cadena, 128).

bots.commandLists.commands

Nombre Tipo Tamaño máximo Necesario Description
title string 12 El nombre del comando bot
description string 128 caracteres Una descripción de texto simple o un ejemplo de la sintaxis del comando y sus argumentos.

conectores

Opcional: matriz

El connectors bloque define un conector de Office 365 para la aplicación.

El objeto es una matriz (máximo de 1 elemento) con todos los elementos de tipo object . Este bloque solo es necesario para las soluciones que proporcionan un conector.

Nombre Tipo Tamaño máximo Necesario Descripción
configurationUrl string 2048 caracteres La https:// url que se va a usar al configurar el conector.
scopes matriz de enumeraciones 1 Especifica si el conector ofrece una experiencia en el contexto de un canal en un , o una experiencia en el ámbito de team un usuario individual solo ( personal ). Actualmente, solo se team admite el ámbito.
connectorId string 64 caracteres Un identificador único para el conector que coincide con su identificador en el panel del programador de conectores.

composeExtensions

Opcional: matriz

Define una extensión de mensajería para la aplicación.

Nota

The name of the feature was changed from "compose extension" to "messaging extension" in November, 2017, but the manifest name remains the same so that existing extensions continue to function.

El elemento es una matriz (máximo de 1 elemento) con todos los elementos de tipo object . Este bloque solo es necesario para las soluciones que proporcionan una extensión de mensajería.

Nombre Tipo Tamaño máximo Obligatorio Descripción
botId string 64 El identificador de aplicación de Microsoft único para el bot que hace una copia de seguridad de la extensión de mensajería, tal como se registró con Bot Framework. Esto puede ser igual que el identificador general de la aplicación.
commands matriz de objetos 10 Matriz de comandos que admite la extensión de mensajería
canUpdateConfiguration boolean Valor que indica si el usuario puede actualizar la configuración de una extensión de mensajería. Valor predeterminado: false.
messageHandlers matriz de objetos 5 Una lista de controladores que permiten invocar aplicaciones cuando se cumplen ciertas condiciones.
messageHandlers.type string El tipo de controlador de mensajes. Debe ser "link".
messageHandlers.value.domains matriz de cadenas Matriz de dominios para los que se puede registrar el controlador de mensajes de vínculo.

composeExtensions.commands

La extensión de mensajería debe declarar uno o más comandos. Cada comando aparece en Microsoft Teams como una posible interacción desde el punto de entrada basado en la interfaz de usuario. Hay un máximo de 10 comandos.

Cada elemento de comando es un objeto con la estructura siguiente:

Nombre Tipo Tamaño máximo Necesario Descripción
id string 64 caracteres Identificador del comando.
title string 32 caracteres El nombre de comando fácil de usar.
type string 64 caracteres Tipo del comando. Uno de query o action . Valor predeterminado: consulta.
description string 128 caracteres Descripción que los usuarios parecen indicar el propósito de este comando.
initialRun boolean Valor booleano que indica si el comando debe ejecutarse inicialmente sin parámetros. Valor predeterminado: false.
context matriz de cadenas 3 Define desde dónde se puede invocar la extensión de mensaje. Cualquier combinación compose de , commandBox message . El valor predeterminado es ["compose","commandBox"].
fetchTask boolean Un valor booleano que indica si debe capturar el módulo de tarea dinámicamente. Valor predeterminado: false.
taskInfo object Especifique el módulo de tareas que se debe cargar previamente al usar un comando de extensión de mensajería.
taskInfo.title string 64 caracteres Título del cuadro de diálogo inicial.
taskInfo.width string Ancho del cuadro de diálogo: un número en píxeles o un diseño predeterminado, como "grande", "mediano" o "pequeño".
taskInfo.height string Alto del cuadro de diálogo: un número en píxeles o un diseño predeterminado, como "grande", "mediano" o "pequeño".
taskInfo.url string Dirección URL de vista web inicial.
parameters matriz de objeto 5 elementos La lista de parámetros que toma el comando. Mínimo: 1; máximo: 5.
parameters.name string 64 caracteres Nombre del parámetro tal como aparece en el cliente. Esto se incluye en la solicitud de usuario.
parameters.title string 32 caracteres Título descriptivo para el parámetro.
parameters.description string 128 caracteres Cadena fácil de usar que describe el propósito de este parámetro.
parameters.value string 512 caracteres Valor inicial del parámetro.
parameters.inputType string 128 caracteres Define el tipo de control que se muestra en un módulo de tareas para fetchTask: true . Uno de text, textarea, number, date, time, toggle, choiceset .
parameters.choices matriz de objetos 10 elementos Las opciones de opción para choiceset el archivo . Usar solo cuando parameter.inputType es choiceset .
parameters.choices.title string 128 caracteres Título de la elección.
parameters.choices.value string 512 caracteres Valor de la elección.

permissions

Opcional: matriz de cadenas

Una matriz que especifica qué permisos solicita la aplicación, lo que permite a los usuarios finales saber cómo se realizará string la extensión. Las siguientes opciones no son exclusivas:

  • identity Requiere información de identidad de usuario
  • messageTeamMembers Requiere permiso para enviar mensajes directos a los miembros del equipo

Al cambiar estos permisos al actualizar la aplicación, los usuarios repetirán el proceso de consentimiento la primera vez que ejecuten la aplicación actualizada. Consulta Actualizar la aplicación para obtener más información.

devicePermissions

Opcional: matriz de cadenas

Especifica las características nativas del dispositivo de un usuario a las que la aplicación puede solicitar acceso. Las opciones son:

  • geolocation
  • media
  • notifications
  • midi
  • openExternal

validDomains

Opcional, excepto requerido cuando se indica

Una lista de dominios válidos para los sitios web que la aplicación espera cargar en el cliente de Teams. Las listas de dominios pueden incluir caracteres comodín, por *.example.com ejemplo. Esto coincide exactamente con un segmento del dominio; si necesita hacer a.b.example.com coincidir, use *.*.example.com . Si la configuración de la pestaña o la interfaz de usuario de contenido necesitan navegar a cualquier otro dominio aparte del que se usa para la configuración de pestañas, ese dominio debe especificarse aquí.

No obstante, no es necesario incluir los dominios de proveedores de identidades que desea admitir en la aplicación. Por ejemplo, para autenticarse con un id. de Google, es necesario redirigir a accounts.google.com, pero no debe incluir accounts.google.com validDomains[] en .

Las aplicaciones de Teams que requieren sus propias direcciones URL de SharePoint para funcionar correctamente, pueden incluir "{teamsitedomain}" en su lista de dominios válida.

Importante

No agregue dominios que estén fuera de su control, ya sea directamente o a través de caracteres comodín. Por ejemplo, yourapp.onmicrosoft.com es válido, pero *.onmicrosoft.com no es válido.

El objeto es una matriz con todos los elementos del tipo string .

webApplicationInfo

Opcional: objeto

Especifique su id. de aplicación de Azure Active Directory (Azure AD) y la información de Microsoft Graph para ayudar a los usuarios a iniciar sesión sin problemas en la aplicación. Si la aplicación está registrada en Azure AD, debe proporcionar el id. de aplicación para que los administradores puedan revisar fácilmente los permisos y conceder consentimiento en el Centro de administración de Teams.

Nombre Tipo Tamaño máximo Necesario Descripción
id string 36 caracteres Id. de aplicación de AAD de la aplicación. Este identificador debe ser un GUID.
resource string 2048 caracteres Dirección URL de recurso de la aplicación para adquirir un token de autenticación para SSO.
NOTA: Si no usa SSO, asegúrese de escribir un valor de cadena ficticia en este campo en el manifiesto de la aplicación, por ejemplo, para evitar https://notapplicable una respuesta de error.
applicationPermissions matriz de cadenas 128 caracteres Especifique el consentimiento específico del recurso pormenorizados.

showLoadingIndicator

Opcional: booleano

Indica si se va a mostrar el indicador de carga cuando se carga una aplicación o pestaña. Valor predeterminado: false.

Nota

Si estableces "showLoadingIndicator : true" en el manifiesto de la aplicación, para que la página se cargue correctamente, debes modificar las páginas de contenido de las pestañas y módulos de tareas según el protocolo descrito en Mostrar un documento de indicador de carga nativo.

isFullScreen

Opcional: booleano

Indica dónde se representa una aplicación personal con o sin una barra de encabezado de pestaña. Valor predeterminado: false.

activities

Opcional: objeto

Define las propiedades que la aplicación usará para publicar en una fuente de actividad de usuario.

Nombre Tipo Tamaño máximo Necesario Descripción
activityTypes matriz de objetos 128 elementos Especifica los tipos de actividades que la aplicación puede publicar en una fuente de actividades de los usuarios.

activities.activityTypes

Nombre Tipo Tamaño máximo Necesario Descripción
type string 32 caracteres El tipo de notificación. Vea a continuación.
description string 128 caracteres Breve descripción de la notificación. Vea a continuación.
templateText string 128 caracteres Por ejemplo: "{actor} creó la tarea {taskId} por usted"
{
   "activities":{
      "activityTypes":[
         {
            "type":"taskCreated",
            "description":"Task Created Activity",
            "templateText":"{actor} created task {taskId} for you"
         },
         {
            "type":"teamMention",
            "description":"Team Mention Activity",
            "templateText":"{actor} mentioned team"
         },
         {
            "type":"channelMention",
            "description":"Channel Mention Activity",
            "templateText":"{actor} mentioned channel"
         },
         {
            "type":"userMention",
            "description":"Personal Mention Activity",
            "templateText":"{actor} mentioned user"
         },
         {
            "type":"calendarForward",
            "description":"Forwarding a Calendar Event",
            "templateText":"{actor} sent user an invite on behalf of {eventOwner}"
         },
         {
            "type":"calendarForward",
            "description":"Forwarding a Calendar Event",
            "templateText":"{actor} sent user an invite on behalf of {eventOwner}"
         },
         {
            "type":"creatorTaskCreated",
            "description":"Created Task Created",
            "templateText":"The Creator created task {taskId} for you"
         }
      ]
   }
}