A partire dalla release 1.11.2, il servizio di fiscalizzazione RetailForce («middleware») sarà disponibile anche come servizio nativo per Android.
Il servizio per Android è disponibile nella sezione Download del sito RetailForce, nella versione corrispondente (retailforce.TrustedFiscalModule-Signed.apk).
Installazione
Per installare il servizio Android, scaricate il pacchetto sul dispositivo di destinazione. Per procedere con l’installazione, è necessario abilitare l’autorizzazione all’installazione («Fidati di questa fonte»).
Una volta completata l’installazione, il servizio si avvia automaticamente.
È inoltre possibile distribuire il file APK tramite un sistema MDM (Mobile Device Management).
Integrazione
Il servizio di fiscalizzazione RetailForce per Android viene eseguito come servizio in primo piano.
Per connettersi al servizio RetailForce per Android, l’applicazione deve eseguire i seguenti passaggi:
- Autorizzazioni in AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Richiamare il servizio RetailForce per Android (esempio in C#, ma simile in 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);
}
```
- Effettuare il binding al servizio RetailForce per 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");
}
```
- Richiedere l’autorizzazione.
A partire da Android 13 potrebbe essere necessario richiedere l’autorizzazione per richiamare un servizio in primo piano.
``` csharp
if (Build.VERSION.SdkInt >= BuildVersionCodes.Tiramisu)
{
if (CheckSelfPermission(Android.Manifest.Permission.ForegroundService) != Permission.Granted)
{
RequestPermissions(new[] { Android.Manifest.Permission.ForegroundService }, 101);
}
}
```
Il servizio RetailForce per Android è disponibile all’indirizzo http://127.0.0.1:7678/api/v1/ ed è accessibile tramite REST (proprio come il servizio REST RetailForce Fiscalisation su Windows, Docker o il servizio Cloud Fiscalisation).
Compatibilità con diverse versioni di Android
Attualmente il servizio RetailForce per Android è stato testato esclusivamente su Android 14 e 15.
Per le versioni precedenti di Android, potrebbe essere necessario apportare lievi modifiche al codice, in particolare per quanto riguarda le autorizzazioni e il binding del servizio.
Risoluzione dei problemi
Per verificare il funzionamento generale del middleware o per la gestione degli errori, può essere utile utilizzare lo strumento da riga di comando «Android Debug Bridge (ADB)», ad esempio su Windows.
A tal fine, ADB per Windows deve essere disponibile in una directory del proprio computer.
- collegare il dispositivo Android al PC Windows tramite USB,
- aprire un prompt dei comandi nella directory ADB,
- e immettere il seguente comando:
adb logcat "RetailForceService:D *:S"Questo comando visualizza tutte le voci di log così come le troverebbe normalmente nei file di log del servizio Windows o Docker.
Questo articolo è stato tradotto automaticamente.
Commenti
0 commenti
Accedi per aggiungere un commento.