Integrar QR ou capacidade de leitura de código de barrasIntegrate QR or barcode scanner capability

Este documento orienta você sobre como integrar o recurso de QR ou scanner de código de barras.This document guides you on how to integrate the QR or barcode scanner capability.

Código de barras é um método de representação de dados em um formulário visual e acessível por máquina.Barcode is a method of representing data in a visual and machine-readable form. O código de barras contém informações sobre um produto, como um tipo, tamanho, fabricante e País de origem na forma de barras e espaços.The barcode contains information about a product, such as a type, size, manufacturer, and Country of origin in the form of bars and spaces. O código é lido usando o scanner óptico em sua câmera de dispositivo nativa.The code is read using the optical scanner on your native device camera. Para uma experiência colaborativa mais rica, você pode integrar o recurso de QR ou scanner de código de barras fornecido na plataforma Teams com seu aplicativo do Teams.For a richer collaborative experience, you can integrate the QR or barcode scanner capability provided in the Teams platform with your Teams app.

Você pode usar o SDKdo cliente JavaScript do Microsoft Teams, que fornece as ferramentas necessárias para que seu aplicativo acesse os recursos de dispositivo nativo do usuário.You can use Microsoft Teams JavaScript client SDK, which provides the tools necessary for your app to access the user’s native device capabilities. Use a scanBarCode API para integrar o recurso de scanner ao seu aplicativo.Use the scanBarCode API to integrate the scanner capability within your app.

Vantagem de integrar a QR ou o recurso de scanner de código de barrasAdvantage of integrating QR or barcode scanner capability

A seguir estão as vantagens da integração dos recursos de QR ou scanner de código de barras:Following are the advantages of integration of QR or barcode scanner capabilities:

  • A integração permite que os desenvolvedores de aplicativo web na plataforma teams aproveitem a funcionalidade de verificação de QR ou código de barras com o SDK do cliente JavaScript do Teams.The integration allows web app developers on Teams platform to leverage QR or barcode scanning functionality with Teams JavaScript client SDK.
  • Com esse recurso, o usuário só precisa alinhar uma QR ou código de barras em um quadro no centro da interface do usuário do scanner e o código é verificado automaticamente.With this feature, the user only needs to align a QR or barcode within a frame at the center of the scanner UI and the code gets scanned automatically. Os dados armazenados são compartilhados de volta com o aplicativo Web de chamada.The stored data is shared back with the calling web app. Isso evita o inconveniente e os erros humanos de inserir códigos de produto longos ou outras informações relevantes manualmente.This avoids the inconvenience and human-errors of entering lengthy product codes or other relevant information manually.

Para integrar a QR ou o recurso de scanner de código de barras, você deve atualizar o arquivo de manifesto do aplicativo e chamar a scanBarCode API.To integrate QR or barcode scanner capability, you must update the app manifest file and call the scanBarCode API. Para uma integração eficaz, você deve ter uma boa compreensão do trecho de código para chamar a API, o que permite que você use a QR nativa ou a funcionalidade de scanBarCode scanner de código de barras.For effective integration, you must have a good understanding of code snippet for calling the scanBarCode API, which allows you to use native QR or barcode scanner capability. A API fornece um erro para um padrão de código de barras sem suporte.The API gives an error for an unsupported barcode standard. É importante se familiarizar com os erros de resposta da API para lidar com os erros em seu aplicativo do Teams.It is important to familiarize yourself with the API response errors to handle the errors in your Teams app.

Observação

Atualmente, o suporte do Microsoft Teams para a QR ou o recurso de scanner de código de barras está disponível apenas para clientes móveis.Currently, Microsoft Teams support for QR or barcode scanner capability is only available for mobile clients.

Manifesto de atualizaçãoUpdate manifest

Atualize seu aplicativo do Teams manifest.jsno arquivo adicionando a propriedade devicePermissions e especificando media .Update your Teams app manifest.json file by adding the devicePermissions property and specifying media. Ele permite que seu aplicativo peça permissões de requisito dos usuários antes de começar a usar o recurso de QR ou scanner de código de barras.It allows your app to ask for requisite permissions from users before they start using the QR or barcode scanner capability.

"devicePermissions": [
    "media",
],

Observação

