
iPhone liest den Code, Android nicht: die Ursachen
Auf Ihrem Messestand hebt eine Besucherin ihr iPhone, und die Seite öffnet sich, bevor das Gerät waagerecht ist. Der Mann daneben hält ein Android-Telefon auf dieselbe Karte, gleiches Licht, gleicher Abstand, und bekommt fünfzehn Sekunden lang nichts. Dann zuckt er mit den Schultern und geht weiter. Der Code ist in Ordnung. Was sich unterscheidet, ist alles darum herum.
Am gedruckten Code hat sich zwischen diesen beiden Versuchen nichts geändert. Geändert hat sich alles, was passiert, nachdem Licht auf den Sensor trifft: wie das Bild in dunkle und helle Pixel überführt wird, welche Software es versuchen darf, und was das Telefon mit der gewonnenen Zeichenkette anstellt.
Ein Decoder ist nicht ein Stück Software
Die Symbologie selbst ist genormt. Module, Suchmuster, Taktmuster, Fehlerkorrektur bei rund 7, 15, 25 und 30 Prozent für die Stufen L, M, Q und H, Versionen 1 bis 40, eine Ruhezone von vier Modulen. Darüber sind sich alle Decoder einig.
Nicht genormt ist der Aufwand. Nichts sagt einem Decoder, wie viele Einzelbilder er versuchen soll, bevor er aufgibt, wo er die Schwelle setzt, die graue Pixel in dunkel und hell teilt, wie viel perspektivische Verzerrung er korrigiert, oder ob er bei einer anderen Schwelle nochmal ansetzt, wenn der erste Durchgang scheitert. Das sind Umsetzungsentscheidungen, und sie unterscheiden sich zwischen Anbietern und zwischen Versionen desselben Produkts.
Das praktische Ergebnis: Ein grenzwertiger Code wird auf dem einen Telefon gelesen und stockt auf dem anderen, und beide Geräte verhalten sich korrekt. Ist Ihr Code für die Scanentfernung etwas zu klein, hat der Farbzuwachs die dunklen Module verdickt, oder ist der Kontrast auf Papier schwächer als am Bildschirm, dann verlassen Sie sich auf den nachsichtigeren Decoder. Das iPhone in der Geschichte hat nicht bewiesen, dass der Code in Ordnung ist. Es hat bewiesen, dass ein Decoder den Mangel toleriert. Die Mechanik dieses Lesevorgangs behandelt wie QR-Codes funktionieren.
Android ist nicht eine Kamera-App
Auf der Android-Seite gibt es keinen einzelnen Scanweg. Je nach Gerät und Systemversion kann der Code von der Standard-Kamera-App gelesen werden, von einer Scanfunktion, die der Hersteller seiner eigenen Kamerasoftware hinzugefügt hat, von Google Lens, von einer Kachel in den Schnelleinstellungen oder von einer Drittanbieter-App, die der Besitzer installiert hat. Manche dieser Wege sind standardmäßig aktiv. Manche stecken hinter einem Schalter in den Kameraeinstellungen. Manche erscheinen nur in einem bestimmten Modus.
Schließen Sie davon nichts aus der Marke auf der Rückseite des Telefons. Das Verhalten schwankt je nach Modell, Systemversion und Netzbetreiber-Build und ändert sich mit Updates. Die einzige Aussage, die trägt: Derselbe physische Code kann auf Android auf mehrere verschiedene Decoder treffen, und einer davon kann schwächer sein als die anderen.
Also testen statt raten:
- Öffnen Sie die Standard-Kamera-App, zielen Sie auf den Code und warten Sie zehn Sekunden, ohne das Telefon zu bewegen.
- Passiert nichts, suchen Sie in den Kameraeinstellungen nach einem Schalter für Scannen oder intelligente Vorschläge und schalten Sie ihn ein.
- Probieren Sie Google Lens oder die Scanner-Kachel in den Schnelleinstellungen, falls das Gerät eine hat.
- Probieren Sie eine dedizierte Scanner-App als Kontrolle. Liest die dedizierte App den Code und die Kamera-App nicht, ist das Symbol grenzwertig, nicht kaputt.
Lassen Sie die Person wie man einen QR-Code scannt durchgehen, bevor Sie den Druck für schuldig erklären. Ein erheblicher Teil der Meldungen "Android kann es nicht lesen" entpuppt sich als Scanfunktion, die nie eingeschaltet war.
Der Scan kann geklappt haben, ohne dass es jemand bemerkte
Die Umsetzungen unterscheiden sich auch darin, wie sie ein Ergebnis anzeigen. Manche zeigen eine dauerhafte Schaltfläche, verankert am Code im Sucher. Manche zeigen ein Banner, das nach ein, zwei Sekunden verblasst. Manche brauchen einen Tipp auf den erkannten Bereich, bevor sich etwas öffnet.
Wenn Ihre Testperson im falschen Moment weggeschaut hat, oder eine Benachrichtigung unterdrückt wurde, während das Telefon in einem Fokusmodus lag, dann hat die Dekodierung stattgefunden und die Übergabe nicht. Fragen Sie, was auf dem Bildschirm erschienen ist, nicht nur, ob der Link aufging.
Eine Nutzlast, für die niemand einen Handler hat
Hier gehen die Plattformen wirklich auseinander. Für eine schlichte https-URL gibt es auf jedem Telefon einen Handler. Für andere Nutzlasten nicht:
- Eigene App-Schemata scheitern, wenn die App nicht installiert ist. Die eine Plattform zeigt vielleicht eine Meldung "kann nicht geöffnet werden", die andere sichtbar gar nichts.
- WLAN-Netzwerknutzlasten werden vom Betriebssystem behandelt, und die Unterstützung hat sich über die Systemversionen hinweg verändert.
- geo-, tel-, sms- und mailto-Nutzlasten hängen davon ab, dass eine App dafür registriert ist. Ein Telefon ohne Registrierung hat niemanden, an den es die Nutzerin schicken könnte.
Kodieren Sie eine schlichte https-URL und lassen Sie die Landingpage die Übergabe machen. Eine Seite kann einen App-Link, einen Store-Link und einen Web-Rückfall so anbieten, wie es der Code selbst nicht kann. Mit einem dynamischen QR-Code können Sie dieses Ziel außerdem nach dem Druck der Karten umlenken, was an dem Tag zählt, an dem ein Deep Link aufhört zu funktionieren.
Der Browser, in dem Sie landen, ist nicht immer der Standardbrowser
Scannen aus einer Social- oder Messaging-App heraus öffnet meist deren eingebauten Browser statt des Standardbrowsers der Nutzerin. Der eingebaute Browser führt eigene Cookies und hat eigene Grenzen, eine im Hauptbrowser erstellte Sitzung ist dort also nicht vorhanden, und manche Seitenfunktionen laufen womöglich nicht.
Zwei Personen können identische Daten dekodieren und verschiedene Seiten sehen. Lautet die Meldung "auf dem iPhone geht es und auf Android zeigt es eine kaputte Seite", ist die Dekodierung in Ordnung und das Problem lebt im Ziel.
Was auf deutschen Android-Telefonen anders läuft
Planen Sie für ein deutsches Publikum keinen Feldversuch, der nur aus iPhones besteht. Auf dem Tisch liegen Geräte von Samsung, Xiaomi, Motorola und weiteren Herstellern, jedes mit eigener Kamera-App, eigener Voreinstellung für die Codeerkennung und eigener Bildverarbeitung. Bei älteren Huawei-Geräten ohne Google-Dienste fehlt Google Lens vollständig, und ein Code, der auf einen Play-Store-Link zeigt, endet dort in einer Fehlerseite. Wenn ein Code irgendwo scheitert, dann auf dem Gerät, an das niemand gedacht hat.
Ein zweiter, sehr deutscher Fall: Der Scan hat funktioniert, aber in der falschen App. GiroCodes auf Rechnungen und Spendenaufrufen sind reine Textblöcke ohne URL. Eine Banking-App füllt daraus ein Überweisungsformular, die Kamera-App zeigt nur Text oder gar nichts und wirkt dadurch defekt. Wer solche Codes ausgibt, schreibt am besten dazu, mit welcher App sie gelesen werden sollen.
Der dritte Punkt betrifft Diensthandys. In Betrieben mit Geräteverwaltung sind Kamerafunktionen, Standardbrowser und App-Installationen zentral gesetzt, und ein Code, der einen App-Download voraussetzt, läuft auf jedem dieser Telefone ins Leere. Für Material, das in Unternehmen ankommt, gehört der Weg über die mobile Webseite deshalb nicht in den Rückfall, sondern in die Hauptspur.
In dieser Reihenfolge diagnostizieren
- Reproduzieren Sie es mit einer dedizierten Scanner-App auf dem fehlschlagenden Telefon. Liest die es, ist das Symbol lesbar und das Problem liegt bei Gerätesoftware oder Nutzlast.
- Lesen Sie die dekodierte Zeichenkette, nicht nur das Ergebnis. Bestätigen Sie, dass es die erwartete URL ist und dass sie mit https beginnt.
- Vergleichen Sie die Druckgröße mit der Entfernung, aus der wirklich gescannt wird. Ein Code, der auf einem für zwei Meter gedachten Plakat nur aus 10 cm liest, ist zu klein, nicht inkompatibel.
- Prüfen Sie die Fehlerkorrekturstufe, wenn die Oberfläche angefasst oder zerkratzt wird. Hier gebaute Codes tragen immer die höchste der vier, es gibt also nichts zu erhöhen, aber ein Code aus einer anderen Quelle kann auf der niedrigsten sitzen: Fehlerkorrekturstufen zeigt, was jede einzelne bringt.
- Erst nach diesen vieren arbeiten Sie die vollständige Fehlersuchliste durch.
Bevor die Datei in die Druckerei geht, drucken Sie eine Testkarte in der geplanten Größe, auf dem Papier, das die Auflage bekommt. Geben Sie sie drei Android-Telefonen von drei Herstellern in die Hand, und zwar aus der Entfernung, in der Ihr Publikum tatsächlich stehen wird. Erst wenn alle drei lesen, ist die Datei fertig.


