Flutter

Repositório PUB.DEV

O SoluCXWidget é um widget Flutter que permite a integração com o sistema de pesquisas da SoluCX. Ele oferece diferentes tipos de widgets que podem ser exibidos em várias posições na tela, como topo, rodapé, modal ou 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).