Android এ WebAPKs

ব্যবহারকারী যখন Android এ তাদের হোম স্ক্রিনে আপনার প্রগ্রেসিভ ওয়েব অ্যাপ যোগ করে, তখন Chrome স্বয়ংক্রিয়ভাবে আপনার জন্য একটি APK তৈরি করে, যাকে আমরা কখনও কখনও WebAPK বলি। একটি APK এর মাধ্যমে ইনস্টল করা আপনার অ্যাপটিকে অ্যাপ লঞ্চারে, Android এর অ্যাপ সেটিংসে দেখানো এবং অভিপ্রায় ফিল্টারের একটি সেট নিবন্ধন করা সম্ভব করে তোলে।

অ্যান্ড্রয়েডে একটি পিডব্লিউএ ইনস্টল করা ব্যবহারকারীর হোম স্ক্রিনে প্রগতিশীল ওয়েব অ্যাপ যোগ করার চেয়ে আরও বেশি কিছু করে। Chrome স্বয়ংক্রিয়ভাবে আপনার অ্যাপের একটি বিশেষ APK তৈরি করে এবং ইনস্টল করে। আমরা কখনও কখনও এটিকে একটি WebAPK হিসাবে উল্লেখ করি৷ একটি APK এর মাধ্যমে ইনস্টল করা আপনার অ্যাপটিকে অ্যাপ লঞ্চারে, Android এর অ্যাপ সেটিংসে দেখানো এবং অভিপ্রায় ফিল্টারের একটি সেট নিবন্ধন করা সম্ভব করে তোলে।

WebAPK তৈরি করতে, Chrome ওয়েব অ্যাপ ম্যানিফেস্ট এবং অন্যান্য মেটাডেটা দেখে। যখন ম্যানিফেস্টে একটি আপডেট সনাক্ত করা হয়, তখন Chrome-কে একটি নতুন APK তৈরি করতে হবে৷

অ্যান্ড্রয়েড অভিপ্রায় ফিল্টার

যখন একটি প্রগ্রেসিভ ওয়েব অ্যাপ অ্যান্ড্রয়েডে ইনস্টল করা হয়, তখন এটি অ্যাপের সুযোগের মধ্যে থাকা সমস্ত URL-এর জন্য অভিপ্রায় ফিল্টারের একটি সেট নিবন্ধন করবে। যখন কোনও ব্যবহারকারী অ্যাপের সুযোগের মধ্যে থাকা কোনও লিঙ্কে ক্লিক করেন, তখন অ্যাপটি ব্রাউজার ট্যাবের মধ্যে খোলার পরিবর্তে খোলা হবে।

নিম্নলিখিত আংশিক manifest.json বিবেচনা করুন:

"start_url": "/",
"display": "standalone",

অ্যাপ লঞ্চার থেকে এটি ব্যবহার করে একটি ওয়েব অ্যাপ চালু হলে, এটি https://example.com/ একটি স্বতন্ত্র অ্যাপ হিসেবে কোনো ব্রাউজার ক্রোম ছাড়াই খুলবে।

WebAPK-তে নিম্নলিখিত উদ্দেশ্য ফিল্টারগুলি অন্তর্ভুক্ত থাকবে:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data
    android:scheme="https"
    android:host="example.com"
    android:pathPrefix="/" />
</intent-filter>

ব্যবহারকারী যদি একটি ইনস্টল করা অ্যাপের মধ্যে https://example.com/read এ একটি লিঙ্কে ক্লিক করেন, তাহলে এটি অভিপ্রায়ে ধরা পড়বে এবং প্রগ্রেসিভ ওয়েব অ্যাপে খোলা হবে।

অভিপ্রায় ফিল্টার সীমাবদ্ধ করার scope ব্যবহার করা

আপনি যদি না চান যে আপনার প্রগ্রেসিভ ওয়েব অ্যাপ আপনার সাইটের সমস্ত URL গুলি পরিচালনা করুক, আপনি আপনার ওয়েব অ্যাপ ম্যানিফেস্টে scope প্রপার্টি যোগ করতে পারেন। scope প্রপার্টি অ্যান্ড্রয়েডকে শুধুমাত্র আপনার ওয়েব অ্যাপ খুলতে বলে যদি ইউআরএলটি origin + scope সাথে মেলে। এটি আপনাকে নিয়ন্ত্রণ করে যে কোন URLগুলি আপনার অ্যাপ দ্বারা পরিচালনা করা হবে এবং কোনটি ব্রাউজারে খোলা উচিত। আপনার অ্যাপ এবং অন্যান্য নন-অ্যাপ সামগ্রী একই ডোমেনে থাকলে এটি সহায়ক।

নিম্নলিখিত আংশিক manifest.json বিবেচনা করুন:

"scope": "/app/",
"start_url": "/app/",
"display": "standalone",

অ্যাপ লঞ্চার থেকে চালু হলে, এটি https://example.com/app/ একটি স্বতন্ত্র অ্যাপ হিসেবে কোনো ব্রাউজার ক্রোম ছাড়াই খুলবে।

আগের মতই, জেনারেট করা WebAPK-এ একটি ইন্টেন্ট ফিল্টার থাকবে, কিন্তু APK-এর AndroidManifest.xml এ একটি ভিন্ন android:pathPrefix অ্যাট্রিবিউট সহ:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data
    android:scheme="https"
    android:host="example.com"
    android:pathPrefix="/app/" />
