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.
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
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.
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.
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.
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.
<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.
<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.