É necessário ativar o dispositivo conforme descrito aqui.
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.
id
: pacote ou nome da sua aplicação.version
: número de versão da sua aplicação no formato X.Y.Z.
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.
Na inicialização, é possível configurar os parâmetros listados abaixo.
É possível configurar o nível de log e adicionar interceptors.
Zoop.setLogLevel(LogLevel.Debug)
Zoop.addLogInterceptor { level, category, message ->
MyLog(message)
}
LogLevel.None
LogLevel.Information
LogLevel.Warning
LogLevel.Error
LogLevel.Critical
LogLevel.Log
LogLevel.Debug
LogLevel.Trace
LogLevel.Metric
É possível configurar o ambiente.
Zoop.setEnvironment(Environment.Staging)
Environment.Staging
Environment.Production // Default
É 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.setStric(false)
quando estiver em estágio de desenvolvimento. Para facilitar, pode ser utilizada a flag de debug Zoop.setStrict(!Build.Debug)
.
Após o SDK estar inicializado, conforme o passo anterior, é necessário criar a instância do plugin.
Zoop.plug(DesktopPlugin(Zoop.constructorParameters()))
Você pode usar a propriedade Zoop.isInitialized: Boolean
para checar se o SDK já foi inicializado e evitar acessos prematuros ou inicializações redundantes.
fun initializeZoopSdk() {
if (Zoop.isInitialized) {
return
}
Zoop.initialize(context = getContext()) {
// Inicializar como o normal.
}
}
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.
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.