এমবেডেড ওয়েব ব্যবহার করে ইন-অ্যাপ ব্রাউজিং

ইন-অ্যাপ ব্রাউজারগুলি আপনার ব্যবহারকারীদের আপনার অ্যাপ ছেড়ে না গিয়েই একটি সম্পূর্ণ ওয়েব অভিজ্ঞতা প্রদান করে। অ্যান্ড্রয়েড ইন-অ্যাপ ব্রাউজার বাস্তবায়নের জন্য দুটি প্রাথমিক API অফার করে: কাস্টম ট্যাব এবং ওয়েবভিউ । যখন আপনার কাছে এমন কোনও লিঙ্ক বা বিজ্ঞাপন থাকে যা কোনও ওয়েব পৃষ্ঠায় নিয়ে যায় তখন একটি ইন-অ্যাপ ব্রাউজার ব্যবহার করুন। আপনি সেই পৃষ্ঠাটি আপনার অ্যাপের ভিতরেই খুলতে পারেন, যেমনটি আপনি চিত্র 1 এ দেখতে পাচ্ছেন।

লাল বাক্সে একটি ইন-অ্যাপ লিঙ্ক, এবং অন্য স্ক্রিনের দিকে নির্দেশিত একটি তীর  দেখানো হচ্ছে যে লিঙ্কটি একটি কাস্টম ট্যাব দিয়ে খোলা হয়েছে।
চিত্র ১. একটি ইন-অ্যাপ লিঙ্কে (বামে) ক্লিক করা এবং একটি কাস্টম ট্যাব (ডানে) ব্যবহার করে একটি ইন-অ্যাপ ব্রাউজার খোলা।

কাস্টম ট্যাব এবং ওয়েবভিউয়ের মধ্যে নির্বাচন করা একটি বড় স্থাপত্য সিদ্ধান্ত যা আপনার ডেভেলপমেন্টের গতি, ব্যবহারকারীর অভিজ্ঞতা এবং UI এর উপর আপনার কতটা নিয়ন্ত্রণ আছে তা প্রভাবিত করে।

দ্রুত তুলনা

কোন টুলটি আপনার প্রয়োজনের সাথে খাপ খায় তা নির্ধারণ করতে নিম্নলিখিত টেবিলটি ব্যবহার করুন:

বৈশিষ্ট্য ওয়েবভিউ কাস্টম ট্যাব
প্রাথমিক ব্যবহারের ক্ষেত্রে প্রাথমিক বা সহায়ক কন্টেন্ট হিসেবে ওয়েব ব্যবহার করে হাইব্রিড অ্যাপ তৈরি করা, বিজ্ঞাপন প্রদর্শন করা, অ্যাপ-মধ্যস্থ প্রচারণা, অথবা পরিষেবার শর্তাবলী পৃষ্ঠা। বাইরের ওয়েবসাইট (যেমন সংবাদ নিবন্ধ বা পণ্য পৃষ্ঠা) থেকে কন্টেন্ট প্রদর্শন করা।
UI নিয়ন্ত্রণ সম্পূর্ণ। এটি একটি View কম্পোনেন্ট যা আপনি যেকোনো জায়গায় রাখতে পারেন। আপনি আশেপাশের সমস্ত UI নিয়ন্ত্রণ করেন। সীমিত। আপনি টুলবারের রঙ থিম করতে পারেন এবং কিছু কাস্টম অ্যাকশন যোগ করতে পারেন।
ডেটা এবং সেশন স্যান্ডবক্সড। এটি ব্যবহারকারীর প্রধান ব্রাউজারের সাথে কুকিজ বা লগইন শেয়ার করে না। শেয়ার করা। এটি ব্যবহারকারীর ডিফল্ট ব্রাউজার সেশন ব্যবহার করে, যার মধ্যে কুকিজ এবং সংরক্ষিত পাসওয়ার্ড অন্তর্ভুক্ত।
নেটিভ <-> ওয়েব ব্রিজ হ্যাঁ। ওয়েব কন্টেন্ট এবং নেটিভ অ্যাপ কোডের মধ্যে গভীর, দ্বিমুখী যোগাযোগের জন্য আপনি একটি জাভাস্ক্রিপ্ট ব্রিজ ব্যবহার করতে পারেন। সীমিত। আপনি মৌলিক স্ট্রিং পাসিংয়ের জন্য window.postMessage() পদ্ধতি ব্যবহার করতে পারেন।
ডেভেলপারের প্রচেষ্টা উচ্চ। জীবনচক্র, নেভিগেশন এবং কর্মক্ষমতা আপনাকে নিজেই পরিচালনা করতে হবে। কম। আপনি মাত্র কয়েকটি লাইন কোড দিয়ে এটি বাস্তবায়ন করতে পারেন।

