# getLicenseProducts method

Future<Either<String, dynamic>> getLicenseProducts({

1. required String document,

})

Retrieves the license products associated with a given document.

This method sets the document products using a native method call and then retrieves the product list if the document is successfully set. The result is wrapped in an `Either` type, where the left side represents an error message and the right side represents the successful response.

Parameters:

- `document`: The document identifier for which the license products are to be retrieved.

Returns: A `Future` that resolves to an `Either` containing a `String` error message on the left side or a dynamic response on the right side.

## Implementation

    Future<Either<String, dynamic>> getLicenseProducts({
      required String document,
    }) async {
      final response = await invokeNativeMethod('SmartfaceLicense.setDocumentProducts', {
        'arg0': document,
      });
      return response.match(
        (error) => Left(error),
        (success) async {
          if (!success) {
            return const Left('Failed to set document');
          }
          await _secureStorageWrite(
            key: 'document',
            value: document,
          );
          return await invokeNativeMethod('SmartfaceLicense.getProductList');
        },
      );
    }