Począwszy od release 1.11.2 usługa fiskalizacji RetailForce („middleware”) będzie również dostępna jako natywna usługa dla systemu Android.
Usługę dla systemu Android można znaleźć w sekcji plików do pobrania na RetailForce website dla odpowiedniej wersji (retailforce.TrustedFiscalModule-Signed.apk).
Instalacja
Aby zainstalować usługę na systemie Android, należy ją pobrać na odpowiednie urządzenie. W celu zainstalowania usługi należy ustawić uprawnienie instalacyjne („Zaufaj temu źródłu”).
Po instalacji usługa uruchamia się automatycznie.
Plik APK można również rozpowszechniać za pośrednictwem systemu MDM (Mobile Device Management).
Integracja
Usługa RetailForce Fiscalisation dla systemu Android działa jako usługa działająca w tle.
Aby połączyć się z usługą RetailForce dla systemu Android, aplikacja musi wykonać następujące czynności:
- Uprawnienia w pliku AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Wywołanie usługi RetailForce dla systemu Android (przykład w języku C#, ale podobny w językach Java i 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);
}
```
- Nawiązanie połączenia z usługą RetailForce dla systemu 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");
}
```
- Poproś o uprawnienie.
Konieczne może być uzyskanie uprawnień do wywołania usługi działającej w tle (począwszy od systemu Android 13).
``` csharp
if (Build.VERSION.SdkInt >= BuildVersionCodes.Tiramisu)
{
if (CheckSelfPermission(Android.Manifest.Permission.ForegroundService) != Permission.Granted)
{
RequestPermissions(new[] { Android.Manifest.Permission.ForegroundService }, 101);
}
}
```
Usługa RetailForce dla systemu Android działa pod adresem http://127.0.0.1:7678/api/v1/ i jest dostępna za pośrednictwem interfejsu REST (podobnie jak usługa REST RetailForce Fiscalisation w systemie Windows, Dockerze lub usłudze Cloud Fiscalisation Service).
Różne wersje systemu Android
Obecnie usługa RetailForce dla systemu Android została przetestowana wyłącznie na systemach Android 14 i 15.
W przypadku starszych wersji systemu Android może być konieczne nieznaczne dostosowanie kodu, zwłaszcza w zakresie uprawnień i powiązania usług.
Rozwiązywanie problemów
Aby sprawdzić ogólne działanie middleware lub w celu obsługi błędów, pomocne może być użycie narzędzia wiersza poleceń „Android Debug Bridge (ADB)”, np. w systemie Windows.
W tym celu narzędzie ADB dla systemu Windows musi znajdować się w jednym z katalogów na Państwa komputerze.
- Podłącz urządzenie z systemem Android do komputera z systemem Windows za pomocą kabla USB,
- otwórz wiersz poleceń w katalogu ADB,
- a następnie wprowadzić następujące polecenie:
adb logcat "RetailForceService:D *:S"Polecenie to wyświetla wszystkie wpisy dziennika, które normalnie można znaleźć w plikach dziennika systemu Windows lub usługi Docker.
Ten artykuł został przetłumaczony automatycznie.
Komentarze
Komentarze: 0
Zaloguj się, aby dodać komentarz.