> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/sdks/sdk-mobile/framework-plugins/flutter/componentes/video-id.md).

# Videoidentificação - VideoID

* Gerenciamento interno de câmeras, microfone e permissões.
* Conexão com os serviços.
* Leitura do OCR e captura do documento.

## Dependências <a href="#id-2-dependencia" id="id-2-dependencia"></a>

### Flutter:

```swift
dependencies:
  fphi_sdkmobile_videoid:
    hosted:
      name: fphi_sdkmobile_videoid
      url: https://facephicorp.jfrog.io/artifactory/api/pub/pub-pro-fphi/
    version: ^<versão>
```

### Android - Gradle:

```kotlin
implementation "com.facephi.androidsdk:videoid_component:$version"
```

### iOS - CocoaPods:

```swift
s.dependency 'FPHISDKVideoIDomponent', '~> $version'
```

## Método startVideoIdComponent <a href="#id-4-lanzamiento-simplificado" id="id-4-lanzamiento-simplificado"></a>

Uma vez iniciado o SDK e criada uma nova operação, será possível lançar o componente. Será possível fazer uso de qualquer um de seus controladores para executar sua funcionalidade.

Lançamento do Componente:

```dart
Future<Map> startVideoIdComponent({required VideoIdConfiguration widgetConfigurationJSON})
{
  return FphiSdkmobileVideoidPlatform.instance.startVideoIdComponent(
      widgetConfigurationJSON: widgetConfigurationJSON
  );
}
```

## Configuração básica <a href="#id-5-configuracion-basica" id="id-5-configuracion-basica"></a>

Para lançar o componente atual, deverá ser criado um objeto ***VideoIdConfiguration*** que será a configuração do controlador do componente.

A configuração básica necessária para isso é a seguinte:

```dart
class VideoIdConfiguration
{
  PreferredCamera mPreferredCamera;
  VideoMode mMode;
  String? mUrl;
  String? mApiKey;
  String? mTenantId;
  String? mSpeechText;
  List<String>? mDocumentFilter;
  List<String>? mCountryFilter;
  bool mShowTutorial;
  bool? mShowDiagnostic;
  bool? mAutoFaceDetection;
  bool? mDebug;
  bool? mVibrationEnabled;
  int mSectionTime;
  int? mSectionTimeout;
  int? mTimeoutServerConnection;
  int? mTimeoutFaceDetection;
  int? mMaxRetries;
}
```

{% content-ref url="/pages/a690a81822613189fa212dfbaba59494f445c7bc" %}
[Configuração de Video ID](/docs.facephi-pt-br/sdks/sdk-mobile/framework-plugins/extras/video-id/video-id-configuracion.md)
{% endcontent-ref %}

### Configuração avançada do componente

A seguir, são detalhados todos os campos que fazem parte desta classe.

## Recebimento do resultado <a href="#id-6-recepcion-del-resultado" id="id-6-recepcion-del-resultado"></a>

O lançamento devolverá as informações no formato ***VideoIdResult***. Podendo diferenciar-se entre um lançamento correto e um incorreto:

```dart
class VideoIdResult
{
  final SdkFinishStatus finishStatus;
  final String finishStatusDescription;
  final String errorDiagnostic;
  final String? errorMessage;
  final dynamic ocrMap;
  final String? faceImage;
  final String? faceImageTokenized;
  final double? matchingSidesScore;
  final String? speechText;
  final String? documentType;
  final dynamic personalData;
  final dynamic frontDocumentData;
  final dynamic backDocumentData;
  final dynamic ocrDiagnostic;
}
```

A seguir, são detalhados todos os campos que fazem parte desta classe.

{% content-ref url="/pages/e0efc7195789c61ebf795e64f85e4cf98a6a4e29" %}
[Video ID Resultado](/docs.facephi-pt-br/sdks/sdk-mobile/framework-plugins/extras/video-id/video-id-resultado.md)
{% endcontent-ref %}
