Wie man ein Zebra Lesegerät für einen Google Wallet NFC-Pass konfiguriert

Zebra Technologies bietet eine Reihe von mobilen Android-Geräten an zum Lesen von NFC-Pässen in Apple Wallet und Google Wallet.

Aktuell gibt es die mobilen TC2X / TC5X / TC7X Geräte (Zebra TC21, TC22, TC26, TC27, TC53, TC58, TC73, TC78) und die größeren ET4x / ET6x Tablets (Zebra ET40, ET45, ET60, ET65).

Mobile Computer Zebra TC22 aus der Zebra Technologies TC2X-Serie

Voraussetzungen

Zur Einrichtung des Zebra NFC-Lesegerätes benötigen Sie Ihren privaten Google Wallet NFC-Schlüssel, die Google Wallet NFC-Schlüssel ID und Ihre Google Wallet Collector ID (siehe: Wie erstellt man Google Wallet Pässe mit NFC-Unterstützung).

Sie benötigen zudem das Zebra Mehrwertdienste (VAS) SDK, den enthaltenen Zebra VAS Service (zum Beispiel: ZVS-Service-release-2.0.0.apk) installieren Sie auf dem Zebra-Gerät: https://www.zebra.com/de/de/support-downloads/software/mobile-computer-software/value-added-services-sdk.html

Konfiguration

Ohne Passmeister wird's ab jetzt kompliziert: Um Google Wallet NFC-Pässe mit Ihrem Zebra Gerät zu lesen, müssen Sie Ihre eigene Android App entwickeln. Ein Beispiel dafür ist die Zebra NFC Ticket Demo App: https://github.com/spoZebra/zebra-nfc-ticket-demo

In Ihrer App binden Sie zuerst die Zebra VAS Bibliothek aus dem Zebra VAS SDK (zum Beispiel: zebranfcvas-release-2.0.1.aar) ein:

// build.gradle.kts

dependencies {
    implementation(files("libs/zebranfcvas-release-2.0.1.aar"))
}

Implementieren Sie das IZebraServiceConnection Interface und initialiseren sie den ZebraNfcVas Service:

class MainActivity : AppCompatActivity(), IZebraServiceConnection {
    ...
    override fun onCreate(savedInstanceState: Bundle?) {
        ...
        zebraNfcVas = ZebraNfcVas(this)
        zebraNfcVas.init()
        ...
    }
    ...
}

Konfigurieren Sie den ZebraNfcVas Service für Ihren Google Wallet Passtyp. Um verschiedene Google Wallet Passtypen zu lesen, müssen alle Passtypen die gleiche collectorId eines gemeinsamen Einlösungsausstellers (Redemption Issuer) verwenden:

override fun onServiceConnection() {
    val vasConfigs: MutableList = mutableListOf()
    val smartTapVasConfig = SmartTapVasConfig()
    smartTapVasConfig.setCollectorID(googleWalletCollectorId)
    smartTapVasConfig.setPrivateKey(
        googleWalletPrivateKey, googleWalletPrivateKeyId
    )
    vasConfigs.add(smartTapVasConfig)

    zebraNfcVas.createZebraNfcVasConfig()
    zebraNfcVas.setVasConfigs(vasConfigs)
    zebraNfcVas.connectToReader()
    zebraNfcVas.enableReadPassMode()
}

Beim Lesen eines Google Wallet NFC-Passes wird nun das Service Callback onPassDetected aufgerufen und Sie können die gespeicherten NCF-Daten ausgeben:

override fun onPassDetected(pass: Pass?) {
    ...
    Log.d("onPassDetected", String(pass.payloadMessage, StandardCharsets.UTF_8)
    ...
}

Mit Passmeister

Mit Passmeister ist alles einfacher: Installieren Sie einfach die Passmeister App und scannen Sie Ihren API-Key unter "Pass-Einstellungen / API Keys".
https://play.google.com/store/apps/details?id=com.passmeister.nfcreader

Ihr Zebra Gerät ist jetzt bereit zum Lesen Ihrer Google Wallet NFC-Pässe!

aktualisiert am: 14. April 2024

Keine neue App installieren.

Ihre Kunden haben sie schon - die Wallet Apps sind auf jedem iPhone und den meisten Android-Telefonen vorinstalliert.

Die schönsten Pässe.

Laden Sie einfach Ihr Logo und ein Foto hoch - Passmeister gestaltet automatisch die schönsten Designs.

Die einfachste API.

Von Entwicklern für Entwickler - mit vollständiger OpenAPI Specification und Swagger UI zum Ausprobieren der API.