3 - Inicialização

Inicialize o SDK da Zoop, conecte o plugin mPOS e configure opções adicionais no seu projeto Android.

📘

Antes de inicializar o SDK, ative o dispositivo conforme descrito em Ativação.

Pré-requisitos

1. Ative o dispositivo seguindo o processo de ativação do mPOS.
2. Salve os dados gerados durante a ativação:

  • marketplace
  • seller
  • accessKey

Inicializar o SDK

Use os dados gerados durante a ativação do dispositivo para preencher as credenciais de inicialização.

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.

Conectar o plugin mPOS

Após inicializar o SDK, crie a instância do plugin mPOS e conecte-a ao SDK com Zoop.plug().

val mPOSPlugin = MPOSPlugin(Zoop.constructorParameters())

Zoop.plug(mPOSPlugin)

Verificar a inicialização

Use a propriedade Zoop.isInitialized: Boolean para checar se o SDK já foi inicializado. Essa verificação evita acessos prematuros ou inicializações redundantes.

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

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

Opcional: configurar parâmetros extras

Você pode configurar logs, métricas, nível de log, interceptadores e strict mode durante a preparação do SDK.

Enviar logs de erro e métricas

Para habilitar o envio de logs de erro e métricas para a Zoop, ative as flags correspondentes.

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

Configurar o nível de log

Use Zoop.setLogLevel() para definir o nível de log do SDK.

Zoop.setLogLevel(LogLevel.Debug)

Níveis de log 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

Adicionar log interceptors

Use Zoop.addLogInterceptor() para interceptar mensagens de log emitidas pelo SDK.

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

Configurar strict mode

Use Zoop.setStrict() para ativar ou desativar o strict mode.

Zoop.setStrict(true)
📘

Quando o SDK está em strict mode, ele executa validações adicionais durante as requisições. Uma dessas validações impede que o SDK processe a requisição caso o dispositivo esteja em modo desenvolvedor.

Durante o desenvolvimento, use Zoop.setStrict(false). Para facilitar essa configuração, você pode usar a flag de debug Zoop.setStrict(!Build.Debug).

Encerrar o SDK

Use Zoop.shutdown() para encerrar todos os plugins conectados e finalizar a sessão do SDK. Para se conectar ao SDK novamente, inicialize-o outra vez e conecte o plugin desejado.

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

fun finishZoopSdk() {
    Zoop.shutdown()
}
circle-info

Recomenda-se manter a instância ativa, mesmo entre transações. Além de melhorar a performance, isso garante o funcionamento correto dos processos do SDK.



Did this page help you?