Zum Hauptinhalt springen

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 Application fest.
  • 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 lautet terminal-api.

Eine vollständige Übersicht über die Klassenreferenz und die Konstruktoroptionen finden Sie in der Terminal-API-Referenz.