অ্যান্ড্রয়েড কাস্টম ট্যাবগুলি বিমানবন্দর, হোটেল এবং বিমানের মতো ক্যাপটিভ পোর্টালগুলির জন্য নেটওয়ার্ক লগইন প্রবাহের মধ্যে সরাসরি একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত, সুরক্ষিত এবং নিরবচ্ছিন্ন ব্রাউজার অভিজ্ঞতা প্রদান করে। ব্যবহারকারীর প্রাথমিক ব্রাউজারকে প্রমাণীকরণ প্রক্রিয়ায় একীভূত করে, কাস্টম ট্যাবগুলি উন্নত কার্যকারিতা সক্ষম করে যার মধ্যে রয়েছে শংসাপত্র এবং অর্থপ্রদানের জন্য এক-ট্যাপ অটোফিল, DRM-সুরক্ষিত স্ট্রিমিং এবং VPN এবং ব্যক্তিগত DNS এর মতো সুরক্ষা বৈশিষ্ট্য সহ ব্যবহারকারীদের জন্য সামঞ্জস্যপূর্ণ সংযোগ। কাস্টম ট্যাব সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড কাস্টম ট্যাবগুলির ওভারভিউ দেখুন।
লিগ্যাসি ওয়েবভিউ-এর সুবিধা
কাস্টম ট্যাব ব্যবহার করে ব্যবহারকারীর প্রাথমিক ব্রাউজারকে একীভূত করা নেটওয়ার্ক অপারেটরদের জন্য লিগ্যাসি ওয়েবভিউ-ভিত্তিক প্রমাণীকরণ প্রবাহের অন্তর্নিহিত বেশ কয়েকটি কার্যকরী সীমাবদ্ধতা সমাধান করে:
- সুবিন্যস্ত লেনদেন: ইন্টারফেসটি শংসাপত্র এবং সঞ্চিত অর্থপ্রদানের তথ্যের জন্য এক-ট্যাপ অটোফিল সমর্থন করে, লগইন প্রক্রিয়ার সময় ম্যানুয়াল ডেটা এন্ট্রি হ্রাস করে। (চিত্র 1 দেখুন।)
- মিডিয়া সামঞ্জস্যতা: প্ল্যাটফর্মটি DRM-সুরক্ষিত কন্টেন্ট (যেমন Widevine) সমর্থন করে, যা সরাসরি পোর্টালের মধ্যে এনক্রিপ্ট করা ভিডিও স্ট্রিমগুলির প্লেব্যাক সক্ষম করে। (চিত্র 2 দেখুন।)
- নিরাপত্তা কনফিগারেশনের জন্য সমর্থন: কাস্টম ট্যাবগুলি VPN বা ব্যক্তিগত DNS ব্যবহার করে এমন ডিভাইসগুলির জন্য পোর্টাল কার্যকারিতা বজায় রাখে, নিরাপত্তা বৈশিষ্ট্যগুলি প্রায়শই স্ট্যান্ডার্ড ব্রাউজার পুনঃনির্দেশনা ব্যর্থ করে।
- ইন্টারফেস সামঞ্জস্য: কাস্টম ট্যাবগুলি সরাসরি সিস্টেম ব্রাউজারের সাথে একীভূত হয়, যা সম্পূর্ণ ব্রাউজার সেশনে উপলব্ধ একই কার্যকরী সরঞ্জাম এবং UI উপাদান সরবরাহ করে।
- ব্যাকগ্রাউন্ড স্থায়িত্ব: পোর্টালটি ব্যাকগ্রাউন্ডে সক্রিয় থাকে, সংযোগের পুরো সময় জুড়ে একটি স্থায়ী অ্যাক্সেস পয়েন্ট হিসেবে কাজ করে।

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

