3 - Inicialização

Inicialize o SDK da Zoop, configure logs, métricas, strict mode e conecte o SmartPOSPlugin ao app Android.

Inicialize o SDK da Zoop, configure opções de execução e conecte o SmartPOSPlugin antes de consumir os serviços do terminal.

Antes de inicializar com credenciais, ative o dispositivo conforme descrito em Ativação SmartPOS. A ativação retorna os dados necessários para inicializações futuras.

Pré-requisitos

Antes de inicializar o plugin:

    1. Configure o projeto Android em Configuração do projeto.

    2. Instale o app no terminal conforme o fluxo de Deploy SmartPOS.

    3. Ative o dispositivo para obter marketplace, seller e accessKey.

    4. Solicite as permissões Android necessárias antes de chamar a inicialização.


1. Inicialize o SDK com as credenciais

Depois da ativação, inicialize o SDK usando as credenciais salvas localmente.

Zoop.initialize(context) {
    credentials {
        marketplace = "{marketplace ID}"
        seller = "{seller ID}"
        accessKey = "{chave de acesso}"
    }
}

Dados de ativação

CampoDescrição
marketplaceMarketplace ID salvo durante a ativação via dashboard.
sellerSeller ID salvo durante a ativação via dashboard.
accessKeyChave de acesso salva durante a ativação via dashboard.

Salve as credenciais retornadas pela ativação em armazenamento local seguro. Sem esses dados, o app precisará passar novamente pelo fluxo de ativação para inicializar com credenciais.


2. Configure parâmetros extras

Na inicialização, você pode configurar logs, métricas, interceptadores e strict mode.

Envio de logs de erro e métricas

Habilite o envio de logs e métricas para a Zoop com as flags abaixo:

Zoop.setSendErrorLogs(true) // O valor padrão é false.
Zoop.setSendMetrics(true)   // O valor padrão é false.

Nível de log

Configure o nível de log com Zoop.setLogLevel():

Zoop.setLogLevel(LogLevel.Debug)

Níveis disponíveis, do menor ao mais alto:

LogLevel.None
LogLevel.Information
LogLevel.Warning
LogLevel.Error
LogLevel.Critical
LogLevel.Log
LogLevel.Debug
LogLevel.Trace
LogLevel.Metric

Log interceptors

Adicione log interceptors para interceptar mensagens de log emitidas pelo SDK.

Zoop.addLogInterceptor { level, category, message ->
    MyLog(message)
}

Strict mode

Ative ou desative o strict mode com Zoop.setStrict():

Zoop.setStrict(true)

Em strict mode, o SDK executa validações durante requisições. Uma dessas validações impede que o SDK atenda a requisição se o dispositivo estiver em modo desenvolvedor.

Durante o desenvolvimento, use Zoop.setStrict(false). Para facilitar a alternância entre debug e produção, você pode usar uma flag de debug:

Zoop.setStrict(!Build.Debug)

3. Crie e plugue o SmartPOSPlugin

Depois que o SDK estiver inicializado, crie a instância do plugin e conecte-a ao SDK.

val smartPOSPlugin = SmartPOSPlugin(Zoop.constructorParameters())
Zoop.plug(smartPOSPlugin)

Esse passo deixa o SDK pronto para receber requisições do Plugin SmartPOS, como pagamento, Pix, cancelamento, impressão e relatórios.


4. Verifique se o SDK já foi inicializado

Use a propriedade Zoop.isInitialized para evitar inicializações redundantes ou acessos prematuros.

fun initializeZoopSdk() \{
    if (Zoop.isInitialized) {
        return
    }

    Zoop.initialize(context = getContext()) {
        // Inicializar como o normal.
    }
\}

5. Encerre o SDK quando necessário

Use Zoop.shutdown() para encerrar todos os plugins conectados ao SDK e finalizar a sessão.

Se precisar se conectar ao SDK novamente, inicialize o SDK e plugue o plugin outra vez.

fun restartZoopSdk() {
    finishZoopSdk()
    initializeZoopSdk()
}

fun finishZoopSdk() {
    Zoop.shutdown()
}

Recomenda-se manter a instância ativa entre transações. Isso melhora a performance e ajuda a manter o funcionamento correto dos processos do SDK.


Checklist de inicialização

Antes de chamar qualquer funcionalidade do Plugin SmartPOS, confirme:

  • O dispositivo foi ativado.
  • marketplace, seller e accessKey foram salvos após a ativação.
  • As permissões Android necessárias foram concedidas.
  • O SDK foi inicializado com as credenciais corretas.
  • O SmartPOSPlugin foi criado com Zoop.constructorParameters().
  • O plugin foi conectado com Zoop.plug(smartPOSPlugin).
  • O strict mode está adequado ao ambiente de execução.

Próximo passo

Se o terminal ainda não foi ativado, siga para Ativação SmartPOS.

Se o terminal já foi ativado, consulte Consultar chave transacional antes de iniciar pagamentos com cartão.


Did this page help you?