ক্যাপটিভ পোর্টাল লগইনের জন্য অ্যান্ড্রয়েড কাস্টম ট্যাব বাস্তবায়ন করুন

অ্যান্ড্রয়েড কাস্টম ট্যাব, বিমানবন্দর, হোটেল এবং বিমানের মতো ক্যাপটিভ পোর্টালগুলির জন্য নেটওয়ার্ক লগইন প্রক্রিয়ার মধ্যেই সরাসরি একটি পূর্ণাঙ্গ, সুরক্ষিত এবং নির্বিঘ্ন ব্রাউজার অভিজ্ঞতা প্রদান করে। ব্যবহারকারীর প্রধান ব্রাউজারকে প্রমাণীকরণ প্রক্রিয়ার সাথে একীভূত করার মাধ্যমে, কাস্টম ট্যাব ক্রেডেনশিয়াল এবং পেমেন্টের জন্য এক-ট্যাপে অটোফিল, ডিআরএম-সুরক্ষিত স্ট্রিমিং এবং ভিপিএন ও প্রাইভেট ডিএনএস-এর মতো নিরাপত্তা বৈশিষ্ট্যযুক্ত ব্যবহারকারীদের জন্য ধারাবাহিক সংযোগের মতো উন্নত কার্যকারিতা সক্ষম করে। কাস্টম ট্যাব সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড কাস্টম ট্যাবের ওভারভিউ দেখুন।

ঐতিহ্যবাহী ওয়েবভিউ-এর তুলনায় সুবিধাগুলি

কাস্টম ট্যাব ব্যবহার করে ব্যবহারকারীর প্রাথমিক ব্রাউজারকে একীভূত করার মাধ্যমে নেটওয়ার্ক অপারেটরদের জন্য প্রচলিত ওয়েবভিউ-ভিত্তিক প্রমাণীকরণ প্রক্রিয়ার অন্তর্নিহিত বেশ কিছু কার্যকরী সীমাবদ্ধতা সমাধান করা হয়:

  • লেনদেন সহজতর: এই ইন্টারফেসটি ক্রেডেনশিয়াল এবং সংরক্ষিত পেমেন্টের তথ্য এক-ট্যাপে স্বয়ংক্রিয়ভাবে পূরণ করার সুবিধা দেয়, ফলে লগইন প্রক্রিয়ার সময় হাতে করে ডেটা লেখার প্রয়োজন কমে যায়। (চিত্র ১ দেখুন।)
  • মিডিয়া সামঞ্জস্যতা: প্ল্যাটফর্মটি ডিআরএম-সুরক্ষিত কন্টেন্ট (যেমন ওয়াইডভাইন) সমর্থন করে, যার ফলে সরাসরি পোর্টালের মধ্যেই এনক্রিপ্টেড ভিডিও স্ট্রিম প্লেব্যাক করা যায়। (চিত্র ২ দেখুন।)
  • নিরাপত্তা কনফিগারেশনের জন্য সমর্থন: কাস্টম ট্যাব ভিপিএন বা প্রাইভেট ডিএনএস ব্যবহারকারী ডিভাইসগুলির জন্য পোর্টালের কার্যকারিতা বজায় রাখে; এই নিরাপত্তা বৈশিষ্ট্যগুলির কারণে প্রায়শই সাধারণ ব্রাউজার রিডাইরেক্ট ব্যর্থ হয়।
  • ইন্টারফেসের সামঞ্জস্যতা: কাস্টম ট্যাবগুলো সরাসরি সিস্টেম ব্রাউজারের সাথে সংযুক্ত থাকে, ফলে একটি পূর্ণাঙ্গ ব্রাউজার সেশনে উপলব্ধ একই কার্যকরী টুল এবং UI উপাদানগুলো পাওয়া যায়।
  • পটভূমিতে স্থায়িত্ব: পোর্টালটি সংযোগের পুরো সময়কাল জুড়ে পটভূমিতে সচল থাকে এবং একটি স্থায়ী প্রবেশ পথ হিসেবে কাজ করে।

ক্যাপটিভ পোর্টাল ম্যানুয়াল ইনপুট এবং অটোফিল

চিত্র ১. ম্যানুয়াল ইনপুট (ওয়েবভিউ) বনাম অটোফিল (কাস্টম ট্যাব)।

বন্দী পোর্টাল ভিডিও প্লেব্যাক

চিত্র ২. ভিডিও নেই (ওয়েবভিউ) বনাম ভিডিও প্লেব্যাক (কাস্টম ট্যাব)।

কাস্টম ট্যাব আবিষ্কার এবং সংযোগ প্রবাহ

