Manual de integração Parceiros
#
1 Integração SmartPOSExistem 4 tipos de integrações dispSoníveis atualmente: 1°Configurar App de início. 2°Serviço de Impressão. 3°Serviço de Proxy.
Observação Antes de dar início na integração certifique-se que o terminal esteja com a aplicação SmartPOS e First Apps instalada e ativada, caso contrário algumas funcionalidades não irão funcionar.
O parceiro que desejar realizar a integração com o SmartPOS, deverá obrigatoriamente incluir em seu projeto a biblioteca auxiliar que provê algumas funcionalidades específicas do terminal.
A biblioteca será disponibilizada juntamente com esse documento.
Para utilizar a biblioteca, é necessário incluir nas dependências do seu projeto conforme exemplo abaixo:
Para garantir o correto funcionamento de todas as funcionalidades a versão da aplicação SmartPOS precisa ser 1.03.10 ou superior.
Caso sua aplicação seja compatível com o AndroidX, é necessário adicionar no arquivo gradle.properties a propriedade android.enableJetifier=true, para manter a compatibilidade com a biblioteca.
Após incluir a biblioteca o primeiro passo a se fazer é realizar a chamada da função que indica que o app está ativo, recomendamos incluir essa chamada na função onCreate da MainActivity do seu projeto.
Exemplo da chamada.
Configurar App de Início
Essa etapa é opcional, e se destina a parceiros que desejam alterar o app de início do terminal.
Atenção: A versão do app de pagamentos instalada no terminal precisa ser a 1.02.00 ou superior.
Exemplo de Uso
Para alterar o app de início é preciso executar uma chamada a um determinado serviço da aplicação SmartPos, a baixo está um exemplo da chamada.
Descrição
A Intent do serviço possui 2 extras, o primeiro é o packageName do app o segundo é o nome do app a ser configurado como de início. Uma vez alterado sempre que o terminal ligar o app configurado será iniciado automaticamente.
Para reverter a configuração, basta chamar o serviço novamente e deixar os extras com uma String vazia.
Nomes das Strings
ComponentName: br.com.bin | br.com.bin.service.DefineHomeAppService |
---|---|
Action: | br.com.bin.service.DefineHomeAppService.action. DEFINE_HOME_APP |
Extra 1CADASTRO DE NOVO APLICATIVO | br.com.bin.service.DefineHomeAppService.extra.P ACKAGE_NAME |
Extra 2 | br.com.bin.service.DefineHomeAppService.extra.A PP_LABEL |
Serviço de Impressão
O serviço de impressão é capaz de imprimir texto simples ou imagens no formato bitmap.
A utilização é independente do modelo do terminal, e conforme sejam adicionados outros terminais, a biblioteca será atualizada visando manter a transparência para o desenvolvedor.
Exemplo de uso:
1° Etapa, chamar a função
“SmartPOSService.registerPrinterService”, para obter o objeto IprinterService responsável pelas funções de impressão.
Atenção: A versão do app de pagamentos instalada no terminal precisa ser a 1.03.10 ou superior.
2° Etapa, realizar a impressão, para garantir que o serviço está funcionando é possível verificar se o objeto IprinterService é diferente de null e se o serviço está conectado com a função “isConnected”.
Após isso basta chamar as funções para impressão de texto ou bitmap, conforme exemplo abaixo.
As funções de impressão possuem call-back que indicam o status da impressão de sucesso ou falha.
Impressão de bitmap:
Impressão de texto
Serviço de Proxy
O SmartPOS utiliza chips de telefonia móvel privados, ou seja, não utilizam a infraestrutura convencional, adicionando assim um nível de segurança extra. Todas as conexões estabelecidas utilizando a internet móvel desses chips passam por um proxy privado, e apenas endereços pré-aprovados são permitidos.
É de responsabilidade do desenvolvedor informar a quais domínios eles desejam se conectar. Para fazer isso, é necessário criar, na pasta assets do seu projeto, um arquivo de nome hosts.xml com a lista de domínios aos quais sua aplicação conecta, no formato abaixo:
Dessa maneira, quando você realizar o upload da sua aplicação para o site da First Apps, iremos buscar esse arquivo a fim de liberar esses domínios, caso sejam aprovados pelo adquirente.
NOVO
Para habilitar o serviço de proxy na aplicação é necessário criar uma instância do objeto Connectivity e chamar as funções enable e setAutomaticProxy passando true como parâmetro, conforme exemplo a seguir.
Executando uma vez esse fluxo é suficiente para garantir o funcionamento do proxy. O serviço é quem faz o gerenciamento de quando deve utilizar o proxy nas conexões com os chips privados.