Firebase is back at Google I/O on May 10! Register now

ফায়ারবেস রিমোট কনফিগারেশন লোড করার কৌশল

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

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

কৌশল 1: আনুন এবং লোড সক্রিয় করুন

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

কৌশল 2: লোডিং স্ক্রিনের পিছনে সক্রিয় করুন

কৌশল 1 এ সম্ভাব্য UI সমস্যার প্রতিকার হিসাবে, আপনি একটি লোডিং স্ক্রিনের উপর নির্ভর করতে পারেন। এখনই আপনার অ্যাপ শুরু করার পরিবর্তে, একটি লোডিং স্ক্রিন দেখান এবং আপনার সম্পূর্ণ হ্যান্ডলারে fetchAndActivate কল করুন। তারপর ঠিক তার পরে — আবার একটি কলব্যাক বা একটি বিজ্ঞপ্তি ব্যবহার করে — লোডিং স্ক্রীনটি খারিজ করুন এবং ব্যবহারকারীকে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট শুরু করার অনুমতি দিন৷

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

কৌশল 3: পরবর্তী স্টার্টআপের জন্য নতুন মান লোড করুন

একটি কার্যকর কৌশল হল আপনার অ্যাপের পরবর্তী স্টার্টআপে সক্রিয় করতে নতুন কনফিগারেশন মান লোড করা। এই কৌশলটিতে, আপনার অ্যাপটি নতুনগুলি আনার চেষ্টা করার আগে স্টার্টআপে আনা মানগুলি সক্রিয় করে, এই অনুমানে কাজ করে যে এটি ইতিমধ্যেই আনা হয়েছে — কিন্তু এখনও সক্রিয় হয়নি — নতুন কনফিগারেশন মানগুলি৷ এই কৌশলটির জন্য অপারেশনের ক্রম হল:

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

এই কৌশলের সাহায্যে, ব্যবহারকারীর অপেক্ষার সময় ব্যাপকভাবে হ্রাস করা হয়। যাইহোক, সর্বশেষ কনফিগারেশন দেখতে ব্যবহারকারীকে আপনার অ্যাপটি দ্বিতীয়বার চালাতে হবে। আপনার ব্যবসা এবং অ্যাপের যুক্তির বিরুদ্ধে আপনাকে এই বিবেচনার ভারসাম্য রাখতে হবে।

বিরোধী কৌশল লোড হচ্ছে

লোড করার সুবিধা এবং অসুবিধা সম্পর্কে উপরের আলোচনা থেকে আপনি যেমন বুঝতে পেরেছেন, এড়ানোর জন্য কয়েকটি ব্যবহারের ধরণ রয়েছে।

  • ব্যবহারকারী যখন এটি দেখছেন বা এর সাথে ইন্টারঅ্যাক্ট করছেন তখন UI এর দিকগুলি আপডেট বা পরিবর্তন করবেন নাযদি না আপনার কাছে এটি করার জন্য শক্তিশালী অ্যাপ বা ব্যবসায়িক কারণ না থাকে, যেমন সদ্য শেষ হওয়া প্রচারের সাথে সম্পর্কিত বিকল্পগুলি সরানো।
  • একযোগে আনার অনুরোধের বিশাল সংখ্যা পাঠাবেন না , যার ফলে সার্ভার আপনার অ্যাপকে থ্রোটলিং করতে পারে। বেশিরভাগ উত্পাদনের পরিস্থিতিতে এটি হওয়ার ঝুঁকি কম, তবে সক্রিয় বিকাশের সময় এটি একটি সমস্যা হতে পারে। Android এবং Apple প্ল্যাটফর্মের জন্য থ্রটলিং নির্দেশিকা দেখুন।
  • দূরবর্তী কনফিগার মানগুলি পেতে নেটওয়ার্ক সংযোগের উপর নির্ভর করবেন না । অ্যাপ-মধ্যস্থ ডিফল্ট প্যারামিটার মান সেট করুন যাতে আপনার অ্যাপ সবসময় প্রত্যাশা অনুযায়ী আচরণ করে। ডাউনলোড করা টেমপ্লেট ডিফল্ট ব্যবহার করে আপনি পর্যায়ক্রমে অ্যাপ এবং রিমোট কনফিগ ব্যাকএন্ড ডিফল্ট মানগুলিকে সিঙ্কে রাখতে পারেন।

পরবর্তী পদক্ষেপ

এই তিনটি মৌলিক কৌশল কোনোভাবেই কনফিগারেশন মান লোড করার উপায়গুলির একটি সম্পূর্ণ তালিকা তৈরি করে না। আপনার প্রয়োজনের উপর নির্ভর করে, আপনি অনেক বেশি পরিশীলিত কৌশল তৈরি করতে পারেন যেমন ফাংশন-চালিত ব্যাকগ্রাউন্ড আপডেটগুলি রিয়েল টাইমে আপডেট প্রচারে বর্ণিত।

কনফিগারেশন মানগুলি আনয়ন এবং সক্রিয় করার জন্য নির্দিষ্ট কলগুলি সম্পর্কে আরও জানতে আপনার প্ল্যাটফর্মের API রেফারেন্সটি দেখুন।