Die Terminal-API in Ihr Projekt einbinden
Die Terminal-API wird als Android-Bibliothek genutzt, die über Maven Central bereitgestellt wird. Für die Integration sind eine Gradle-Abhängigkeit, eine Manifest-Deklaration und eine SDK-Instanz im Anwendungsbereich erforderlich.
1. Fügen Sie die Gradle-Abhängigkeit hinzu
Stellen Sie sicher, dass in Ihrem Stammverzeichnis settings.gradle.kts das Android-Repository von Google und Maven Central konfiguriert sind:
Kotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
Im build.gradle.kts Ihres App-Moduls:
Kotlin
dependencies {
implementation("com.wallee.terminal:terminal-api:<version>")
}
Ersetzen Sie <version> durch die von Ihrem wallee-Ansprechpartner bereitgestellte Version des Terminal-API-SDK. Es sind weder GitHub-Pakete noch Registrierungsdaten erforderlich.
2. Die Berechtigung und die Sichtbarkeit des Pakets festlegen
Die Integrator-App benötigt die Berechtigung für den Zugriff auf den Terminal-Dienst sowie die Paketsichtbarkeit für Android 11+ für die SoftPOS-App. Fügen Sie beides zu Ihrem AndroidManifest.xml hinzu:
xml
<uses-permission android:name="com.wallee.atisdk.permission.ACCESS_ATI_SERVICE" />
<queries>
<package android:name="com.wallee.softpos" />
<intent>
<action android:name="com.wallee.atisdk.action.BIND_TERMINAL_SERVICE" />
</intent>
</queries>
Ohne den <queries>-Block kann Ihre App den SoftPOS-Dienst unter Android 11 oder höher nicht erkennen oder eine Verbindung dazu herstellen.
3. Eine SDK-Instanz im Anwendungsbereich erstellen
Das SDK sollte über die gesamte Laufzeit des Anwendungsprozesses hinweg bestehen bleiben und nicht nur für eine einzelne Activity gelten. Speichern Sie es in Ihrer Application-Unterklasse:
Kotlin
class MyApplication : Application() {
val atiSdk: AtiSdk by lazy {
AtiSdkClient(this)
}
}
Registrieren Sie die Klasse in Ihrem Manifest:
xml
<application
android:name=".MyApplication"
...>
</application>
4. Überprüfen Sie die Einrichtung
Erstellen und starten Sie die App auf einem Gerät, auf dem die SoftPOS-Sandbox installiert ist (siehe Schritt 2 des „Happy Path“). Die SDK-Instanz ist nun bereit für die Verbindung – dies wird in Schritt 4 behandelt.
Häufige Fallstricke
- Fehlender
<queries>-Block: Die Bindung schlägt unter Android 11+ stillschweigend fehl, da das SoftPOS-Paket für Ihre App nicht sichtbar ist. - SDK im Activity-Gültigkeitsbereich: Der Verbindungsstatus geht bei Konfigurationsänderungen verloren; legen Sie den Gültigkeitsbereich immer auf
Applicationfest. - Berechtigung nicht deklariert: Der Bindungsversuch wird vom SoftPOS-Dienst abgelehnt.
- SoftPOS-App nicht installiert: Es gibt keinen Dienst, an den eine Bindung hergestellt werden kann. Installieren Sie zunächst die wallee SoftPOS-APK.
- Falsche Artefaktkoordinaten: Die Gruppe lautet
com.wallee.terminal, das Artefakt lautetterminal-api.
Eine vollständige Übersicht über die Klassenreferenz und die Konstruktoroptionen finden Sie in der Terminal-API-Referenz.