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

প্ল্যাটফর্ম বেছে নিন: iOS+ Android ওয়েব Flutter Unity C++

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

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

আপনি কীভাবে Remote Config ব্যবহার করতে পারেন সেই সম্পর্কে আরও তথ্য পেতে, Remote Config-এর মাধ্যমে আপনি কী করতে পারেন? দেখুন।

এই নির্দেশিকায় নিম্নলিখিত বিষয়গুলি কভার করা হয়েছে:

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

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

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

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

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

HTTP-এর মাধ্যমে ক্লায়েন্ট-সার্ভার কানেকশন তৈরি করা হয় বলে, অন্য কোনও লাইব্রেরির উপর নির্ভর করতে হয় না।

আপডেট শুনুন

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

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

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

প্যারামিটারের মান বেছে নিয়ে অ্যাক্টিভেট করুন

আপনি AddOnConfigUpdateListener-এ কল করলে, পরিবর্তনের জন্য অপেক্ষা করে এটি অ্যাক্টিভেট করতে পারবেন।

onUpdate কলব্যাক তখনই কল করা হয় যখন টেমপ্লেটের নতুন ভার্সন অটোমেটিক ফেচ করা হয় এবং অ্যাপে অ্যাক্টিভ প্যারামিটার ভ্যালুতে সেই নতুন ভার্সনে পরিবর্তন করা হয়।

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

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

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

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

শ্রোতাদের যোগ করা এবং সরানো

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

কলটি একটি "লিসেনার রেজিস্ট্রেশন" রিটার্ন করে, যার একটি মেথড আছে যাকে Remove বলা হয়। শোনা বন্ধ করতে, লিসেনার রেজিস্ট্রেশনের রেফারেন্স স্টোর করুন। এই রেজিস্ট্রেশনে remove নম্বরে কল করে শোনা বন্ধ করুন। এটি একমাত্র রেজিস্টার করা লিসেনার হলে, remove কল করলে সার্ভারের সাথে রিয়েল-টাইম কানেকশন বন্ধ হয়ে যায়।

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

পরবর্তী ধাপ

কনফিগার করতে Firebase-এর ব্যবহার শুরু করুন Remote Config দেখুন Remote Config এবং রিয়েল-টাইমে আপডেট শোনার প্রসেস শুরু করুন।