Pacote Gertec para o Terminal Smart G800

Este plugin permite que as funções base da TSG800 possam ser utilizadas, sem a necessidade de toda complexidade para realizar a comunicação com o Java Android diretamente.

Instalação

Um passo importante para utilização do plugin é fazer a assinatura da sua aplicação, sem isto você ficará impossibilitado de realizar a chamada das funções.

Caso ainda não tenha uma assinatura, basta baixar este ARQUIVO. Após isto configure seu build.gradleApp - Android da seguinte maneira:

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
        checkReleaseBuilds false
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.gertec_plugin_example"
        multiDexEnabled true
        minSdkVersion 20
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        gertec {
            storeFile file('..\\..\\..\\android\\Chaves\\Development_GertecDeveloper_CustomerAPP.jks') //Coloque aqui o caminho da sua chave
            storePassword 'Development@GertecDeveloper2018'
            keyAlias 'developmentgertecdeveloper_customerapp'
            keyPassword 'Development@GertecDeveloper2018'
        }
    }

    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.gertec
        }
        debug {
            signingConfig signingConfigs.gertec
        }
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    buildToolsVersion = '28.0.3'
}

Concluído esta etapa você já poderá utilizar as funções disponíveis neste plugin. Para isso no seu arquivo pubspec.yaml basta adicionar:

dependencies:
  ...
  gertec_tsg800: ^0.0.1
 ...

Importe o pacote do plugin no seu arquivo dart.

import 'package:gertec_tsg800/gertec_tsg800.dart';
...

Primeiros passos

Impressão na TSG800

Um primeiro teste que pode ser feito com a TSG800 é de impressão de texto, para isto basta chamar a seguinte função.

Obs.1: Existe uma função para finalizar impressão (GertecTsg800.finalizarImpressao), deve ser chamada após fazer um conjunto de impressões, para melhor performance.

Obs.2: Caso deseje pular linha de uma impressão para outra, basta chamar (GertecTsg800.avancarLinha("quantidade de Linhas para avançar"), antes do finalizar.

Obs.3: Importante lembrar de utilizar o await antes da função de impressão, pois é necessário esperar que a impressão finalize para ser possível chamar a função de finalizar.

void imprimirTexto() async{
  await GertecTsg800.imprimirTexto(texto: "Gertec");
  GertecTsg800.finalizarImpressao();
}

Outro exemplo um pouco mais completo é o de impressão de texto settando parâmetros opcionais.

import 'package:gertec_tsg800/config_tsg800/configString.dart';

imprimirTexto() async {
  await GertecTsg800.imprimirTexto(
    texto: "Gertec",
    alinhamento: Alinhamento.centralizado,
    tamanhoFonte: 20,
    fontFamily: TipofontFamily.novaFonte(
      'assets/fonts/better.otf',
    ),
  );
  GertecTsg800.finalizarImpressao();
}

Também é possível fazer a impressão de código de barra, como por exemplo:

 void imprimirCodigoDeBarra() async {
    await GertecTsg800.imprimirCodigoDeBarra(
        texto: "Gertec",
        codeType: TipoCodigoImpressao.qrCode,
        width: 200,
        height: 200,
    );
    GertecTsg800.finalizarImpressao();
  }

Leitura de código de barra

Neste plugin existe dois tipo de leitura de código de barra, a primeira versão lê 4 tipos de barra (EAN_8, EAN_13, EAN_14 e QR_CODE) a segunda versão faz a leitura de qualquer tipo de código, mas o valor somente aparece na tela e não retornado para o flutter, diferente da primeira versão.

import 'package:gertec_tsg800/config_tsg800/barCode.dart';
...

void lerCodigodeBarrav1() {
  GertecTsg800.leitorCodigoDeBarra(tipoLeitura: TipoCodigoLeitura.qrCode).then(
    (codigoRetorno) {
      print(codigoRetorno);
    },
  );
}

...

void lerCodigodeBarrav2() {
  GertecTsg800.leitorCodigoDeBarraV2();
}

Operações com cartão NFC

Neste plugin existem 4 tipos funções relacionadas NFC, são elas: leitura, gravação, formatação e teste (de leitura e gravação).

Toda vez que a função é invocada é exibido uma tela em Java Android, para fazer a leitura segura do cartão e retornar o valor para o flutter.

//Leitura de cartão
 void lerCartaoNFC() {
    GertecTsg800.lerCartao.then(
      (onValue) {
        print(onValue);
      },
    );
  }

//Gravação no cartão
void gravarnoCartao(){
    GertecTsg800.gravarCartao(mensagemGravar: "Teste");
}

Documentação

Para mais informações consulte a aba de exemplos e a API REFERENCE.

Libraries

barCode
barCode
configString
configString
gertec_tsg800