HeadlinesBriefing favicon HeadlinesBriefing.com

Kode QR merutekan ke toko tepat

Hacker News •
×

Ketika saya mengumumkan Poker Nexus awal minggu ini, saya menyebutkan sepintas bahwa ia menggunakan "host tautan pendek terpisah untuk tautan cetak". Posting ini membahas apa yang dilakukan host itu dan mengapa dibangun seperti itu. Tujuannya sederhana. Saya ingin kartu nama dengan kode QR di bagian belakang yang bertuliskan "Unduh". Masalahnya adalah kode QR mengenkode tepat satu URL, sementara "unduh aplikasi" berarti tiga tempat berbeda tergantung siapa yang memindainya: iPhone harus mendarat di daftar App Store, ponsel Android di daftar Google Play, dan sisanya (laptop, crawler, perangkat yang tidak dapat saya identifikasi) harus mendarat di situs web. Kartu cetak juga tidak dapat diperbarui setelah berada di dompet seseorang, jadi URL di dalamnya harus tetap berfungsi bahkan jika tujuan berubah nanti. Kedua masalah menunjuk pada jawaban yang sama: cetak URL yang saya kendalikan, dan biarkan server memutuskan ke mana setiap permintaan pergi. Kartu menunjuk ke `https://go.pokernexus.com/app`.

Saya membuat kode QR itu sendiri dengan Generator Kode QR saya. Ia berjalan sepenuhnya di browser dan mengekspor SVG atau PNG polos, yang diinginkan toko cetak. URL pendek menghasilkan kode yang kurang padat, dan kode yang kurang padat memiliki modul lebih besar yang memindai lebih andal pada ukuran kartu nama. `go.pokernexus.com/app` cukup pendek untuk tetap pada versi QR rendah. Menempatkan logo di tengah menutupi beberapa modul, sehingga kode harus mengandalkan koreksi kesalahan untuk mengimbanginya. Generator menaikkan level ke H (sekitar 30% dapat dipulihkan) segera setelah ikon tengah ditambahkan, yang memungkinkan klub Poker Nexus duduk di tengah tanpa merusak pemindaian.

Host dilayani oleh aplikasi Hono mandiri kecil. Setiap tempat yang dapat dituju seseorang digambarkan sebagai `Destination`: URL, ditambah bendera yang mengatakan apakah string kueri masuk harus disalin ke dalamnya. Tabel perutean memetakan setiap jalur ke `Target`, yang merupakan `Destination` tetap atau fungsi yang memilih satu berdasarkan permintaan. Keputusan dibuat hanya pada header `User-Agent`. Setiap cabang yang bukan kecocokan percaya diri jatuh ke situs web. Asimetri itu disengaja. Jawaban salah yang mendarat di situs web masih merupakan halaman yang berfungsi, sementara jawaban salah yang mendarat di toko adalah prompt instalasi untuk perangkat yang tidak dapat menjalankan aplikasi.

Urutan pemeriksaan itu mudah diabaikan. Crawler pons pintar Google mengidentifikasi diri sebagai pons dan menambahkan nama mereka sendiri, sehingga agen pengguna crawler Android mengandung `Android` dan yang iOS mengandung `iPhone`. Bot diperiksa terlebih dahulu untuk memastikan mereka mendarat di situs web, bukan di toko.

Entitas Kunci: Perusahaan: Poker Nexus, Google, Apple