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
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
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 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