A partir da release 1.11.2, o Serviço de Fiscalização da RetailForce («middleware») estará também disponível como um serviço nativo para Android.
Pode encontrar o serviço para Android na secção de downloads do RetailForce website, para a respetiva versão (retailforce.TrustedFiscalModule-Signed.apk).
Instalação
Para instalar o serviço para Android, descarregue-o para o dispositivo em questão. Para instalar o serviço, deve definir a permissão de instalação («Confiar nesta fonte»).
Após a instalação, o serviço é executado automaticamente.
Também pode distribuir o ficheiro APK através de um sistema MDM (Gestão de Dispositivos Móveis).
Integração
O Serviço de Fiscalização RetailForce para Android funciona como um serviço em primeiro plano.
Para se ligar ao serviço RetailForce para Android, a aplicação deve executar os seguintes passos:
- Permissões no ficheiro AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Chamar o Serviço RetailForce para Android (exemplo em C#, mas semelhante em Java/Kotlin)
``` csharp
var intent = new Intent();
ComponentName componentName = new ComponentName("cloud.retailforce.trustedfiscalmodule", "cloud.retailforce.trustedfiscalmodule.RetailForceService");
intent.SetComponent(componentName);
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
{
StartForegroundService(intent);
}
else
{
StartService(intent);
}
```
- Estabelecer ligação ao Serviço RetailForce para Android
``` csharp
ServiceConnection serviceConnection = new ServiceConnection();
if (!BindService(intent, serviceConnection, Android.Content.Bind.AutoCreate | Android.Content.Bind.AllowActivityStarts))
{
_logger.LogInformation("Bind service failed");
throw new Exception("Could not bind RetailForceService");
}
```
- Solicitar autorização.
Pode ser necessário solicitar permissão para aceder a um serviço em primeiro plano (a partir do Android 13).
``` csharp
if (Build.VERSION.SdkInt >= BuildVersionCodes.Tiramisu)
{
if (CheckSelfPermission(Android.Manifest.Permission.ForegroundService) != Permission.Granted)
{
RequestPermissions(new[] { Android.Manifest.Permission.ForegroundService }, 101);
}
}
```
O serviço RetailForce para Android funciona em http://127.0.0.1:7678/api/v1/ e pode ser acedido via REST (tal como o serviço REST de Fiscalização do RetailForce no Windows, no Docker ou no Serviço de Fiscalização na Nuvem).
Diferentes versões do Android
Atualmente, o serviço RetailForce para Android só foi testado no Android 14 e 15.
Para versões mais antigas do Android, poderá ser necessário ajustar ligeiramente o código, especialmente no que diz respeito às permissões e à ligação do serviço.
Resolução de problemas
Para verificar o funcionamento geral do middleware ou para a gestão de erros, pode ser útil utilizar a ferramenta de linha de comandos «Android Debug Bridge (ADB)», por exemplo, no Windows.
Para tal, o ADB para Windows deve estar disponível num diretório no seu computador.
- Ligue o dispositivo Android ao PC com Windows através de USB,
- abra um prompt de comandos no diretório do ADB,
- e introduza o seguinte comando:
adb logcat "RetailForceService:D *:S"Este comando apresenta todas as entradas de registo tal como as encontraria normalmente nos ficheiros de registo do serviço do Windows ou do Docker.
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.