Flutter

Repositorio PUB.DEV

El SoluCXWidget es un widget Flutter que permite la integración con el sistema de encuestas de SoluCX. Ofrece diferentes tipos de widgets que pueden mostrarse en varias posiciones en la pantalla, como parte superior, pie de página, modal o inline.

Funcionalidades

  • Soporte para diferentes tipos de widget: bottom (pie de página), top (parte superior), modal, inline.
  • Control de visibilidad del widget.
  • Redimensionamiento dinámico del widget.
  • Control de intentos e intervalos de recopilación de datos.
  • Integración con WebView para mostrar contenido web.

Introducción

Pre-requisitos

  • Flutter SDK
  • Dependencias del proyecto listadas en pubspec.yaml
  • Permiso de internet para Android e iOS

Instalación

Agregue SoluCXWidget a su proyecto Flutter:

dependencies:
    flutter:
        sdk: flutter
    solucx_widget: ^1.0.7

Configuración

Android

Agregue el siguiente permiso a su archivo AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.suapp">
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- ...existing code... -->
</manifest>

iOS

Agregue lo siguiente a su archivo Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Uso

Aquí hay un ejemplo básico de cómo usar el SoluCXWidget:

import 'package:flutter/material.dart';
import 'package:solucx_widget/solucx_widget.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Ejemplo de SoluCX Widget'),
        ),
        body: Center(
          child: SoluCXWidget(
            soluCXKey: 'su-clave-solucx',
            type: SoluCXWidgetType.bottom,
            data: SoluCXWidgetData(
              clientId: 'id-del-cliente',
              email: '[email protected]',
            ),
            options: SoluCXWidgetOptions(
              widgetWidth: 1.0,
              retryAttempts: 5,
              retryInterval: 1,
              collectInterval: 60,
              collectPartialInterval: 0,
            ),
          ),
        ),
      ),
    );
  }
}

Interfaces

SoluCXKey

Un alias de tipo para String usado como identificador único para el widget SoluCX.

SoluCXWidget

Un widget Flutter que integra con el sistema de encuestas de SoluCX.

Propiedades

Parámetros de SoluCXWidget

Principales propiedades para la configuración del widget.
soluCXKeySoluCXKey
Identificador único del widget SoluCX (obligatorio).
typeSoluCXWidgetType
Tipo de widget: pie de página, parte superior, modal o inline (obligatorio).
dataSoluCXWidgetData
Datos enviados para la encuesta (obligatorio).
optionsSoluCXWidgetOptions
Opciones de configuración adicionales para el widget (obligatorio).
alignmentAlignment|null
Alineación del widget. Predeterminado: Alignment.center (opcional).
webViewControllerWebViewController|null
Controlador de WebView (opcional).
soluCXWidgetServiceSoluCXWidgetService|null
Servicio para manejar funcionalidades del widget (opcional).

SoluCXWidgetType

Un enum que representa el tipo de widget SoluCX.

  • bottom: Muestra el widget en la parte inferior de la pantalla.
  • top: Muestra el widget en la parte superior de la pantalla.
  • modal: Muestra el widget como una superposición modal.
  • inline: Muestra el widget incrustado en el diseño existente.

SoluCXWidgetOptions

Parámetro options

Opciones de configuración adicionales para el Widget.
targetstring|null
Para widgets inline, define el ID del elemento donde se insertará el widget.
widthnumber
Ancho del widget. Cuando no se define, el ancho predeterminado es 100%.
heightnumber
Altura del widget. Cuando no se define, la altura es automática.
retryobject
Configura intentos de visualización del widget.
attemptsnumber
Cuántas veces mostrar el widget antes de desistir.
intervalnumber
Intervalo (en días) entre los intentos de recopilación.
waitDelayAfterRatingnumber
Tiempo para que el widget reaparezca después de la respuesta (en días). Valor predeterminado: 60.

Parámetro data

Datos enviados para la encuesta SoluCX.
transactionIdString|null
ID de la transacción (opcional).
attemptIdString|null
ID del intento (opcional).
nameString|null
Nombre del cliente (opcional).
emailString|null
Email del cliente (opcional).
clientIdString|null
ID del cliente (opcional).
cpfString|null
CPF del cliente (opcional).
phoneString|null
Número de teléfono del cliente (opcional).
phone2String|null
Número de teléfono secundario del cliente (opcional).
genderString|null
Género del cliente (opcional).
birthDateString|null
Fecha de nacimiento del cliente (opcional).
ratingString|null
Evaluación dada por el cliente (opcional).
storeIdString|null
ID de la tienda (opcional).
employeeIdString|null
ID del empleado (opcional).
amountdouble|null
Valor de la transacción (opcional).
journeyString|null
Jornada del cliente. Obligatorio si más de una jornada está registrada para la instancia. Si no se proporciona, se usará la jornada predeterminada. Se mostrará un error si se proporciona incorrectamente.