| প্ল্যাটফর্ম বেছে নিন: | iOS+ Android ওয়েব Flutter Unity C++ |
আপনি Firebase Remote Config ব্যবহার করে অ্যাপে প্যারামিটার নির্ধারণ করতে এবং ক্লাউডে সেগুলির ভ্যালু আপডেট করতে পারবেন। এর ফলে, অ্যাপ আপডেট ডিস্ট্রিবিউট না করেই অ্যাপের চেহারা ও ব্যবহারবিধি পরিবর্তন করতে পারবেন।
ইন-অ্যাপ ডিফল্ট প্যারামিটার ভ্যালু স্টোর করতে, Remote Config ব্যাকএন্ড থেকে আপডেট করা প্যারামিটার ভ্যালু ফেচ করতে এবং ফেচ করা ভ্যালু কখন আপনার অ্যাপে উপলভ্য করা হবে তা কন্ট্রোল করতে Remote Config লাইব্রেরি ব্যবহার করা হয়। আরও জানতে, রিমোট কনফিগ লোডিং স্ট্র্যাটেজি দেখুন।
ধাপ ১: আপনার অ্যাপে Firebase যোগ করুন
আপনি Remote Config ব্যবহার করার আগে, আপনাকে এগুলি করতে হবে:
আপনার C++ প্রোজেক্ট রেজিস্টার করুন এবং Firebase ব্যবহার করার জন্য এটি কনফিগার করুন।
আপনার C++ প্রোজেক্টে আগে থেকেই Firebase ব্যবহার করা হলে, এটি আগেই Firebase-এর জন্য রেজিস্টার ও কনফিগার করা হয়ে গেছে।
আপনার C++ প্রোজেক্টে Firebase C++ SDK যোগ করুন।
মনে রাখবেন, আপনার C++ প্রোজেক্টে Firebase যোগ করার জন্য Firebase কনসোল এবং আপনার খোলা C++ প্রোজেক্ট (যেমন, আপনি কনসোল থেকে Firebase কনফিগারেশন ফাইল ডাউনলোড করেন, তারপর সেগুলি আপনার C++ প্রোজেক্টে সরান) দুটিতেই টাস্ক করতে হয়।
ধাপ ২: আপনার অ্যাপে Remote Config যোগ করুন
Android
আপনার অ্যাপে Firebase যোগ করার পরে:
JNI এনভায়রনমেন্ট ও অ্যাক্টিভিটি পাস করে Firebase অ্যাপ তৈরি করুন:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Remote Config লাইব্রেরি ইনিশিয়ালাইজ করুন, যেমন দেখানো হয়েছে:
::firebase::remote_config::Initialize(app);
iOS+
আপনার অ্যাপে Firebase যোগ করার পরে:
Firebase অ্যাপ তৈরি করা:
app = ::firebase::App::Create(::firebase::AppOptions());
Remote Config লাইব্রেরি ইনিশিয়ালাইজ করুন, যেমন দেখানো হয়েছে:
::firebase::remote_config::Initialize(app);
ধাপ ৩: ইন-অ্যাপ ডিফল্ট প্যারামিটার ভ্যালু সেট করা
আপনি Remote Config অবজেক্টে ইন-অ্যাপ ডিফল্ট প্যারামিটার ভ্যালু সেট করতে পারবেন, যাতে আপনার অ্যাপ Remote Config ব্যাক-এন্ডের সাথে কানেক্ট করার আগে এটি যেভাবে কাজ করার কথা সেভাবেই কাজ করে এবং ব্যাক-এন্ডে কোনও ভ্যালু সেট করা না থাকলে ডিফল্ট ভ্যালু উপলভ্য থাকে।
অ্যারের সাইজ সহ
ConfigKeyValue*অবজেক্ট বাConfigKeyValueVariant*অবজেক্ট ব্যবহার করে প্যারামিটারের নাম ও ডিফল্ট প্যারামিটার ভ্যালুর একটি সেট নির্ধারণ করুন।আপনি যদি আগে থেকেই Remote Config ব্যাকএন্ড প্যারামিটার ভ্যালু কনফিগার করে থাকেন, তাহলে আপনি এমন একটি ফাইল ডাউনলোড করতে পারবেন যাতে এই কী-ভ্যালু পেয়ার থাকে এবং আপনার
mapঅবজেক্ট তৈরি করতে এটি ব্যবহার করতে পারবেন। আরও তথ্যের জন্য, ডাউনলোড Remote Config টেমপ্লেট ডিফল্ট দেখুন।SetDefaults()ব্যবহার করে Remote Config অবজেক্টে এই মানগুলি যোগ করুন।
ধাপ ৪: আপনার অ্যাপে ব্যবহার করার জন্য প্যারামিটার ভ্যালু পান
এখন আপনি Remote Config অবজেক্ট থেকে প্যারামিটারের ভ্যালু পেতে পারেন। আপনি Remote Config ব্যাকএন্ডে
ভ্যালু সেট করলে, সেগুলি ফেচ করলে এবং তারপরে সেগুলি অ্যাক্টিভেট করলে,
সেইসব ভ্যালু আপনার অ্যাপের জন্য উপলভ্য হয়। অন্যথায়, আপনি
SetDefaults() ব্যবহার করে কনফিগার করা অ্যাপ-মধ্যস্থ প্যারামিটার
ভ্যালু পাবেন।
এইসব ভ্যালু পেতে, আপনার অ্যাপের প্রত্যাশিত ডেটা টাইপের সাথে ম্যাপ করা নিম্নলিখিত পদ্ধতিগুলির মধ্যে যেকোনও একটি কল করুন এবং আর্গুমেন্ট হিসেবে প্যারামিটার কী প্রদান করুন:
ধাপ ৫: প্যারামিটার ভ্যালু সেট করুন
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ বিকল্পে যান।
আপনার অ্যাপে সংজ্ঞায়িত প্যারামিটারের মতো একই নামের প্যারামিটার সংজ্ঞায়িত করুন। প্রতিটি প্যারামিটারের জন্য, আপনি একটি ডিফল্ট মান সেট করতে পারেন (যা শেষ পর্যন্ত ইন-অ্যাপ ডিফল্ট মানকে ওভাররাইড করবে) এবং শর্তসাপেক্ষ মান। আরও জানতে, Remote Config প্যারামিটার ও শর্তাবলী দেখুন।
ধাপ ৬: ভ্যালু নিয়ে এসে অ্যাক্টিভেট করা
- Remote Config ব্যাকএন্ড থেকে প্যারামিটার ভ্যালু ফেচ করতে,
Fetch()মেথড কল করুন। আপনি ব্যাকএন্ডে যেসব ভ্যালু সেট করেন সেগুলি Remote Config অবজেক্টে ফেচ ও ক্যাশ করা হয়। - আপনার অ্যাপের জন্য ফেচ করা প্যারামিটার ভ্যালু উপলভ্য করতে,
ActivateFetched()
ধাপ ৭: রিয়েল-টাইমে আপডেট শুনুন
প্যারামিটার ভ্যালু ফেচ করার পরে, আপনি রিয়েল-টাইম Remote Config ব্যবহার করে Remote Config ব্যাকএন্ড থেকে আপডেট শুনতে পারবেন। আপডেট উপলভ্য হলে কানেক্ট করা ডিভাইসে রিয়েল-টাইম Remote Config সিগন্যাল পাঠায় এবং আপনি নতুন Remote Config ভার্সন প্রকাশ করার পরে অটোমেটিক পরিবর্তনগুলি ফেচ করে।
Android ও Apple প্ল্যাটফর্মের জন্য Firebase C++ SDK v11.0.0+ ও এর পরের যেকোনও ভার্সনে রিয়েল-টাইম আপডেট কাজ করে।
- আপনার অ্যাপে, আপডেট শোনা শুরু করতে
AddOnConfigUpdateListenerকল করুন এবং কোনও নতুন বা আপডেট করা প্যারামিটার ভ্যালু অটোমেটিক ফেচ করুন। নিচের উদাহরণটি আপডেট শোনার জন্য অপেক্ষা করে এবংActivateকল করা হলে, আপডেট করা স্বাগত মেসেজ দেখানোর জন্য নতুন করে ফেচ করা ভ্যালু ব্যবহার করে।
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
পরের বার আপনি নিজের Remote Config-এর নতুন ভার্সন প্রকাশ করলে, আপনার অ্যাপ চলছে এবং পরিবর্তন শোনার জন্য অপেক্ষা করছে এমন ডিভাইসগুলি কনফিগারেশন আপডেট লিসনারকে কল করবে।