À partir de la release 1.11.2, le service de fiscalisation RetailForce (« middleware ») sera également disponible en tant que service natif pour Android.
Le binaire du service Android est mis à disposition dans la section « Téléchargements » du site RetailForce, sous la forme retailforce.TrustedFiscalModule-Signed.apk.
Installation
Pour installer le service Android, téléchargez-le sur l’appareil concerné. Pour installer le service, vous devez activer l’autorisation d’installation (« Faire confiance à cette source »).
Une fois l’installation terminée, le service s’exécute automatiquement.
Vous pouvez également déployer le fichier APK via un système MDM (Mobile Device Management).
Intégration
Le service de fiscalisation RetailForce pour Android s’exécute en tant que service en avant-plan.
Pour se connecter au service RetailForce pour Android, l’application doit suivre les étapes suivantes :
- Déclarer les autorisations requises dans AndroidManifest.xml
``` xml
<uses-permission android:name="cloud.retailforce.trustedfiscalmodule.RetailForceService.BIND_RETAILFORCE" />
<queries>
<package android:name="cloud.retailforce.trustedfiscalmodule" />
</queries>
```
- Appeler le service RetailForce pour Android (exemple en C#, mais similaire en 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);
}
```
- Établir une connexion au service RetailForce pour 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");
}
```
- Demander l’autorisation.
Il peut être nécessaire de solliciter l’autorisation d’appeler un service en avant-plan (à partir d’Android 13).
``` csharp
if (Build.VERSION.SdkInt >= BuildVersionCodes.Tiramisu)
{
if (CheckSelfPermission(Android.Manifest.Permission.ForegroundService) != Permission.Granted)
{
RequestPermissions(new[] { Android.Manifest.Permission.ForegroundService }, 101);
}
}
```
Le service RetailForce pour Android s’exécute à l’adresse http://127.0.0.1:7678/api/v1/ et est accessible via REST (de la même manière que le service REST de fiscalisation RetailForce sur Windows, Docker ou le service de fiscalisation dans le cloud).
Différentes versions d’Android
À l’heure actuelle, le service RetailForce pour Android n’a été testé que sur Android 14 et 15.
Pour les versions antérieures d’Android, il peut s’avérer nécessaire d’ajuster légèrement le code, notamment en ce qui concerne les autorisations et la liaison au service.
Dépannage
Pour vérifier le fonctionnement général du middleware ou pour la gestion des erreurs, il peut être utile d’utiliser l’outil en ligne de commande « Android Debug Bridge (ADB) », par exemple sous Windows.
Pour ce faire, ADB pour Windows doit être disponible dans un répertoire de votre ordinateur.
- connectez l’appareil Android au PC Windows via USB,
- ouvrez une invite de commande dans le répertoire ADB,
- puis saisissez la commande suivante :
adb logcat "RetailForceService:D *:S"Cette commande affiche toutes les entrées de journal telles qu’elles apparaissent normalement dans les fichiers journaux du service Windows ou Docker.
Cet article a été traduit automatiquement.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.