Ativação
Ativação
É necessário inicializar o SDK sem passar as credenciais, a fim de realizar a requisição para recuperar as credenciais.
Zoop.initialize(context)
Neste momento, é necessário injetar o plugin do SmartPOS, conforme abaixo:
val smartPOSPlugin = SmartPOSPlugin(Zoop.constructorParameters())
Zoop.plug(smartPOSPlugin)
Com o SDK inicializado, é necessário fazer uma ativação pelo seu dashboard para recuperar as credenciais*, utilizando um token gerado com a requisição de ativação, conforme exemplo a seguir.
Dica
Cada dispositivo só precisa fazer essa ativação uma única vez para que seja registrado na nossa base de dados, associando-o ao estabelecimento. Depois disso, é possível inicializar o plugin diretamente com as credenciais recebidas.
Exemplo
val activationRequestBuilder = ZoopFoundationPlugin.createDashboardActivationRequestBuilder()
.tokenCallback(object: Callback<DashboardTokenResponse>() {
override fun onSuccess(response: DashboardTokenResponse) {
// "Apresentar token ao usuário: ${response.token}"
displayActivationToken(response.token)
}
override fun onFail(error: Throwable) {
// "Falha ao requisitar token"
displayTokenGenerationError()
}
})
.confirmCallback(object: Callback<DashboardConfirmationResponse>() {
override fun onSuccess(response: DashboardConfirmationResponse) {
/**
* Nesse ponto, é necessário guardar as credenciais localmente em um banco de dados/shared preferences,
* para usar na próxima inicialização, passando como parâmetro na ativação
*/
saveCredentials(response)
displayTokenActiveMessage()
}
override fun onFail(error: Throwable) {
/**
* Caso o login seja cancelado, receberá a resposta aqui, com mensagem "request canceled"
* loginRequest.cancel()
*/
// "Apresentar erro na confirmação do token: ${error.message}"
when (error) {
is ZoopTimeoutException -> displayTokenExpiredMessage()
else -> displayGenericTokenActivationMessageError()
}
}
})
.themeCallback(object: Callback<DashboardThemeResponse>() {
override fun onSuccess(response: DashboardThemeResponse) {
/**
* Aqui você recebe o esquema de cores configurado para o seller no dashboard,
* e também sinaliza o sucesso no fluxo de ativação do terminal.
*/
applyBackgroundTheme(response)
}
override fun onFail(error: Throwable) {
warnDownloadBackgroundThemeError()
}
})
.build()
Zoop.post(activationRequestBuilder)
Credenciais
Você pode armazenar as credenciais localmente com a resposta do confirmCallback()
. Assim, é possível informá-las na próxima inicialização sem precisar passar pela ativação via dashboard.
Outras Formas de Ativação
Ativação via aplicativo de exemplo
Instale o app disponível aqui.
- Clique no botão “Iniciar ativação”;
- Pareie o token disponível no dashboard;
- Ao fim da ativação, o app exibirá as credenciais.