কাস্টম ট্যাব ইন্টারফেস প্রদান করলেও, ক্যাপটিভ পোর্টাল এপিআই ডিসকভারি থেকে কানেকশন ইন্টেলিজেন্স ফ্লো পরিচালনা করে:

  1. আবিষ্কার: নেটওয়ার্কটি DHCP অপশন 114 ব্যবহার করে তার API সমর্থনের বিজ্ঞাপন দেয়।
  2. মিথস্ক্রিয়া: অ্যান্ড্রয়েড ডিভাইসটি নেটওয়ার্ক স্ট্যাটাস সম্বলিত একটি JSON পেলোড আনার জন্য API এন্ডপয়েন্টে কোয়েরি করে।
  3. সংযোগ: যদি JSON রেসপন্স কাস্টম ট্যাব ব্যবহারের সংকেত দেয়, তাহলে সিস্টেম একটি সাধারণ সিস্টেম উইন্ডোর পরিবর্তে পোর্টালটি একটি উচ্চ-ক্ষমতাসম্পন্ন ব্রাউজার পরিবেশে খোলে।

ক্যাপটিভ পোর্টাল এপিআই অ্যান্ড্রয়েড ডিভাইসগুলোকে ‘ captive ফিল্ড ব্যবহার করে কোনো ক্যাপটিভ পোর্টাল আছে কিনা তা শনাক্ত করতে দেয়। এই এপিআই venue-info-url এবং seconds-remaining এর মতো অন্যান্য ফিল্ডগুলোকে অ্যান্ড্রয়েড সিস্টেম ইউআই-এর সাথে একীভূত করে।

ক্যাপটিভ পোর্টাল আবিষ্কার থেকে সংযোগ প্রবাহ

চিত্র ৩. ক্যাপটিভ পোর্টাল এপিআই আবিষ্কার থেকে সংযোগ প্রবাহ।

অ্যান্ড্রয়েড কাস্টম ট্যাব সক্রিয় করুন

কাস্টম ট্যাব ফ্লো সমর্থন করার জন্য, নেটওয়ার্ক অপারেটরদের অবশ্যই ক্যাপটিভ পোর্টাল এপিআই প্রয়োগ করতে হবে এবং JSON কনফিগারেশনের মাধ্যমে অপ্ট-ইন করতে হবে।

প্রয়োজনীয়তা

ক্যাপটিভ পোর্টাল লগইনের জন্য কাস্টম ট্যাব সক্রিয় করতে নিম্নলিখিত বিষয়গুলো প্রয়োজন:

  • অ্যান্ড্রয়েড ১২ বা তার উচ্চতর সংস্করণে চালিত ডিভাইস, যা মেইনলাইন CaptivePortalLogin মডিউলের মাধ্যমে গুগল প্লে সিস্টেম আপডেট সমর্থন করে ( মেইনলাইন দেখুন)।
  • ক্যাপটিভ পোর্টাল এপিআই ( RFC 8908 )-এর জন্য সমর্থন। বিস্তারিত জানতে, ক্যাপটিভ পোর্টাল এপিআই-এর সমর্থন দেখুন।

অ্যান্ড্রয়েড কাস্টম ট্যাবে অপ্ট ইন করুন

যদি আপনার নেটওয়ার্ক ইতিমধ্যেই ক্যাপটিভ পোর্টাল এপিআই (RFC 8908) সমর্থন করে, তাহলে কাস্টম ট্যাব ফ্লো সক্রিয় করতে আপনার বিদ্যমান JSON রেসপন্স অবজেক্টে নিম্নলিখিত কী-ভ্যালু পেয়ারটি যোগ করুন:

চাবি মূল্য বর্ণনা
x-android-use-custom-tabs 361335020 এই মানটি ২০২৬ সালের জানুয়ারিতে প্রকাশিত ক্যাপটিভ পোর্টাল লগইন মেইনলাইন মডিউলের সংস্করণ নম্বর নির্দেশ করে। যেসব ডিভাইসে এই সংস্করণের সমান বা তার চেয়ে নতুন মডিউল আপডেট রয়েছে, সেগুলোতে কাস্টম ট্যাব লগইন পদ্ধতি ব্যবহৃত হয়।

এই উদাহরণ JSON অবজেক্টটিতে অ্যান্ড্রয়েড দ্বারা সমর্থিত সমস্ত ক্যাপটিভ পোর্টাল অ্যাট্রিবিউট অন্তর্ভুক্ত রয়েছে:

{
  "captive": true,
  "user-portal-url": "https://login.example.com",
  "venue-info-url": "https://venue.example.com",
  "seconds-remaining": 3600,
  "x-android-use-custom-tabs": 361335020
}

নিম্নলিখিতগুলি হলো উপলব্ধ JSON ক্যাপটিভ পোর্টাল অ্যাট্রিবিউটসমূহ:

  • captive : প্রমাণীকরণের প্রয়োজন হলে true সেট করুন; ব্যবহারকারী আগে থেকেই অনলাইনে থাকলে false সেট করুন।
  • user-portal-url : লগইন বা পেমেন্ট পেজের ইউআরএল।
  • venue-info-url : তথ্যের জন্য আপনার সাইটের একটি লিঙ্ক (যেমন, ফ্লাইটের বিবরণ বা মানচিত্র)।
  • seconds-remaining : ডিভাইসটি কতক্ষণ (সেকেন্ডে) ইন্টারনেট সংযোগ বজায় রাখবে বলে আশা করা যায়, তা নির্দেশ করে।
  • x-android-use-custom-tabs : কাস্টম ট্যাব উপলব্ধ থাকলে ডিভাইসটি তা ব্যবহার করবে কিনা, তা এটি নিয়ন্ত্রণ করে।

