Od release 1.11.2 bude služba RetailForce Fiscalisation Service („middleware“) k dispozícii aj ako natívna služba pre Android.
Službu pre Android nájdete v sekcii na stiahnutie na RetailForce website pre príslušnú verziu (retailforce.TrustedFiscalModule-Signed.apk).
Inštalácia
Na inštaláciu služby pre Android si ju stiahnite do príslušného zariadenia. Na inštaláciu služby musíte nastaviť povolenie na inštaláciu („Dôverovať tomuto zdroju“).
Po inštalácii sa služba spustí automaticky.
Súbor APK môžete distribuovať aj prostredníctvom systému MDM (Mobile Device Management).
Integrácia
Služba RetailForce Fiscalisation Service pre Android beží ako služba v popredí.
Na pripojenie k službe RetailForce pre Android musí aplikácia vykonať nasledujúce kroky:
- Oprávnenia v súbore AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Vyvolanie služby RetailForce pre Android (príklad pre C#, ale podobný aj v 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);
}
```
- Pripojenie k službe RetailForce pre 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");
}
```
- Požiadať o povolenie.
Môže byť potrebné požiadať o povolenie na volanie služby v popredí (od verzie Android 13).
``` csharp
if (Build.VERSION.SdkInt >= BuildVersionCodes.Tiramisu)
{
if (CheckSelfPermission(Android.Manifest.Permission.ForegroundService) != Permission.Granted)
{
RequestPermissions(new[] { Android.Manifest.Permission.ForegroundService }, 101);
}
}
```
Služba RetailForce pre Android beží na adrese http://127.0.0.1:7678/api/v1/ a je prístupná prostredníctvom REST (rovnako ako služba RetailForce Fiscalisation REST vo Windows, Docker alebo Cloud Fiscalisation Service).
Rôzne verzie Androidu
V súčasnosti bola služba RetailForce pre Android testovaná iba na Android 14 a 15.
V prípade starších verzií Androidu môže byť potrebné mierne upraviť kód, najmä pokiaľ ide o oprávnenia a viazanie služby.
Riešenie problémov
Na kontrolu všeobecnej funkčnosti middlewaru alebo na riešenie chýb môže byť užitočné použiť nástroj príkazového riadku „Android Debug Bridge (ADB)“, napr. v systéme Windows.
Na to musí byť ADB pre Windows k dispozícii v adresári na vašom počítači.
- Pripojte zariadenie s Androidom k počítaču s Windows cez USB,
- otvorte príkazový riadok v adresári ADB,
- a zadajte nasledujúci príkaz:
adb logcat "RetailForceService:D *:S"Tento príkaz zobrazí všetky záznamy protokolu, ako by ste ich bežne našli v súboroch protokolu služby Windows alebo Docker.
Tento článok bol preložený automaticky.
Príspevky
0 komentárov
Ak chcete napísať komentár, prihlásiť sa.