Od verze 1.11.2 bude služba RetailForce Fiscalisation Service („middleware“) k dispozici také jako nativní služba pro Android.
Službu pro Android najdete v sekci ke stažení na webových stránkách RetailForce pro příslušnou verzi (retailforce.trustedfiscalmodule-Signed.apk).
Instalace
Chcete-li nainstalovat službu pro Android, stáhněte si ji do příslušného zařízení. K instalaci služby je nutné nastavit oprávnění k instalaci („Důvěřovat tomuto zdroji“).
Po instalaci se služba spustí automaticky.
Soubor APK můžete také distribuovat prostřednictvím systému MDM (Mobile Device Management).
Integrace
Služba RetailForce Fiscalisation Service pro Android běží jako služba na popředí.
Pro připojení ke službě RetailForce pro Android musí aplikace provést následující kroky:
- Oprávnění v souboru AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Volání služby RetailForce pro Android (příklad pro C#, ale podobný i v Javě / Kotlinu)
``` 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);
}
```
- Navázání na službu RetailForce pro 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žádat o oprávnění.
Může být nutné požádat o oprávnění k volání služby v popředí (od verze 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 pro Android běží na adrese http://127.0.0.1:7678/api/v1/ a je přístupná přes REST (stejně jako služba RetailForce Fiscalisation REST ve Windows, Dockeru nebo Cloud Fiscalisation Service).
Různé verze Androidu
V současné době byla služba RetailForce pro Android testována pouze na Androidu 14 a 15.
U starších verzí Androidu může být nutné kód mírně upravit, zejména pokud jde o oprávnění a vazbu služby.
Řešení problémů
Pro ověření obecné funkčnosti middlewaru nebo pro řešení chyb může být užitečné použít nástroj příkazového řádku „Android Debug Bridge (ADB)“, např. v systému Windows.
K tomu musí být ADB pro Windows k dispozici v některém adresáři na vašem počítači.
- Připojte zařízení s Androidem k počítači s Windows přes USB,
- otevřete příkazový řádek v adresáři ADB,
- a zadejte následující příkaz:
adb logcat "RetailForceService:D *:S"Tento příkaz zobrazí všechny záznamy protokolu, jak je běžně najdete v protokolech systému Windows nebo služby Docker.
Tento článek byl přeložen automaticky.
Komentáře
0 komentářů
Prosím přihlaste se, abyste mohli napsat komentář.