ক্যাপটিভ পোর্টাল এপিআই সমর্থন করুন

যদি আপনার নেটওয়ার্ক ক্যাপটিভ পোর্টাল এপিআই সমর্থন না করে, তাহলে ক্যাপটিভ পোর্টাল এপিআই এবং কাস্টম ট্যাব ফ্লো সক্রিয় করতে এই ধাপগুলো অনুসরণ করুন।

  1. আপনার DHCP সার্ভার কনফিগারেশন আপডেট করে DHCP অপশন 114 অন্তর্ভুক্ত করুন।

    • মান: ডায়নামিকভাবে তৈরি হওয়া JSON ফাইলের সম্পূর্ণ HTTPS URL প্রদান করুন, যেটিতে ক্যাপটিভ পোর্টালের তথ্য থাকে (উদাহরণস্বরূপ, https://api.yourvenue.com/status )।

    • ফলাফল: যখন কোনো অ্যান্ড্রয়েড ডিভাইস নেটওয়ার্কে যুক্ত হয়, তখন এটি ব্রাউজারে পুনঃনির্দেশের জন্য অপেক্ষা না করে প্রদত্ত এপিআই-কে কোয়েরি করে।

  2. আপনার এপিআই সার্ভারকে এমনভাবে কনফিগার করুন যাতে এটি প্রদত্ত ইউআরএল-এ আসা একটি HTTP GET অনুরোধের জবাবে একটি JSON ফাইল পাঠায়, যা ডিভাইসটিকে পোর্টালটির বর্তমান অবস্থা সম্পর্কে অবহিত করবে।

    • HTTPS আবশ্যকতা: আপনার API সার্ভারে অবশ্যই একটি বৈধ HTTPS সার্টিফিকেট ব্যবহার করতে হবে।

    • নিরাপত্তা ফলব্যাক: যদি সার্টিফিকেটটি অবৈধ বা সেলফ-সাইন্ড হয়, তাহলে ডিভাইসটি পুরোনো ক্যাপটিভ পোর্টালের আচরণে ফিরে যায়।

অ্যান্ড্রয়েড ক্যাপটিভ পোর্টাল সনাক্তকরণ আচরণ

ক্যাপটিভ পোর্টাল এপিআই, প্রচলিত অসঙ্গতিগুলো এড়িয়ে, ক্যাপটিভ পোর্টালের অস্তিত্ব শনাক্ত করার জন্য স্ট্যান্ডার্ড অ্যান্ড্রয়েড নেটওয়ার্ক প্রোবের একটি নির্ভরযোগ্য বিকল্প প্রদান করে।

অ্যান্ড্রয়েড ডিভাইসগুলো নির্দিষ্ট ভ্যালিডেশন ইউআরএল-এ একই সাথে HTTP এবং HTTPS প্রোব পাঠিয়ে নেটওয়ার্ক অ্যাক্সেস পরীক্ষা করে। প্রোবের সাফল্য অসঙ্গত হলে (উদাহরণস্বরূপ, HTTP সফল হলেও HTTPS ব্যর্থ হলে) একটি আংশিক সংযোগ অবস্থা তৈরি হয়, যা লগইন অ্যাপের স্বয়ংক্রিয় প্রদর্শনে বাধা দিতে পারে।

ক্যাপটিভ পোর্টাল এপিআই নিম্নলিখিত ডিটেকশন আচরণ ব্যবহার করে সনাক্তকরণকে আরও নির্ভরযোগ্য করে তোলে:

  • যদি API "captive": true রিপোর্ট করে, তাহলে সিস্টেমটি বুঝতে পারে যে এটি একটি পোর্টালের পিছনে রয়েছে এবং সাধারণ অনুসন্ধান প্রক্রিয়া এড়িয়ে সরাসরি লগইন ইন্টারফেসটি দেখিয়ে দেয়।
  • যদি API "captive": false রিপোর্ট করে, তাহলে সিস্টেমটি সাধারণ প্রোব প্রক্রিয়া শুরু করে, এবং সম্পূর্ণ ইন্টারনেট অ্যাক্সেস নিশ্চিত করার আগে HTTP ও HTTPS উভয় প্রোবের সফল হওয়া আবশ্যক।

প্রতিক্রিয়া

মতামত জানাতে android-cct@google.com-এ আমাদের ইমেল করুন। সকলের সুবিধার জন্য আমাদের পণ্য এবং বৈশিষ্ট্যগুলি তৈরি ও উন্নত করতে আমরা আপনার মতামত ব্যবহার করতে পারি।