Ab Release Version 1.11.2 wird das RetailForce Fiscalisation Service ("Middleware") auch als natives Service für android zur Verfügung gestellt.
Das android-Service finden Sie im Downloads-Bereich der RetailForce Website bei der jeweiligen Version (retailforce.trustedfiscalmodule-Signed.apk).
Installation
Um den android-Service zu installieren, laden Sie diesen auf dem entsprechenden Geräte herunter. Um den Service installieren zu können, müssen Sie die Berechtigung zur Installation setzen ("Dieser Quelle vertrauen").
Nach der Installation läuft der Service automatisch.
Sie können die APK-Datei auch über ein MDM (Mobile-Device-Management) verteilen.
Integration
Das RetailForce Fiscalisation Service für android läuft als Dienst im Vordergrund (Foreground Service).
Um eine Verbindung mit dem RetailForce-Dienst für android herzustellen, muss die App die folgenden Schritte ausführen:
- Berechtigungen in AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Aufruf des Dienstes (Beispiel für C#, ähnlich 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);
}
```
- Mit dem RetailForce-Dienst für android verbinden (bind)
``` 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");
}
```
- Berechtigungen anfordern
Es kann erforderlich sein, die Berechtigung zum Aufrufen eines Vordergrunddienstes anzufordern (ab Android 13).
``` csharp
if (Build.VERSION.SdkInt >= BuildVersionCodes.Tiramisu)
{
if (CheckSelfPermission(Android.Manifest.Permission.ForegroundService) != Permission.Granted)
{
RequestPermissions(new[] { Android.Manifest.Permission.ForegroundService }, 101);
}
}
```
Der RetailForce-Dienst für android läuft unter http://127.0.0.1:7678/api/v1/ und kann über REST aufgerufen werden (genau wie der RetailForce Fiscalisation REST-Service unter Windows, Docker, bzw. Cloud Fiscalisation Service).
Unterschiedliche android Versionen
Derzeit wurde der RetailForce-Dienst für Android nur auf Android 14 und 15 getestet.
Bei älteren Android-Versionen kann es erforderlich sein, den Code geringfügig anzupassen, insbesondere hinsichtlich der Berechtigungen und der Dienstbindung.
Fehlerbehebung
Um die generelle Funktion der Middleware zu prüfen, bzw. zur Fehlerbehandlung, kann es hilfreich sein, das Befehlszeilentool "Android Debug Bridge (ADB)", z.B. unter Windows, zu verwenden.
Dazu muss ADB für Windows in einem Verzeichnis Ihres Rechners verfügbar sein.
- verbinden Sie das android-Geräte etwa über USB mit dem Windows-PC,
- öffnen Sie eine Eingabeaufforderung im ADB-Verzeichnis,
- geben Sie folgendes Kommando ein:
adb logcat "RetailForceService:D *:S"Dieser Befehl zeigt sämtliche Log-Einträge an, wie Sie sie normal in den Log-Dateien des Windows- oder Docker-Services finden.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.