Métodos do fabricante
Acesse métodos públicos do dispositivo SmartPOS usando PublicDevice para configurar APN, senha de menu, navegação, hora, fuso horário e número de série.
Acesse métodos públicos do dispositivo SmartPOS para consultar ou configurar recursos expostos pelo fabricante.
Os métodos do fabricante são acessados por uma referência a
PublicDevice. Use esse fluxo quando sua aplicação precisar configurar recursos do terminal fora dos fluxos transacionais.
Quando usar
Use os métodos do fabricante quando sua aplicação precisar executar ações específicas do dispositivo, como:
- consultar o número de série do terminal;
- verificar se o terminal é de desenvolvimento;
- configurar APN;
- habilitar ou desabilitar senha do menu Android;
- controlar botões físicos de navegação;
- configurar hora e fuso horário.
Pré-requisitos
Antes de acessar métodos do fabricante:
1. Ative o terminal em Ativação SmartPOS.
2. Inicialize o SDK e plugue o SmartPOSPlugin em Inicialização SmartPOS.
3. Solicite as permissões Android necessárias em tempo de execução.
4. Confirme se o método desejado é suportado pelo fabricante e modelo do terminal.
Classe utilizada
Para obter acesso aos métodos públicos do dispositivo, use a classe SmartPOSPublicDeviceRequestBuilder.
A requisição é criada por:
SmartPOSPlugin.createPublicDeviceRequestBuilder()Exemplo
val request = SmartPOSPlugin.createPublicDeviceRequestBuilder()
.callback(object: Callback<WeakReference<PublicDevice>>() \{
override fun onFail(error: Throwable) {
}
override fun onSuccess(response: WeakReference<PublicDevice>) {
response.get()?.setMenuPasswordEnabled(false)
}
\})
.build()
Zoop.post(request)Métodos disponíveis
| Método | Descrição |
|---|---|
setMenuPasswordEnabled | Habilita ou desabilita a senha para acesso às configurações do Android. |
setApn | Configura e conecta em uma APN passando um objeto do tipo ApnCredentials. |
setNavigationKeyEnabled | Habilita ou desabilita um botão físico de navegação do Android. |
setAutoTimeZone | Habilita ou desabilita o fuso horário automático. |
setAutoTime | Habilita ou desabilita a hora automática. |
setTimeZone | Configura o fuso horário no formato Continente/Cidade, por exemplo America/Sao_Paulo. |
getSerialNumber | Retorna o número de série do terminal. |
isDebugDevice | Retorna uma flag que indica se o terminal é de desenvolvimento. |
Trabalhe com WeakReference<PublicDevice>
WeakReference<PublicDevice>O callback de sucesso retorna uma referência fraca (WeakReference) para PublicDevice.
Antes de chamar qualquer método, recupere a instância com response.get() e trate o caso em que a referência não esteja mais disponível.
override fun onSuccess(response: WeakReference<PublicDevice>) \{
val publicDevice = response.get()
if (publicDevice == null) {
handlePublicDeviceUnavailable()
return
}
publicDevice.setMenuPasswordEnabled(false)
\}Não assuma que
response.get()sempre retornará uma instância válida. Tratenullantes de chamar métodos do dispositivo.
Callbacks
.callback
.callbackControla o fluxo principal para recuperar a referência do dispositivo.
| Método | Quando ocorre | Ação recomendada |
|---|---|---|
onSuccess | A referência para PublicDevice foi retornada. | Recupere a instância com response.get() e chame o método necessário. |
onFail | A referência não foi recuperada. | Exiba uma mensagem de erro ou siga sem executar a configuração do fabricante. |
Tratamento recomendado
Ao acessar métodos do fabricante:
1. Recupere PublicDevice com response.get().
2. Trate o caso em que a referência seja null.
3. Chame apenas métodos necessários para o fluxo atual.
4. Exiba mensagens claras quando uma configuração não puder ser aplicada.
5. Valide o comportamento no modelo do terminal usado pela aplicação.
Checklist dos métodos do fabricante
Antes de enviar a requisição com Zoop.post(request), confirme:
- O SDK foi inicializado com credenciais.
- O
SmartPOSPluginfoi plugado. - O método desejado é necessário para o fluxo do app.
- O app trata falha no callback principal.
- O app trata
response.get() == null. - O comportamento foi validado no fabricante e modelo do terminal.
Próximo passo
Depois de implementar métodos do fabricante, consulte Remoção GPOS720 para remover o aplicativo Zoop em terminais Gertec quando necessário.
Updated 9 days ago
