Flutter

PUB.DEV Repository

The SoluCXWidget is a Flutter widget that allows integration with the SoluCX survey system. It offers different types of widgets that can be displayed in various positions on the screen, such as top, bottom, modal, or inline.

Funcionalidades

  • Suporte para diferentes tipos de widget: bottom (rodapé), top (topo), modal, inline.
  • Controle de visibilidade do widget.
  • Redimensionamento dinâmico do widget.
  • Controle de tentativas e intervalos de coleta de dados.
  • Integração com WebView para exibição de conteúdo web.

Introdução

Pré-requisitos

  • Flutter SDK
  • Dependências do projeto listadas no pubspec.yaml
  • Permissão de internet para Android e iOS

Instalação

Adicione SoluCXWidget ao seu projeto Flutter:

dependencies:
    flutter:
        sdk: flutter
    solucx_widget: ^1.0.7

Configuração

Android

Adicione a seguinte permissão ao seu arquivo AndroidManifest.xml:

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

iOS

Adicione o seguinte ao seu arquivo Info.plist:

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

Uso

Aqui está um exemplo básico de como usar o 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('Exemplo do SoluCX Widget'),
        ),
        body: Center(
          child: SoluCXWidget(
            soluCXKey: 'sua-chave-solucx',
            type: SoluCXWidgetType.bottom,
            data: SoluCXWidgetData(
              clientId: 'id-do-cliente',
              email: '[email protected]',
            ),
            options: SoluCXWidgetOptions(
              widgetWidth: 1.0,
              retryAttempts: 5,
              retryInterval: 1,
              collectInterval: 60,
              collectPartialInterval: 0,
            ),
          ),
        ),
      ),
    );
  }
}

Interfaces

SoluCXKey

Um alias de tipo para String usado como um identificador único para o widget SoluCX.

SoluCXWidget

Um widget Flutter que integra com o sistema de pesquisas da SoluCX.

Propriedades

Parâmetros do SoluCXWidget

Principais propriedades para configuração do widget.
soluCXKeySoluCXKey
Identificador único do widget SoluCX (obrigatório).
typeSoluCXWidgetType
Tipo de widget: rodapé, topo, modal ou inline (obrigatório).
dataSoluCXWidgetData
Dados enviados para a pesquisa (obrigatório).
optionsSoluCXWidgetOptions
Opções de configuração adicionais para o widget (obrigatório).
alignmentAlignment|null
Alinhamento do widget. Padrão: Alignment.center (opcional).
webViewControllerWebViewController|null
Controlador do WebView (opcional).
soluCXWidgetServiceSoluCXWidgetService|null
Serviço para lidar com funcionalidades do widget (opcional).

SoluCXWidgetType

Um enum que representa o tipo de widget SoluCX.

  • bottom: Exibe o widget na parte inferior da tela.
  • top: Exibe o widget na parte superior da tela.
  • modal: Exibe o widget como uma sobreposição modal.
  • inline: Exibe o widget embutido no layout existente.

SoluCXWidgetOptions

Parâmetro options

Opções de configuração adicionais para o Widget.
targetstring|null
Para widgets inline, define o ID do elemento onde o widget será inserido.
widthnumber
Largura do widget. Quando não definido, a largura padrão é 100%.
heightnumber
Altura do widget. Quando não definido, a altura é automática.
retryobject
Configura tentativas de exibição do widget.
attemptsnumber
Quantas vezes mostrar o widget antes de desistir.
intervalnumber
Intervalo (em dias) entre as tentativas de coleta.
waitDelayAfterRatingnumber
Tempo para o widget reaparecer após resposta (em dias). Valor padrão: 60.

Parâmetro data

Dados enviados para a pesquisa SoluCX.
transactionIdString|null
ID da transação (opcional).
attemptIdString|null
ID da tentativa (opcional).
nameString|null
Nome do cliente (opcional).
emailString|null
Email do cliente (opcional).
clientIdString|null
ID do cliente (opcional).
cpfString|null
CPF do cliente (opcional).
phoneString|null
Número de telefone do cliente (opcional).
phone2String|null
Número de telefone secundário do cliente (opcional).
genderString|null
Gênero do cliente (opcional).
birthDateString|null
Data de nascimento do cliente (opcional).
ratingString|null
Avaliação dada pelo cliente (opcional).
storeIdString|null
ID da loja (opcional).
employeeIdString|null
ID do funcionário (opcional).
amountdouble|null
Valor da transação (opcional).
journeyString|null
Jornada do cliente (opcional).