ওয়েবভিউ

ওয়েবভিউ হলো এমন একটি ভিউ যা ওয়েব পৃষ্ঠাগুলিকে আপনার অ্যাপের লেআউটের একটি অবিচ্ছেদ্য অংশ করে তোলে। এটি শক্তিশালী, কিন্তু কাস্টম ট্যাবের তুলনায় এটি পরিচালনা করা একটু বেশি জটিল।

WebView দূরবর্তী বা স্থানীয় ওয়েব কন্টেন্ট লোড করতে পারে, JavaScript চালাতে পারে এবং আপনার ওয়েব কন্টেন্ট এবং নেটিভ অ্যাপ কোডের মধ্যে দ্বিমুখী যোগাযোগ সক্ষম করতে পারে। এর ক্ষমতা সম্পর্কে আরও জানতে, WebView কী করতে পারে তা দেখুন।

আপনি আপনার অ্যাপের অংশ হিসেবে একটি ওয়েব অ্যাপ্লিকেশন সরবরাহ করতে অথবা একটি অনলাইন ওয়েব পৃষ্ঠা প্রদর্শন করতে WebView ব্যবহার করতে পারেন। উদাহরণস্বরূপ, একটি শেষ-ব্যবহারকারী চুক্তি যা আপনাকে পর্যায়ক্রমে আপডেট করতে হবে। আরও জানতে, WebView-এ ওয়েব অ্যাপ তৈরি করুন দেখুন।

কেন আপনার ওয়েবভিউ বেছে নেওয়া উচিত

নিচে কিছু পরিস্থিতি দেওয়া হল যেখানে WebView উপযুক্ত:

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

মূল বিনিময়

WebView ব্যবহার করার সময় বিবেচনা করার জন্য কিছু গুরুত্বপূর্ণ বিনিময়-বিষয় নিচে দেওয়া হল:

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

কাস্টম ট্যাব

ব্যবহারকারীদের বহিরাগত URL-এ নির্দেশিত করার জন্য কাস্টম ট্যাবগুলি একটি দুর্দান্ত পছন্দ, কারণ এগুলি একটি দ্রুত, নিরাপদ এবং ব্যবহারকারী-বান্ধব ব্রাউজার উইন্ডো প্রদান করে যা আপনার অ্যাপের উপর দিয়ে স্লাইড করে।

কেন আপনার কাস্টম ট্যাব বেছে নেওয়া উচিত

কাস্টম ট্যাবগুলি উপযুক্ত এমন কিছু পরিস্থিতিতে নিম্নলিখিতগুলি দেওয়া হল:

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

যদিও বেশিরভাগ ব্রাউজার কাস্টম ট্যাব সমর্থন করে, কিছু ব্রাউজার অন্যদের তুলনায় বেশি কাস্টমাইজেশন অফার করে। আরও তথ্যের জন্য, ব্রাউজার সাপোর্ট দেখুন।

জেটপ্যাক কম্পোজে ওয়েব কন্টেন্ট ব্যবহার করুন

জেটপ্যাক কম্পোজ দিয়ে তৈরি করার সময় আপনি কাস্টম ট্যাব এবং ওয়েবভিউ উভয়ই ব্যবহার করতে পারেন:

  • কাস্টম ট্যাব: যেহেতু কাস্টম ট্যাবগুলি একটি Intent ব্যবহার করে, তাই আপনি আপনার Compose ফাংশনের যেকোনো Context থেকে এগুলি চালু করতে পারেন, যা একটি নিরবচ্ছিন্ন ইন্টিগ্রেশনের জন্য।
  • ওয়েবভিউ: কম্পোজে এখনও কোনও নেটিভ ওয়েবভিউ কম্পোজেবল নেই, তাই আপনার লেআউটে একটি স্ট্যান্ডার্ড ওয়েবভিউ এম্বেড করতে আপনাকে AndroidView ব্যবহার করতে হবে।

অতিরিক্ত সম্পদ

WebViews অথবা Custom Tabs API ব্যবহার করে Android-চালিত ডিভাইসের জন্য ওয়েব পৃষ্ঠা তৈরি করতে, নিম্নলিখিত নথিগুলি দেখুন: