রিয়েল-টাইম রিমোট কনফিগ বুঝুন

প্ল্যাটফর্ম নির্বাচন করুন: iOS+ অ্যান্ড্রয়েড ওয়েব ফ্লাটার ইউনিটি C++

রিয়েল-টাইম Remote Config আপনাকে সার্ভারে প্রকাশিত হওয়ার সাথে সাথেই আপডেট হওয়া প্যারামিটার কী এবং ভ্যালুগুলো পেতে সাহায্য করে। এর মাধ্যমে আপনি Remote Config প্যারামিটার ভ্যালু দ্বারা নিয়ন্ত্রিত যেকোনো ধরনের অ্যাপ অ্যাট্রিবিউট দ্রুত আপডেট করতে পারেন। রিয়েল-টাইম Remote Config আপডেটের সাহায্যে আপনি যা করতে পারেন:

  • নির্দিষ্ট ব্যবহারকারীদের কাছে পর্যায়ক্রমে ফিচারগুলো চালু করে এবং প্রয়োজনে জরুরি ভিত্তিতে তা পূর্বাবস্থায় ফিরিয়ে এনে ঝুঁকি হ্রাস করুন।
  • অ্যাপ ব্যবহারের সময় ব্যবহারকারীদের অভিজ্ঞতা দ্রুত কাস্টমাইজ করে তাদের সম্পৃক্ততা বাড়ান। উদাহরণস্বরূপ, আপনি নির্দিষ্ট Google Analytics ইউজার প্রপার্টিজের সাথে মিলে যাওয়া ব্যবহারকারীদের জন্য ব্যানার আপডেট করতে ও প্রণোদনা দিতে পারেন, অথবা খেলোয়াড়দের বিভিন্ন দলের জন্য গেমের অসুবিধা গতিশীলভাবে সামঞ্জস্য করতে পারেন।
  • বিল্ড নির্ভরতা হ্রাস করুন এবং ডেভেলপারদের উৎপাদনশীলতা বৃদ্ধি করুন: Remote Config প্যারামিটারগুলিকে ফিচার ফ্ল্যাগ হিসাবে ব্যবহার করে আপনার ডেভেলপমেন্ট এবং টেস্ট টিমের জন্য কার্যকারিতা উন্মুক্ত করুন, এবং একই সাথে প্রোডাকশনের ব্যবহারকারীদের কাছে তা গোপন রাখুন।

Remote Config ব্যবহারের বিভিন্ন উপায় সম্পর্কে আরও জানতে, Remote Config দিয়ে আপনি কী করতে পারেন?’ দেখুন।

এই নির্দেশিকায় আপনি যা যা জানতে পারবেন:

  • রিয়েল-টাইম আপডেট সমর্থনকারী ক্লায়েন্ট-সার্ভার সম্পর্ক সম্পর্কে আরও জানুন।
  • এসডিকে-তে থাকা রিয়েল-টাইম কার্যকারিতা কীভাবে কাজ করে তা বুঝুন।
  • আপনার অ্যাপের কনফিগারেশন হালনাগাদ রাখতে রিয়েল-টাইম আপডেট কীভাবে ব্যবহার করবেন তা জেনে নিন।

রিয়েল-টাইম ক্লায়েন্ট-সার্ভার সংযোগ

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

সার্ভারে নতুন কোনো সংস্করণ থাকলে, এটি সাথে সাথে ইনভ্যালিডেশন সিগন্যাল পাঠায়। নতুন কোনো সংস্করণ না থাকলে, এটি সংযোগটি খোলা রাখে এবং সার্ভারে নতুন কোনো সংস্করণ প্রকাশিত হওয়া পর্যন্ত অপেক্ষা করে। ক্লায়েন্ট SDK যখন একটি ইনভ্যালিডেশন সিগন্যাল পায়, তখন এটি স্বয়ংক্রিয়ভাবে ডেটা ফেচ করে, এবং তারপর লিসেনার সংযোগ খোলার সময় রেজিস্টার করা লিসেনার কলব্যাকটি কল করে। এই ফেচ প্রক্রিয়াটি SDK-এর মাধ্যমে করা ফেচ কলের মতোই, তবে এটি যেকোনো ক্যাশিং বা minimumFetchInterval সেটিং এড়িয়ে যায়। অ্যাপটি ফোরগ্রাউন্ডে থাকা অবস্থায় ক্লায়েন্ট-সার্ভার সংযোগটি বজায় থাকে।

রিয়েল-টাইম রিমোট কনফিগারেশন ক্লায়েন্ট-সার্ভার ওয়ার্কফ্লো
রিয়েল-টাইম Remote Config ক্লায়েন্ট-সার্ভার ওয়ার্কফ্লো

যেহেতু ক্লায়েন্ট-সার্ভার সংযোগটি HTTP-এর মাধ্যমে স্থাপিত হয়, তাই এর জন্য অন্য কোনো লাইব্রেরির উপর নির্ভরতার প্রয়োজন হয় না।

আপডেট শুনতে থাকুন