</intent-filter>

আসুন কয়েকটি উদাহরণ দেখে নেওয়া যাক:

করবেন

https://example.com/app/ - /app/ এর মধ্যে

করবেন

https://example.com/app/read/book - /app/ এর মধ্যে

করবেন না

https://example.com/help/ - /app/ এ নেই

করবেন না

https://example.com/about/ - /app/ এ নেই

scope সম্পর্কে আরও তথ্যের জন্য scope দেখুন, আপনি এটি সেট না করলে কী ঘটে এবং আপনি কীভাবে আপনার অ্যাপের সুযোগ নির্ধারণ করতে এটি ব্যবহার করতে পারেন।

অনুমতি ব্যবস্থাপনা

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

স্টোরেজ এবং অ্যাপের অবস্থা পরিচালনা করা

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

WebAPK আপডেট করা হচ্ছে

কিভাবে একটি WebAPK আপডেট করা হয় তার তথ্য সরানো হয়েছে কিভাবে Chrome ওয়েব অ্যাপ ম্যানিফেস্টে আপডেট পরিচালনা করে

সচরাচর জিজ্ঞাস্য

স্প্ল্যাশ স্ক্রিন তৈরি করতে কোন আইকন ব্যবহার করা হয়? :
আমরা আপনাকে কমপক্ষে দুটি আইকন প্রদান করার পরামর্শ দিই: স্প্ল্যাশ স্ক্রিনের জন্য 192px এবং 512px । আমরা আপনার কাছ থেকে শুনেছি যে স্প্ল্যাশ স্ক্রিনে আইকনগুলি খুব ছোট ছিল৷ ক্রোম 71 বা তার পরে তৈরি হওয়া WebAPKগুলি স্প্ল্যাশ স্ক্রিনে একটি বড় আইকন দেখাবে৷ যতক্ষণ প্রস্তাবিত আইকনগুলি সরবরাহ করা হয় ততক্ষণ কোনও পদক্ষেপের প্রয়োজন নেই।
ব্যবহারকারী ইতিমধ্যে সাইটের জন্য নেটিভ অ্যাপ ইনস্টল করে থাকলে কি হবে?
আজকের হোম স্ক্রিনে যোগ করার মতো, ব্যবহারকারীরা যেকোন নেটিভ অ্যাপ থেকে স্বাধীন একটি সাইট যোগ করতে সক্ষম হবেন। আপনি যদি আশা করেন যে ব্যবহারকারীরা সম্ভাব্যভাবে উভয়ই ইনস্টল করবেন, আমরা আপনার নেটিভ অ্যাপ থেকে আপনার সাইটের আইকন বা নামটি আলাদা করার পরামর্শ দিই।
ব্যবহারকারী Chrome এর ক্যাশে সাফ করলে কি আমার ইনস্টল করা সাইটের স্টোরেজ সাফ হয়ে যাবে?
হ্যাঁ.
যখন আমি একটি নতুন ডিভাইস পাই তখন কি আমার অ্যাপ পুনরায় ইনস্টল করা হবে?
এই সময়ে নয়, তবে আমরা মনে করি এটি একটি গুরুত্বপূর্ণ এলাকা এবং আমরা এটিকে কার্যকর করার উপায়গুলি তদন্ত করছি৷
অনুমতি কিভাবে পরিচালনা করা হয়? আমি কি Chrome প্রম্পট বা Android এর দেখতে পাব?
অনুমতি এখনও Chrome এর মাধ্যমে পরিচালিত হবে। ব্যবহারকারীরা অনুমতি দেওয়ার জন্য Chrome প্রম্পটগুলি দেখতে পাবেন এবং Chrome সেটিংসে সেগুলি সম্পাদনা করতে সক্ষম হবেন৷
অ্যান্ড্রয়েডের কোন সংস্করণে এটি কাজ করবে?
প্রগতিশীল ওয়েব অ্যাপগুলি Android এর সমস্ত সংস্করণে ইনস্টল করা যেতে পারে যা Android এর জন্য Chrome চালায়, বিশেষ করে Jelly Bean এবং তার উপরে।
এটি কি WebView ব্যবহার করে?
না, সাইটটি ক্রোমের সংস্করণে খোলে যে ব্যবহারকারী সাইটটি যোগ করেছেন।
আমরা কি প্লে স্টোরে তৈরি করা APKগুলি আপলোড করতে পারি?
না। আপনি যদি নিজের APK আপলোড করতে চান, বিশ্বস্ত ওয়েব কার্যকলাপ দেখুন।
এগুলি কি প্লে স্টোরে তালিকাভুক্ত?
না। আপনি যদি প্লে স্টোরে তালিকাভুক্তির জন্য নিজের APK আপলোড করতে চান, তাহলে বিশ্বস্ত ওয়েব অ্যাক্টিভিটিগুলি দেখুন।
আমি অ্যান্ড্রয়েডে অন্য একটি ব্রাউজারের বিকাশকারী, আমি কি এই নির্বিঘ্ন ইনস্টল প্রক্রিয়াটি পেতে পারি? :
আমরা এর উপর কাজ করছি. আমরা এটিকে অ্যান্ড্রয়েডের সমস্ত ব্রাউজারে উপলব্ধ করতে প্রতিশ্রুতিবদ্ধ এবং শীঘ্রই আমাদের আরও বিশদ বিবরণ থাকবে৷