HeadlinesBriefing favicon HeadlinesBriefing.com

QR কোড উপযুক্ত অ্যাপ স্টোরে রুট

Hacker News •
×

যখন আমি এই সপ্তাহের শুরুতে Poker Nexus ঘোষণা করি, তখন আমি পাশাপাশি উল্লেখ করি যে এটি "মুদ্রিত লিঙ্কের জন্য একটি পৃথক শর্টলিংক হোস্ট" স্থাপন করে। এই পোস্টটি সেই হোস্ট কী করে এবং কেন এটি এইভাবে তৈরি করা হয়েছে তা কভার করে। লক্ষ্যটি সহজ ছিল। আমি ব্যবসায়িক কার্ড চেয়েছিলাম যার পিছনে একটি QR কোড থাকবে যাতে "ডাউনলোড" লেখা থাকে। সমস্যা হল একটি QR কোড ঠিক একটি URL এনকোড করে, যখন "অ্যাপ ডাউনলোড করুন" মানে তিনটি ভিন্ন জায়গা যারা এটি স্ক্যান করে তার উপর নির্ভর করে: একটি iPhone-কে App Store তালিকায় অবতরণ করা উচিত, একটি Android ফোনকে Google Play তালিকায়, এবং বাকি সবকিছু (একটি ল্যাপটপ, একটি ক্রলার, একটি ডিভাইস যা আমি সনাক্ত করতে পারি না) ওয়েবসাইটে অবতরণ করা উচিত। মুদ্রিত কার্ডগুলি কারও ওয়ালেটে আসার পরে আপডেট করা যায় না, তাই সেগুলির URL কাজ করতে থাকে এমনকি যদি গন্তব্যগুলি পরে পরিবর্তিত হয়। উভয় সমস্যা একই উত্তরের দিকে নির্দেশ করে: একটি URL প্রিন্ট করুন যা আমি নিয়ন্ত্রণ করি, এবং সার্ভারকে সিদ্ধান্ত নিতে দিন প্রতিটি অনুরোধ কোথায় যায়। কার্ডগুলি `https://go.pokernexus.com/app` নির্দেশ করে।

আমি আমার QR কোড জেনারেটর দিয়ে QR কোড নিজেই তৈরি করেছি। এটি সম্পূর্ণরূপে ব্রাউজারে চলে এবং একটি সরল SVG বা PNG রপ্তানি করে, যা একটি প্রিন্ট শপ চায়। একটি ছোট URL কম ঘন কোড উৎপন্ন করে, এবং কম ঘন কোডে বড় মডিউল থাকে যা ব্যবসায়িক কার্ডের আকারে আরও নির্ভরযোগ্যভাবে স্ক্যান করে। `go.pokernexus.com/app` কম QR সংস্করণে থাকার জন্য যথেষ্ট ছোট। মাঝখানে একটি লোগো রাখা কিছু মডিউল ঢেকে দেয়, তাই কোডকে তাদের জন্য ক্ষতিপূরণ দিতে ত্রুটি সংশোধনের উপর নির্ভর করতে হয়। জেনারেটর একটি কেন্দ্র আইকন যোগ করার সাথে সাথে স্তরটি H (প্রায় 30% পুনরুদ্ধারযোগ্য) এ বাড়িয়ে দেয়, যা Poker Nexus ক্লাবকে স্ক্যান ভাঙা ছাড়াই মাঝখানে বসতে দেয়।

হোস্টটি একটি ছোট স্বতন্ত্র Hono অ্যাপ দ্বারা পরিবেশিত হয়। প্রতিটি জায়গা যেখানে এটি কাউকে পাঠাতে পারে তা একটি `Destination` হিসাবে বর্ণিত হয়: একটি URL, প্লাস একটি ফ্ল্যাগ যা বলে যে আগত কোয়েরি স্ট্রিংটি এটিতে কপি করা উচিত কিনা। রাউটিং টেবিল প্রতিটি পাথকে একটি `Target`-এ ম্যাপ করে, যা হয় একটি নির্দিষ্ট `Destination` বা একটি ফাংশন যা অনুরোধের ভিত্তিতে একটি বেছে নেয়। সিদ্ধান্তটি শুধুমাত্র `User-Agent` হেডারে নেওয়া হয়। প্রতিটি শাখা যা একটি আত্মবিশ্বাসী ম্যাচ নয় তা ওয়েবসাইটে পড়ে। সেই অসমতা ইচ্ছাকৃত। একটি ভুল উত্তর যা ওয়েবসাইটে অবতরণ করে তা এখনও একটি কাজের পৃষ্ঠা, যখন একটি ভুল উত্তর যা একটি স্টোরে অবতরণ করে তা একটি ডিভাইসের জন্য একটি ইনস্টল প্রম্পট যা অ্যাপ চালাতে পারে না।

সেই পরীক্ষাগুলির ক্রম উপেক্ষা করা সহজ। Google-এর স্মার্টফোন ক্রলারগুলি ফোন হিসাবে চিহ্নিত করে এবং তাদের নিজস্ব নাম যোগ করে, তাই Android ক্রলারের ইউজার এজেন্টে `Android` থাকে এবং iOS-এ `iPhone` থাকে। বটগুলি প্রথমে পরীক্ষা করা হয় যাতে তারা স্টোরে নয়, ওয়েবসাইটে অবতরণ করে।

মূল সত্তা: কোম্পানি: Poker Nexus, Google, Apple