চিত্র ২। ভিডিও প্লেব্যাক (কাস্টম ট্যাব) বনাম কোনও ভিডিও (ওয়েবভিউ) নেই।
কাস্টম ট্যাব আবিষ্কার এবং সংযোগ প্রবাহ
কাস্টম ট্যাবগুলি ইন্টারফেস প্রদান করলেও, ক্যাপটিভ পোর্টাল API সংযোগ গোয়েন্দা প্রবাহের আবিষ্কার পরিচালনা করে:
- আবিষ্কার: নেটওয়ার্কটি DHCP বিকল্প 114 ব্যবহার করে তার API সমর্থনের বিজ্ঞাপন দেয়।
- ইন্টারঅ্যাকশন: অ্যান্ড্রয়েড ডিভাইসটি নেটওয়ার্ক স্ট্যাটাস সম্বলিত একটি JSON পেলোড আনতে API এন্ডপয়েন্টকে জিজ্ঞাসা করে।
- সংযোগ: যদি JSON প্রতিক্রিয়া কাস্টম ট্যাব ব্যবহার করার ইঙ্গিত দেয়, তাহলে সিস্টেমটি একটি মৌলিক সিস্টেম উইন্ডোর পরিবর্তে একটি উচ্চ-কার্যক্ষমতাসম্পন্ন ব্রাউজার পরিবেশে পোর্টালটি খুলবে।
ক্যাপটিভ পোর্টাল API অ্যান্ড্রয়েড ডিভাইসগুলিকে captive ফিল্ড ব্যবহার করে কোনও ক্যাপটিভ পোর্টাল বিদ্যমান কিনা তা সনাক্ত করতে দেয়। API অন্যান্য ক্ষেত্র যেমন venue-info-url এবং seconds-remaining অ্যান্ড্রয়েড সিস্টেম UI-তে একীভূত করে।

