3 - Inicialização
Para utilizar o plugin, é necessário inicializar o SDK.
É necessário ativar o dispositivo conforme descrito aqui.
Exemplo após ativação
import com.zoop.pos.application
Zoop.initialize(context) {
application { // Exceto em dispositivos Android.
id = "{your-app-package-or-name}"
version = "X.Y.Z"
}
credentials {
marketplace = "{marketplace ID}"
seller = "{seller ID}"
accessKey = "{chave de acesso}"
}
}A extensão
application {}está disponível apenas para a plataforma JVM.
Dados da aplicação
id: pacote ou nome da sua aplicação.version: número de versão da sua aplicação no formato X.Y.Z.
Dados de ativação
marketplace: marketplace salvo durante a ativação via dashboard.seller: seller salvo durante a ativação via dashboard.accessKey: accessKey salvo durante a ativação via dashboard.
Parâmetros extras
Na inicialização, é possível configurar os parâmetros listados abaixo.
Configurando o log
É possível configurar o nível de log e adicionar interceptors.
Configurando nível de log
Zoop.setLogLevel(LogLevel.Debug)Adicionando interceptor
Zoop.addLogInterceptor { level, category, message ->
MyLog(message)
}Níveis de log disponíveis
LogLevel.None
LogLevel.Information
LogLevel.Warning
LogLevel.Error
LogLevel.Critical
LogLevel.Log
LogLevel.Debug
LogLevel.Trace
LogLevel.MetricConfigurando o Ambiente
É possível configurar o ambiente.
Zoop.setEnvironment(Environment.Staging)Ambientes disponíveis
Environment.Staging
Environment.Production // DefaultAtivando Strict Mode
É possível ativar/desativar o strict mode.
Zoop.setStrict(true)Observação: Quando o SDK se encontra em strict mode, várias validações ocorrem quando um request está em andamento. Uma das verificações impede que o SDK atenda o request se o dispositivo estiver em modo desenvolvedor. Então é sugerido utilizar Zoop.setStrict(false) quando estiver em estágio de desenvolvimento. Para facilitar, pode ser utilizada a flag de debug Zoop.setStrict(!Build.Debug).
Plugando
Após o SDK estar inicializado, conforme o passo anterior, é necessário criar a instância do plugin.
Exemplo
Zoop.plug(DesktopPlugin(Zoop.constructorParameters()))Checando a Inicialização
Você pode usar a propriedade Zoop.isInitialized: Boolean para checar se o SDK já foi inicializado e evitar acessos prematuros ou inicializações redundantes.
Exemplo
fun initializeZoopSdk() {
if (Zoop.isInitialized) {
return
}
Zoop.initialize(context = getContext()) {
// Inicializar como o normal.
}
}Encerrando o SDK
Use o método Zoop.shutdown() para encerrar todos os plugins conectados ao SDK e encerrar a sessão do SDK. Se precisar se conectar ao SDK depois disso, inicialize-o novamente e plugue o plugin desejado.
Exemplo
fun restartZoopSdk() {
finishZoopSdk()
initializeZoopSdk()
}
fun finishZoopSdk() {
Zoop.shutdown()
}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.