রিয়েল-টাইম আপডেটগুলো Remote Config fetch কলগুলোর পরিপূরক হিসেবে কাজ করে। আমরা সুপারিশ করি যে, আপনার অ্যাপ চালু হওয়ার সময় (অথবা আপনার অ্যাপের লাইফসাইকেলের কোনো এক সময়ে) ফেচ কল করুন এবং ইউজার সেশন চলাকালীন রিয়েল-টাইম Remote Config আপডেটের জন্য লিসেন করুন, যাতে সার্ভারে প্রকাশিত হওয়ার সাথে সাথেই আপনি সর্বশেষ ভ্যালুগুলো পেয়ে যান।

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

আপনার অ্যাপে আপডেট করা কনফিগারেশন প্যারামিটারগুলো উপলব্ধ করার জন্য কলব্যাক প্রায়শই activate ব্যবহার করার একটি ভালো জায়গা। আপনি যখন রিয়েল-টাইম Remote Config ব্যবহার করছেন, তখন প্যারামিটারের মানগুলো সক্রিয় করার জন্য অতিরিক্ত কৌশল জানতে 'Firebase Remote Config Loading Strategies' দেখুন।

প্যারামিটার মানগুলি বেছে বেছে সক্রিয় করুন

যখন আপনি onConfigUpdate কল করেন, তখন আপনি পরিবর্তনটির জন্য অপেক্ষা করতে এবং এটিকে সক্রিয় করতে পারেন।

next কলব্যাকটি তখন কল করা হয় যখন টেমপ্লেটের একটি নতুন সংস্করণ স্বয়ংক্রিয়ভাবে আনা হয় এবং যখন সেই নতুন সংস্করণটি অ্যাপের সক্রিয় প্যারামিটার মানগুলিতে পরিবর্তন আনে।

এই কলব্যাকগুলি configUpdate নামক একটি প্যারামিটার দিয়ে আহ্বান করা হয়। configUpdate updated_keys থাকে, যা হলো রিয়েল-টাইম আপডেট শুরু করা পরিবর্তিত প্যারামিটার কী-গুলির সেট এবং এতে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত থাকে:

  • প্যারামিটার কীগুলি যোগ বা অপসারণ করা হয়েছিল
  • প্যারামিটার কী গুলোর মান পরিবর্তিত হয়েছে
  • প্যারামিটার কী গুলো, যাদের মেটাডেটা পরিবর্তিত হয়েছে (উদাহরণস্বরূপ, Remote Config ব্যক্তিগতকরণের তথ্য)
  • প্যারামিটার কী-গুলো, যাদের মানের উৎস পরিবর্তিত হয়েছে (উদাহরণস্বরূপ, অ্যাপের ভেতরের ডিফল্ট মান সার্ভার-সাইড মানে আপডেট হওয়া)।

আপনার অ্যাপের কোনো নির্দিষ্ট ভিউতে যদি আপনি রিয়েল-টাইম লিসেনার ব্যবহার করেন, তাহলে সেটি সক্রিয় করার আগে সেই ভিউয়ের সাথে সম্পর্কিত প্যারামিটারগুলো পরিবর্তিত হয়েছে কিনা তা যাচাই করে দেখতে পারেন।

মাঝে মাঝে, একটি ফেচ (যা আপনি fetch মেথড কল করার মাধ্যমে শুরু করেন, অথবা রিয়েল-টাইম Remote Config মাধ্যমে) ক্লায়েন্টের জন্য কোনো আপডেট ঘটায় না। এইসব ক্ষেত্রে, next মেথড বা কমপ্লিশন কল করা হবে না।

লিসেনার যোগ এবং অপসারণ করুন

onConfigUpdate হলো রিয়েল-টাইম Remote Config প্রধান এন্ট্রি পয়েন্ট। আপনার অ্যাপের লাইফসাইকেলে প্রথমবার এই লিসেনারটি কল করলে ব্যাকএন্ডের সাথে সংযোগ স্থাপিত হয়। পরবর্তী কলগুলো একই সংযোগ পুনরায় ব্যবহার করে এবং রিয়েল-টাইম ক্লায়েন্ট-সার্ভার সংযোগে বর্ণিত ইনভ্যালিডেশন মেসেজটিকে মাল্টিপ্লেক্স করে।

এই কলটি একটি "লিসেনার রেজিস্ট্রেশন" রিটার্ন করে, যার মধ্যে Unsubscribe ) নামে একটি মেথড রয়েছে। আপডেট শোনা বন্ধ করতে, আপনাকে সেই Unsubscribe (Unsubscribe) ফাংশনটি কল করতে হবে যা অবজারভারটি প্রথমবার রেজিস্টার করার সময় রিটার্ন করা হয়েছিল। যদি এটিই একমাত্র সক্রিয় লিসেনার হয়, তাহলে Unsubscribe কল করলে সার্ভারের সাথে রিয়েল-টাইম সংযোগটি বন্ধ হয়ে যাবে।

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

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

Remote Config কনফিগার করতে এবং রিয়েল-টাইমে আপডেট শোনা শুরু করতে, 'Get started with Firebase Remote Config দেখুন।