Skip to main content

Flutter

Nuestro SDK Nativo de Workflows para Flutter permite una experiencia mas rapida y fluida para tus usuarios, ya que aprovecha las capacidades nativas de los dispositivos y no requiere de un navegador web para funcionar. Se instala como un Plugin de Flutter y te permite ejecutar Workflows, obtener información del proceso y obtener los eventos que se producen durante la ejecución.

info

Esta SDK es distribuida en un host privado por medio de OnePub y requiere una cuenta, la cual sera asociada a nuestra organización y un team especifico para tu proyecto dentro de onepub.dev. Para obtener una cuenta, accede a onepub.dev.

Requisitos

Para poder utilizar nuestro SDK de Flutter, debes cumplir con los siguientes requisitos:

  • Una cuenta en OnePub.
  • Tener un Workflow creado por nuestra API de Workflows.
  • Tener instalado el SDK de Flutter en tu computadora.
  • Tener instalado el CLI de OnePub.

Instalación

Para instalar nuestro SDK de Flutter, debes tener activo el CLI de OnePub, el cual te permite instalar y actualizar el SDK de Flutter. Para instalar el CLI de OnePub, debes ejecutar el siguiente comando:

dart pub global activate onepub

Ahora podrás iniciar sesión en OnePub con el siguiente comando:

onepub login

Una vez iniciada la sesión, podrás instalar el SDK de Flutter, ejecutando el siguiente comando:

onepub pub add workflows_b6b18e4f
info

El nombre del paquete es proveido por nosotros y distribuido en OnePub, el cual puedes encontrar en la sección de paquetes de tu cuenta.

Uso

Ya instalado el SDK de Flutter, puedes importarlo en tu proyecto de la siguiente manera:

import 'package:workflows_b6b18e4f/workflows.dart';

Inicialización

Para inicializar el SDK de Flutter, debes crear una instancia de WorkflowsController y pasarle el apiKey de tu proyecto, el cual te proporcionamos por un medio privado.

main.dart
import 'package:workflows_b6b18e4f/workflows.dart';

// Inicializa el SDK de Flutter
WorkflowsController controller = WorkflowsController(
apiKey: 'YOUR_API_KEY',
baseUrl: 'https://api.test.rem.tools', // Opcional
);

Ejecución de un Workflow

Para ejecutar un Workflow, debes llamar al método start de WorkflowsController y pasarle el workflowId del Workflow que deseas ejecutar.

main.dart
import 'package:workflows_b6b18e4f/workflows.dart';

// Inicializa el SDK de Flutter
WorkflowsController controller = WorkflowsController(
apiKey: 'YOUR_API_KEY',
baseUrl: 'https://api.test.rem.tools', // Opcional
);

// Ejecuta el Workflow con el ID 'YOUR_WORKFLOW_ID'
controller.start(workflowId: 'YOUR_WORKFLOW_ID');

Obtener información del proceso

Para obtener información del proceso y sus pasos, debes escuchar el callback de onWorkflowEvent ó onStepevent de WorkflowsController y configurar el callback de onWorkflowEvent ó onStepevent para que te notifique cuando el proceso o paso ha sido actualizado.

main.dart
import 'package:workflows_b6b18e4f/workflows.dart';

// Inicializa el SDK de Flutter
WorkflowsController controller = WorkflowsController(
apiKey: 'YOUR_API_KEY',
baseUrl: 'https://api.test.rem.tools', // Opcional
);

// Ejecuta el Workflow con el ID 'YOUR_WORKFLOW_ID'
controller.start(workflowId: 'YOUR_WORKFLOW_ID');

// Escucha el callback de onWorkflowEvent
controller.onWorkflowEvent((event) {
print(event);
});

// Escucha el callback de onStepEvent
controller.onStepEvent((event) {
print(event);
});

Permisos requeridos

Para que el SDK de Flutter pueda ejecutar un Workflow, se deben solicitar los permisos de camara, ubicación, micrófono y acceso a archivos.

Android

Para solicitar los permisos en Android, debes agregar los siguientes permisos en el archivo AndroidManifest.xml de tu proyecto.

AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.flutter_app">
<!-- ... -->
<!-- Permisos requeridos por el SDK de Flutter -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- ... -->
</manifest>

iOS

Para solicitar los permisos en iOS, debes agregar los siguientes permisos en el archivo Info.plist de tu proyecto.

Info.plist
<plist version="1.0">
<dict>
<!-- ... -->
<!-- Permisos requeridos por el SDK de Flutter -->
<key>NSCameraUsageDescription</key>
<string>Se requiere acceso a la cámara para poder escanear códigos QR.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Se requiere acceso al micrófono para poder grabar audio.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Se requiere acceso a la ubicación para poder obtener la ubicación del dispositivo.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Se requiere acceso a la ubicación para poder obtener la ubicación del dispositivo.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Se requiere acceso a la ubicación para poder obtener la ubicación del dispositivo.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Se requiere acceso a la galería para poder seleccionar archivos.</string>
<!-- ... -->
</dict>
</plist>

FAQ

¿Cómo puedo obtener el workflowId de un Workflow?

Para obtener el workflowId de un Workflow, debes crearlo con nuestra API de Workflows. Una vez creado, podrás obtener el workflowId de la respuesta de la API.

¿Cómo puedo obtener el apiKey de mi proyecto?

El API Key es proporcionado por un medio privado.

¿Cómo puedo obtener el baseUrl de mi proyecto?

El Base URL puede ser https://api.rem.tools para producción o https://api.test.rem.tools para pruebas.

rem

JOIN US ON

facebooktwitterLinkedIn
CONTACThello@rem.tools55-91-03-80-54
© Copyright rem 2022 All rights reserved.