O prompt de Permissões de Solicitação é exibido automaticamente quando uma API relevante do Teams é iniciada.The Request Permissions prompt is automatically displayed when a relevant Teams API is initiated. Para obter mais informações, consulte Solicitar permissões de dispositivo.For more information, see Request device permissions.

ScanBarCode APIScanBarCode API

A API invoca o controle de scanner que permite ao usuário examinar diferentes tipos de código de ScanBarCode barras e retorna o resultado como uma cadeia de caracteres.The ScanBarCode API invokes scanner control that enables the user to scan different types of barcode, and returns the result as a string.

Para personalizar a experiência de verificação de código de barras, a configuração opcional do código de barras é passada como entrada para a ScanBarCode API.To customize the barcode scanning experience, optional barcode configuration is passed as input to ScanBarCode API. Você pode especificar o intervalo de tempo de verificação em segundos usando timeOutIntervalInSec .You can specify the scan time-out interval in seconds using timeOutIntervalInSec. Seu valor padrão é 30 segundos e o valor máximo é 60 segundos.Its default value is 30 seconds and the maximum value is 60 seconds.

A API scanBarCode() dá suporte aos seguintes tipos de código de barras:The scanBarCode() API supports the following barcode types:

Tipo de código de barrasBarcode Type Suportado no AndroidSupported on Android Suportado no iOSSupported on iOS
CodebarCodebar SimYes NãoNo
Código 39Code 39 SimYes SimYes
Código 93Code 93 SimYes SimYes
Código 128Code 128 SimYes SimYes
EAN-13EAN-13 SimYes SimYes
EAN-8EAN-8 SimYes SimYes
ITFITF NãoNo SimYes
Código QRQR Code SimYes SimYes
RSS expandidoRSS Expanded SimYes NãoNo
RSS-14RSS-14 SimYes NãoNo
UPC-AUPC-A SimYes SimYes
UPC-EUPC-E SimYes SimYes

Experiência do aplicativo Web para ScanBarCode API para QR ou experiência de aplicativo web de recurso de scanner de código de barras para o recurso de scanner de código de barras ou  qrWeb app experience for ScanBarCode API for QR or barcode scanner capability web app experience for qr or barcode scanner capability

Tratamento de errosError handling

Certifique-se de lidar com esses erros adequadamente em seu aplicativo do Teams.You must ensure to handle these errors appropriately in your Teams app. A tabela a seguir lista os códigos de erro e as condições nas quais os erros são gerados:The following table lists the error codes and the conditions under which the errors are generated:

Código de erroError code Nome do erroError name CondiçãoCondition
100100 NOT_SUPPORTED_ON_PLATFORMNOT_SUPPORTED_ON_PLATFORM A API não tem suporte na plataforma atual.API is not supported on the current platform.
500500 INTERNAL_ERRORINTERNAL_ERROR Erro interno é encontrado durante a execução da operação necessária.Internal error is encountered while performing the required operation.
10001000 PERMISSION_DENIEDPERMISSION_DENIED A permissão é negada pelo usuário.Permission is denied by the user.
30003000 NO_HW_SUPPORTNO_HW_SUPPORT O hardware subjacente não dá suporte à funcionalidade.Underlying hardware does not support the capability.
40004000 INVALID_ARGUMENTSINVALID_ARGUMENTS Um ou mais argumentos são inválidos.One or more arguments are invalid.
80008000 USER_ABORTUSER_ABORT O usuário aborta a operação.User aborts the operation.
80018001 OPERATION_TIMED_OUTOPERATION_TIMED_OUT Não foi possível detectar o código de barras no intervalo de tempo determinado.Could not detect the barcode in the given time interval.
90009000 OLD_PLATFORMOLD_PLATFORM O código da plataforma está desatualizado e não implementa essa API.Platform code is outdated and does not implement this API.

Trecho de códigoCode snippet

Chamada ScanBarCode() API para verificação de QR ou código de barras usando câmera:Calling ScanBarCode() API for scanning QR or barcode using camera:

const config: microsoftTeams.media.BarCodeConfig = {
  timeOutIntervalInSec: 30};
microsoftTeams.media.scanBarCode((error: microsoftTeams.SdkError, decodedText: string) => {
  if (error) {
    if (error.message) {
      output(" ErrorCode: " + error.errorCode + error.message);
    } else {
      output(" ErrorCode: " + error.errorCode);
    }
  } else if (decodedText) {
    output(decodedText);
  }
}, config);

Confira tambémSee also