আপনার অ্যাপের বিবর্তনের সাথে সাথে, নতুন রিলিজগুলো ব্যাকএন্ড এপিআই-তে বড় ধরনের পরিবর্তন আনতে পারে, গুরুতর নিরাপত্তা দুর্বলতার সমাধান করতে পারে, অথবা অপ্রচলিত পরিষেবা এবং এআই মডেল প্রতিস্থাপন করতে পারে। এই পরিস্থিতিতে, অ্যাপের পূর্ববর্তী সংস্করণগুলো নির্ভরযোগ্যভাবে বা নিরাপদে কাজ করা বন্ধ করে দিতে পারে।
Remote Config ব্যবহার করে, আপনি ক্লাউড থেকে গতিশীলভাবে অ্যাপ ভার্সনের প্রয়োজনীয়তা নিয়ন্ত্রণ করতে পারেন। Remote Config -এ ভার্সন প্যারামিটার নির্ধারণ করার মাধ্যমে, আপনি কাস্টম সার্ভার পরিকাঠামো স্থাপন না করে বা কোনো জরুরি আপডেট প্রকাশ না করেই ব্যবহারকারীদের তাদের অ্যাপ আপডেট করার জন্য অনুরোধ বা বাধ্য করতে পারেন।
একটি আপডেট কৌশল বেছে নিন
Remote Config ক্লায়েন্টে মূল্যায়ন করার জন্য ভার্সন প্যারামিটার সরবরাহ করে, যা আপনাকে পরিবর্তনের তীব্রতার উপর নির্ভর করে দুটি কৌশলের যেকোনো একটির জন্য আপনার অ্যাপের আপডেট UI কনফিগার করার সুযোগ দেয়:
- বাধ্যতামূলক (অবরুদ্ধ) আপডেট : যদি অ্যাপের কোনো পুরোনো সংস্করণ আপনার ব্যাকএন্ডের সাথে সামঞ্জস্যপূর্ণ না হয় বা কোনো নিরাপত্তা ঝুঁকি তৈরি করে, তাহলে ব্যবহারকারী আপডেট না করা পর্যন্ত আপনি অ্যাপটিতে প্রবেশাধিকার ব্লক করতে পারেন। যখন ইনস্টল করা সংস্করণটি প্রয়োজনীয় ন্যূনতম সংস্করণের চেয়ে পুরোনো হয়, তখন আপনি আপনার অ্যাপটিকে এমনভাবে কনফিগার করতে পারেন যাতে এটি একটি অ-পরিষ্কারযোগ্য ডায়ালগ প্রদর্শন করে, যা ব্যবহারকারীকে সর্বশেষ সংস্করণটি ইনস্টল করার জন্য প্ল্যাটফর্ম অ্যাপ স্টোরে নির্দেশ দেয়।
- নমনীয় (ঐচ্ছিক) আপডেট : যদি কোনো আপডেটে নতুন ফিচার যুক্ত হয়, পারফরম্যান্স উন্নত হয়, বা ছোটখাটো বাগ সংশোধন করা হয়, তাহলে আপনি আপনার অ্যাপটিকে এমনভাবে কনফিগার করতে পারেন যাতে এটি একটি বাতিলযোগ্য ব্যানার বা প্রম্পট প্রদর্শন করে, যা ব্যবহারকারীদের তাদের সুবিধামতো আপডেট করতে উৎসাহিত করবে এবং একই সাথে তাদের অ্যাপটি ব্যবহার করাও চালিয়ে যেতে দেবে।
ধাপ ১: Firebase কনসোলে প্যারামিটার কনফিগার করুন
অ্যাপ সংস্করণগুলি পরিচালনা করতে, আপনার Remote Config টেমপ্লেটে প্যারামিটারগুলি নির্ধারণ করুন:
- Firebase কনসোলে, DevOps & Engagement > Remote Config > Parameters পৃষ্ঠায় যান।
- প্যারামিটার যোগ করুন -এ ক্লিক করুন (অথবা এটি আপনার প্রথম প্যারামিটার হলে কনফিগারেশন তৈরি করুন-এ ক্লিক করুন)।
- নিম্নলিখিত প্যারামিটারগুলো সংজ্ঞায়িত করুন:
-
minimum_version: একটি স্ট্রিং যা আপনার অ্যাপের সর্বপ্রথম সমর্থিত সংস্করণকে বোঝায় (উদাহরণস্বরূপ,"2.4.0")। এই মানের চেয়ে পুরোনো সংস্করণে চালিত অ্যাপগুলি আপডেট না করা পর্যন্ত ব্লক করা থাকবে। -
latest_version(ঐচ্ছিক) : একটি স্ট্রিং যা আপনার অ্যাপের সর্বশেষ উপলব্ধ সংস্করণকে বোঝায় (উদাহরণস্বরূপ,"2.5.1")।minimum_versionএবংlatest_versionমধ্যবর্তী কোনো সংস্করণে চালিত অ্যাপগুলো একটি ঐচ্ছিক আপডেটের সুপারিশ দেখাতে পারে। -
update_url(ঐচ্ছিক) : স্টোরের ইউআরএল, যেখান থেকে ব্যবহারকারীরা আপডেটটি ডাউনলোড করতে পারবেন (যেমন আপনার গুগল প্লে স্টোর বা অ্যাপল অ্যাপ স্টোরের তালিকা)।
-
- ঐচ্ছিক: প্ল্যাটফর্ম-নির্দিষ্ট শর্তাবলী যোগ করুন:
- যেহেতু অ্যান্ড্রয়েড এবং অ্যাপল অ্যাপগুলো প্রায়শই ভিন্ন রিলিজ সংস্করণ এবং স্টোর ইউআরএল ব্যবহার করে, তাই আপনি একই প্যারামিটারের অধীনে প্রতিটি প্ল্যাটফর্মের জন্য শর্তসাপেক্ষ মান যোগ করতে পারেন।
- ‘Add value for condition’- এ ক্লিক করুন > ‘Create condition’ । কন্ডিশনটির একটি নাম দিন (যেমন
Android AppবাiOS App), টার্গেটিং রুল হিসেবে ‘App’ নির্বাচন করুন এবং আপনার অ্যাপটি বেছে নিন। - প্রতিটি প্ল্যাটফর্মের জন্য উপযুক্ত ভার্সন স্ট্রিং সেট করুন এবং ফলব্যাক হিসেবে ডিফল্ট মানটি রাখুন।
- টেমপ্লেটটি প্রয়োগ করতে সেভ-এ ক্লিক করুন এবং তারপরে পাবলিশ চেঞ্জেস-এ ক্লিক করুন।
ধাপ ২: ক্লায়েন্ট-সাইড সংস্করণ যাচাইকরণ বাস্তবায়ন করুন
ক্লায়েন্টে, স্টার্টআপের সময় Remote Config প্যারামিটারগুলোর সাথে ইনস্টল করা অ্যাপের ভার্সনটি মিলিয়ে দেখুন:
- অ্যাপের অভ্যন্তরীণ ডিফল্ট মান সেট করুন : আপনার অ্যাপ বান্ডেলে সর্বদা নিরাপদ ডিফল্ট মান প্রদান করুন (উদাহরণস্বরূপ,
minimum_versionকে আপনার অ্যাপের প্রাথমিক রিলিজে সেট করুন, যেমন"1.0.0")। এই ফলব্যাক কনফিগারেশনটি নিশ্চিত করে যে ডিভাইসটি অফলাইনে থাকলেও বা প্রাথমিক ফেচ অনুরোধ ব্যর্থ হলেও আপনার অ্যাপ স্বাভাবিকভাবে কাজ করতে থাকবে। প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশনার জন্য, Remote Config টেমপ্লেট ডিফল্ট ডাউনলোড করুন" দেখুন। - Remote Config সংগ্রহ ও সক্রিয় করুন : আপনার অ্যাপ চালু হওয়ার সময় সর্বশেষ টেমপ্লেট মানগুলি সংগ্রহ ও সক্রিয় করুন।
সংস্করণ তুলনা করুন : সক্রিয়
minimum_versionএবংlatest_versionস্ট্রিংগুলো সংগ্রহ করুন এবং সেগুলোকে বর্তমানে ইনস্টল করা অ্যাপ সংস্করণের সাথে তুলনা করুন।সংস্করণ তুলনার ভিত্তিতে ব্যবস্থা নিন :
- প্রয়োজনীয় আপডেট কার্যকর করুন : যদি
current_version,minimum_versionচেয়ে পুরোনো হয়, তাহলে একটি পূর্ণ-স্ক্রিনের, অ-সরলীকরণযোগ্য মোডাল অ্যালার্ট প্রদর্শন করুন। অ্যাপের বাকি অংশে নেভিগেশন নিষ্ক্রিয় করুন এবং একটি বাটন দিন যা প্ল্যাটফর্ম অ্যাপ স্টোরেupdate_urlটি খুলবে। - ঐচ্ছিক আপডেটের জন্য অনুরোধ : যদি
current_versionlatest_versionচেয়ে পুরোনো হয়, তাহলে একটি বাতিলযোগ্য ডায়ালগ বা নোটিফিকেশন প্রদর্শন করুন, যা ব্যবহারকারীদের জানিয়ে দেবে যে একটি আপডেট উপলব্ধ আছে এবং এতে 'এখনই আপডেট করুন' অথবা ' পরে আপডেট করুন' বিকল্প থাকবে। - প্রবেশের অনুমতি দিন : অন্যথায়, ব্যবহারকারীকে অ্যাপে প্রবেশ করতে দিন।
- প্রয়োজনীয় আপডেট কার্যকর করুন : যদি
সর্বোত্তম অনুশীলন
- একটি রিয়েল-টাইম লিসেনার যোগ করুন : যখন নিরাপত্তা সংক্রান্ত সমস্যা বা ব্যবহারকারীর অভিজ্ঞতার (UX) গুরুতর অবনতির কারণে ভার্সন আপডেটের প্রয়োজন হয়, তখন আপনার অ্যাপে একটি রিয়েল-টাইম Remote Config লিসেনার যোগ করা নিশ্চিত করতে পারে যে, পরবর্তী নির্ধারিত ফেচ বা অ্যাপ রিস্টার্টের জন্য অপেক্ষা না করেই সক্রিয় ডিভাইসগুলিতে ভার্সনের প্রয়োজনীয়তার পরিবর্তনগুলি অবিলম্বে কার্যকর হয়।
- সীমিত সংখ্যক পরীক্ষক দিয়ে পরীক্ষা করুন : সকল প্রোডাকশন ব্যবহারকারীর জন্য
minimum_versionবাড়ানোর আগে, একটি সীমিত সংখ্যক পরীক্ষক দিয়ে শর্তটি পরীক্ষা করুন অথবা কাস্টম ইউজার প্রোপার্টি ব্যবহার করে অভ্যন্তরীণ পরীক্ষকদের লক্ষ্য করুন। এই পরীক্ষার মাধ্যমে যাচাই করা হয় যে ব্লকিং মোডালটি সঠিকভাবে প্রদর্শিত হচ্ছে এবং স্টোরের লিঙ্কগুলো সঠিকভাবে কাজ করছে। - প্ল্যাটফর্মের ইন-অ্যাপ আপডেট এপিআই ব্যবহার করুন : অ্যান্ড্রয়েডে, আপনার Remote Config চেকের পাশাপাশি গুগল প্লে ইন-অ্যাপ আপডেট ইন্টিগ্রেট করার কথা বিবেচনা করুন, যাতে ব্যবহারকারীরা আপনার অ্যাপ থেকে বের না হয়েই আপডেট ডাউনলোড ও ইনস্টল করতে পারেন।
- প্রোডাকশন চেকলিস্ট পড়ুন : আপনার অ্যাপ এবং এআই ফিচারগুলোকে প্রোডাকশনের জন্য প্রস্তুত করার বিষয়ে আরও নির্দেশনার জন্য ফায়ারবেস লঞ্চ চেকলিস্ট এবং এআই লজিক প্রোডাকশন চেকলিস্ট পড়ুন।