Dokumentation / Anleitungen / Offline-Modus
ProtokollspezifikationAPI-ReferenzAnleitungen
Dokumentation / Anleitungen / Offline-Modus
GUIDE · V1

Offline-Modus

Lokale Datenbank, ausstehende Warteschlange, Synchronisierungsverhalten

Wie der Offline-Modus funktioniert

Die Scanner-App ist so konzipiert, dass sie nach der Erstregistrierung vollständig offline funktioniert. Die gesamte Ticketvalidierung (Signaturverifizierung, Ablaufprüfungen, Duplikaterkennung) wird lokal mit zwischengespeicherten Daten durchgeführt. Nur der Check-in-Bestätigungsschritt erfordert eine Netzwerkverbindung, und selbst dieser wird in die Warteschlange eingereiht, wenn das Netzwerk nicht verfügbar ist.

Lokale Datenbank

Die App pflegt eine lokale SQLite-Datenbank mit folgenden Daten:

Daten Zweck
Registrierungen Registrierte Veranstaltungen mit API-Schlüsseln und Gate-Zuweisungen
Ausstellerschlüssel Zwischengespeicherte öffentliche Schlüssel zur Verifizierung von Ticketsignaturen
Scan-Verlauf Aufzeichnung jedes Scanversuchs und seines Ergebnisses
Ausstehende Check-ins Warteschlange der Check-ins, die auf Synchronisierung mit dem Server warten
Ticketstatus Zwischengespeicherte Ticketstatus (widerrufen, eingecheckt), die vom Server heruntergeladen wurden

Diese lokalen Daten ermöglichen es dem Scanner, Tickets zu validieren und bereits verwendete oder widerrufene Tickets auch ohne Internetverbindung zu erkennen.

Warteschlange für ausstehende Check-ins

Wenn Sie ein Ticket offline als verwendet markieren, wird der Check-in in eine ausstehende Warteschlange aufgenommen.

Ausstehende Check-ins anzeigen

Gehen Sie zu Menü > Ausstehende Synchronisierung. Der Menüpunkt zeigt ein Badge mit der Anzahl der ausstehenden Einträge.

Wenn keine ausstehenden Einträge vorhanden sind, zeigt der Bildschirm "Alles synchronisiert."

Jeder ausstehende Eintrag zeigt:

  • Ticketkennung
  • Veranstaltungsname
  • Zeitpunkt des letzten Synchronisierungsversuchs (falls ein Wiederholungsversuch unternommen wurde)

Manuelle Wiederholung

Tippen Sie auf Jetzt wiederholen, um sofort zu versuchen, alle ausstehenden Check-ins zu synchronisieren. Dies ist nützlich, wenn Sie wissen, dass die Verbindung wiederhergestellt wurde.

Automatische Synchronisierung

Die App versucht automatisch, ausstehende Check-ins zu synchronisieren, wenn:

  • Die Netzwerkverbindung nach einem Offline-Zustand wiederhergestellt wird
  • Die App in den Vordergrund zurückkehrt

In den meisten Fällen ist kein manuelles Eingreifen erforderlich.

Ticketstatus-Synchronisierung

Die App lädt regelmäßig aktualisierte Ticketstatus vom Server für jede registrierte Veranstaltung herunter. Diese Synchronisierung:

  • Läuft alle paar Minuten im Hintergrund
  • Wird auch ausgelöst, wenn die App in den Vordergrund zurückkehrt
  • Lädt den aktuellen Status aller Tickets herunter (welche widerrufen sind, welche bereits eingecheckt sind)

Dies ermöglicht es dem Scanner, widerrufene oder bereits verwendete Tickets auch im Offline-Modus abzulehnen, da der letzte bekannte Status lokal zwischengespeichert ist.

Idempotenz

Jedem Check-in wird bei der Erstellung ein eindeutiger Bezeichner (Idempotenzschlüssel) zugewiesen. Das bedeutet:

  • Es ist sicher, ausstehende Check-ins mehrfach zu wiederholen
  • Der Server dedupliziert basierend auf diesem Schlüssel
  • Es besteht kein Risiko, dass ein Ticket aufgrund von Netzwerkwiederholungen doppelt als verwendet markiert wird

Verbindungserkennung

Die App überwacht die Netzwerkverbindung in Echtzeit. Wenn die Verbindung abbricht:

  • Scannen und Validierung funktionieren weiterhin normal
  • Check-ins werden lokal in die Warteschlange eingereiht, anstatt an den Server gesendet zu werden
  • Die Meldung "Zugelassen (Synchronisierung ausstehend)" erscheint nach jedem Offline-Check-in

Wenn die Verbindung wiederhergestellt wird:

  • Die ausstehende Warteschlange wird automatisch abgearbeitet
  • Erfolgreich synchronisierte Einträge werden aus der Warteschlange entfernt
  • Der Scan-Verlauf wird für synchronisierte Tickets von "ausstehend" auf "gültig" aktualisiert
  • Fehlgeschlagene Einträge verbleiben für den nächsten Wiederholungsversuch

Hinweis: Wenn Sie den Scan-Verlauf betrachten, während eine Hintergrundsynchronisierung abgeschlossen wird, müssen Sie möglicherweise die Ansicht verlassen und zurückkehren, um die aktualisierten Status zu sehen.

Bewährte Vorgehensweisen

  • Registrieren Sie Ihr Gerät, während Sie online sind. Die Erstregistrierung erfordert eine Internetverbindung, um Schlüssel und Ticketstatus herunterzuladen.
  • Synchronisieren Sie vor Veranstaltungsbeginn. Öffnen Sie die App bei bestehender Verbindung, um sicherzustellen, dass Sie die aktuellsten Ticketstatus und öffentlichen Schlüssel haben.
  • Prüfen Sie die Anzahl der ausstehenden Synchronisierungen nach der Veranstaltung, um sicherzustellen, dass alle Check-ins synchronisiert wurden.
  • Entfernen Sie eine Veranstaltung nicht, bis alle ausstehenden Check-ins synchronisiert wurden. Die App blockiert die Entfernung, wenn ausstehende Einträge vorhanden sind.