En QR-kod med djuplänk öppnar en bestämd vy inne i en app i stället för en webbsida. Frågan som avgör om det fungerar handlar inte om koden — den handlar om vad som händer när den som skannar saknar appen.
Payloaden är en vanlig adress, så Webbplats-URL gör samma kod här. Allt som skiljer en djuplänk sker efter skanningen, i hur telefonen avgör vem som ska hantera adressen.
Två mekanismer, och bara en faller mjukt. Ett eget schema är ett privat ord som bara den installerade appen svarar på; på en telefon utan den ger skanningen ett fel eller ingenting, utan förklaring. En https-länk tas av appen när den finns och hanteras av webbläsaren när den inte gör det — därför är den rätt val för allt som trycks.
Här är appen sällan din egen. Koderna leder oftast in i en banks, ett transportbolags eller en myndighets app, så kopplingsfilen ligger på någon annans server. Är länken inte din, testa den på en ren telefon före upplagan: någon annans domän kan du inte laga.
Koden känner ingenting av. Den har ingen logik; den är en teckensträng. Allt beteende av typen «öppna appen om den finns, annars butiken» hör till systemet eller målsidan, aldrig till koden.
En kod som öppnar registreringen eller supporten för just den produkten, i stället för appens startsida.
Ett tryckt steg som tar personen till rätt vy, där alternativet är ett stycke navigeringsinstruktioner.
En länk som bär en kampanj eller värvare, så att affisch och e-post kan skiljas åt inne i appen.
Egna scheman misslyckas tyst. På en telefon utan appen ger myapp://nagot ett fel eller ingenting alls. Använd en https-länk så att det alltid finns någonstans att landa.
Kopplingsfilen måste vara live före tryck. Är domänen inte registrerad i appen öppnar varje länk webbläsaren i stället — korrekt beteende, och omöjligt att skilja från ett fel.
Ingenting överlever att appen avinstalleras eller läggs ner. Den tryckta koden lever längre än appversioner; målet måste betyda något även när vyn den pekade på är borta.
Parametrarna är offentliga. Att avkoda den tryckta koden avslöjar hela adressen, värvningskoder inkluderade.
Långa länkar med parametrar ger täta koder: en adress på 40 tecken är 29 moduler bred och en på 98 tecken 41, mätt med sajtens kodare vid samma felkorrigering.