Configuração da integração HAL
Este guia cobre as três coisas de que sua Manufacturer Service App precisa antes de a Middleware App conseguir se vincular a ela. Você precisa do nome de pacote correto, das interfaces exigidas e de uma declaração de serviço que corresponda ao Intent de vinculação.
Antes de começar
Obtenha o libhalservice.aar com a Getnet. Ele contém as interfaces AIDL que você implementa — consulte a referência de interfaces de serviço para ver a lista completa antes de começar.
Etapa 1: Nomear o pacote do seu serviço
A Middleware App só se vincula a um serviço chamado com.pagonxt.hal.platform.service. Use exatamente esse nome para sua Manufacturer Service App.
Etapa 2: Implementar as interfaces exigidas
O libhalservice.aar define uma interface por área de hardware. Implemente as que seu dispositivo suporta:
| Interface | Cobre |
|---|---|
IMainService | O ponto de entrada. Expõe todas as demais interfaces abaixo. |
ICardService | Leituras de cartão por chip, tarja magnética e NFC. |
IMifareService | Leituras de cartão Mifare e operações de setor/bloco. |
IPrinterService | Impressão de recibos. |
IBeeperService | Retorno sonoro. |
ILedService | LEDs de status. |
ICameraService | Câmera do dispositivo. |
IStatService | Estatísticas de uso, por aplicação e no dispositivo inteiro. |
IInfoService | Identificação do dispositivo (número de série, IMEI, modelo). |
O libhalservice.aar também declara um import de IInitService, ao lado das interfaces acima. O kit de fabricante da Getnet ainda não documenta seus métodos — trate-o como reservado até a Getnet publicar o contrato dele.
Consulte a referência de interfaces de serviço para ver todas as assinaturas de método, incluindo as interfaces de manutenção e de criptografia. Ela também documenta a interface EMV usada pela máquina de estados EMV.
Etapa 3: Corresponder ao Intent de vinculação
A Middleware App se vincula ao seu serviço com este Intent:
intent.action = "com.pagonxt.hal.platform.service"
intent.setPackage("com.pagonxt.hal.platform")Declare o intent filter do seu serviço para corresponder a essa ação e a esse pacote, para que a vinculação tenha sucesso. Uma vez vinculada, a Middleware App obtém sua implementação de IMainService assim:
mainService = com.pagonxt.hal.platform.service.IMainService.Stub.asInterface(binder)Todas as chamadas que seu serviço recebe depois — mainService.getCard(), mainService.getPrinter() e assim por diante — passam por essa mesma conexão.
Verificar a integração
Confirme que seu serviço é vinculável e que todas as interfaces implementadas respondem corretamente antes de passar ao Devkit.
| Verificação | O que esperar |
|---|---|
| Nome de pacote | O manifesto do seu serviço declara com.pagonxt.hal.platform.service. |
| Vinculação | A vinculação da Middleware App tem sucesso e devolve um stub IMainService válido. |
| Cobertura de interfaces | Toda interface que seu dispositivo suporta (ver Etapa 2) devolve uma implementação funcional, não null. |
Próximos passos
- Início rápido: executar o Devkit — valide sua implementação com as ferramentas de teste da Getnet.
- Arquitetura HAL — como essa conexão se encaixa no resto da plataforma.
- Referência de interfaces de serviço — assinaturas completas de método para todas as interfaces.