চিত্র ৩। সংযোগ প্রবাহে ক্যাপটিভ পোর্টাল API আবিষ্কার।
অ্যান্ড্রয়েড কাস্টম ট্যাব সক্ষম করুন
কাস্টম ট্যাব প্রবাহকে সমর্থন করার জন্য, নেটওয়ার্ক অপারেটরদের ক্যাপটিভ পোর্টাল API বাস্তবায়ন করতে হবে এবং JSON কনফিগারেশনের মাধ্যমে অপ্ট ইন করতে হবে।
আবশ্যকতা
ক্যাপটিভ পোর্টাল লগইনের জন্য কাস্টম ট্যাব সক্ষম করতে নিম্নলিখিতগুলি প্রয়োজন:
- Android 12 এবং উচ্চতর ভার্সনে চলমান ডিভাইস যা Mainline
CaptivePortalLoginমডিউলের মাধ্যমে Google Play সিস্টেম আপডেট ( Mainline দেখুন) সমর্থন করে। - ক্যাপটিভ পোর্টাল API ( RFC 8908 ) এর জন্য সমর্থন। বিস্তারিত জানার জন্য, ক্যাপটিভ পোর্টাল API সমর্থন দেখুন।
অ্যান্ড্রয়েড কাস্টম ট্যাবগুলিতে অপ্ট ইন করুন
যদি আপনার নেটওয়ার্ক ইতিমধ্যেই ক্যাপটিভ পোর্টাল API (RFC 8908) সমর্থন করে, তাহলে কাস্টম ট্যাব প্রবাহ সক্ষম করতে আপনার বিদ্যমান JSON প্রতিক্রিয়া অবজেক্টে নিম্নলিখিত কী-মান জোড়া যোগ করুন:
| চাবি | মূল্য | বিবরণ |
|---|---|---|
x-android-use-custom-tabs | 361335020 | এই মানটি ২০২৬ সালের জানুয়ারীতে প্রকাশিত ক্যাপটিভ পোর্টাল লগইন মেইনলাইন মডিউলের সংস্করণ নম্বর উপস্থাপন করে। এই সংস্করণের সমান বা তার চেয়ে নতুন মডিউল আপডেট সহ ডিভাইসগুলি কাস্টম ট্যাব লগইন প্রবাহ ব্যবহার করে। |
এই উদাহরণে JSON অবজেক্টে Android দ্বারা সমর্থিত সমস্ত ক্যাপটিভ পোর্টাল অ্যাট্রিবিউট অন্তর্ভুক্ত রয়েছে:
{
"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: লগইন বা পেমেন্ট পৃষ্ঠার URL। -
venue-info-url: তথ্যের জন্য আপনার সাইটের একটি লিঙ্ক (উদাহরণস্বরূপ, ফ্লাইটের বিবরণ বা মানচিত্র)। -
seconds-remaining: ডিভাইসটি ইন্টারনেট সংযোগ বজায় রাখার জন্য অবশিষ্ট সময় (সেকেন্ডে) নির্দেশ করে। -
x-android-use-custom-tabs: ডিভাইসটি উপলব্ধ থাকলে কাস্টম ট্যাব ব্যবহার করবে কিনা তা নিয়ন্ত্রণ করে।
ক্যাপটিভ পোর্টাল API সমর্থন করুন
যদি আপনার নেটওয়ার্ক ক্যাপটিভ পোর্টাল API সমর্থন না করে, তাহলে ক্যাপটিভ পোর্টাল API এবং কাস্টম ট্যাব প্রবাহ সক্ষম করতে এই পদক্ষেপগুলি অনুসরণ করুন।
DHCP বিকল্প ১১৪ অন্তর্ভুক্ত করার জন্য আপনার DHCP সার্ভার কনফিগারেশন আপডেট করুন।
মান: ক্যাপটিভ পোর্টাল তথ্য ধারণকারী গতিশীলভাবে তৈরি JSON ফাইলের সম্পূর্ণ HTTPS URL প্রদান করুন (উদাহরণস্বরূপ,
https://api.yourvenue.com/status)।ফলাফল: যখন একটি অ্যান্ড্রয়েড ডিভাইস নেটওয়ার্কে যোগ দেয়, তখন এটি ব্রাউজার পুনঃনির্দেশের জন্য অপেক্ষা করার পরিবর্তে প্রদত্ত API-কে জিজ্ঞাসা করে।
আপনার API সার্ভারটি এমনভাবে কনফিগার করুন যাতে প্রদত্ত URL-এ HTTP GET অনুরোধের জবাব দিতে পারে এমন একটি JSON ফাইল ব্যবহার করা যা ডিভাইসটিকে পোর্টালের বর্তমান অবস্থা সম্পর্কে অবহিত করে।
HTTPS প্রয়োজনীয়তা: আপনার API সার্ভারকে অবশ্যই একটি বৈধ HTTPS সার্টিফিকেট ব্যবহার করতে হবে।
নিরাপত্তা ফলব্যাক: যদি শংসাপত্রটি অবৈধ হয় বা স্ব-স্বাক্ষরিত হয়, তাহলে ডিভাইসটি লিগ্যাসি ক্যাপটিভ পোর্টাল আচরণে ফিরে যাবে।
অ্যান্ড্রয়েড ক্যাপটিভ পোর্টাল সনাক্তকরণ আচরণ
ক্যাপটিভ পোর্টাল API সাধারণ অসঙ্গতিগুলিকে এড়িয়ে ক্যাপটিভ পোর্টাল অস্তিত্ব সনাক্ত করার জন্য স্ট্যান্ডার্ড অ্যান্ড্রয়েড নেটওয়ার্ক প্রোবের একটি নির্ভরযোগ্য বিকল্প প্রদান করে।
অ্যান্ড্রয়েড ডিভাইসগুলি নির্দিষ্ট বৈধতা URL-এ একযোগে HTTP এবং HTTPS প্রোব পাঠিয়ে নেটওয়ার্ক অ্যাক্সেস পরীক্ষা করে। অসামঞ্জস্যপূর্ণ প্রোব সাফল্য (উদাহরণস্বরূপ, HTTP সফল হয় কিন্তু HTTPS ব্যর্থ হয়) আংশিক সংযোগের অবস্থা তৈরি করে, যা লগইন অ্যাপের স্বয়ংক্রিয় প্রদর্শনকে বাধা দিতে পারে।
ক্যাপটিভ পোর্টাল API নিম্নলিখিত সনাক্তকরণ আচরণ ব্যবহার করে সনাক্তকরণকে আরও নির্ভরযোগ্য করে তোলে:
- যদি API
"captive": trueরিপোর্ট করে, তাহলে সিস্টেমটি এটি একটি পোর্টালের পিছনে রয়েছে তা সনাক্ত করে এবং লগইন ইন্টারফেসটি তাৎক্ষণিকভাবে দেখানোর জন্য স্ট্যান্ডার্ড প্রোবগুলি এড়িয়ে যায়। - যদি API
"captive": falseরিপোর্ট করে, তাহলে সিস্টেমটি স্ট্যান্ডার্ড প্রোবগুলির সাথে এগিয়ে যায়, যার ফলে সম্পূর্ণ ইন্টারনেট অ্যাক্সেস নিশ্চিত করার আগে HTTP এবং HTTPS উভয় প্রোবই সফল হতে হবে।