১. ভূমিকা
সর্বশেষ হালনাগাদ: ২০২১-০৩-০৯
ফায়ারবেস রিমোট কনফিগ বলতে কী বোঝায়?
ফায়ারবেস রিমোট কনফিগ একটি ক্লাউড পরিষেবা যা আপনাকে বিনামূল্যে আপনার অ্যাপের আচরণ এবং চেহারা পরিবর্তন করার সুযোগ দেয়, যার জন্য ব্যবহারকারীদের কোনো অ্যাপ আপডেট ডাউনলোড করার প্রয়োজন হয় না। রিমোট কনফিগ ব্যবহার করার সময়, আপনি অ্যাপের মধ্যে ডিফল্ট মান তৈরি করেন যা আপনার অ্যাপের আচরণ এবং চেহারা নিয়ন্ত্রণ করে। এরপর, আপনি ফায়ারবেস কনসোল বা রিমোট কনফিগ ব্যাকএন্ড এপিআই ব্যবহার করে সমস্ত অ্যাপ ব্যবহারকারীর জন্য বা আপনার ব্যবহারকারী গোষ্ঠীর নির্দিষ্ট অংশের জন্য অ্যাপের ভেতরের ডিফল্ট মানগুলোকে ওভাররাইড করতে পারেন। আপনার অ্যাপই নিয়ন্ত্রণ করে কখন আপডেট প্রয়োগ করা হবে, এবং এটি পারফরম্যান্সের উপর নগণ্য প্রভাব ফেলে ঘন ঘন আপডেটের জন্য পরীক্ষা করতে ও সেগুলো প্রয়োগ করতে পারে।
এটা কীভাবে কাজ করে?
রিমোট কনফিগ-এ একটি ক্লায়েন্ট লাইব্রেরি অন্তর্ভুক্ত রয়েছে যা প্যারামিটারের মান সংগ্রহ করা এবং সেগুলোকে ক্যাশ করার মতো গুরুত্বপূর্ণ কাজগুলো সামলায়। একই সাথে, এটি আপনাকে নতুন মানগুলো কখন সক্রিয় হবে তার উপর নিয়ন্ত্রণ দেয়, যাতে সেগুলো আপনার অ্যাপের ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত করতে পারে। এর মাধ্যমে আপনি যেকোনো পরিবর্তনের সময় নিয়ন্ত্রণ করে আপনার অ্যাপের অভিজ্ঞতাকে সুরক্ষিত রাখতে পারেন।
রিমোট কনফিগ ক্লায়েন্ট লাইব্রেরির গেট মেথডগুলো প্যারামিটার ভ্যালুগুলোর জন্য একটি একক অ্যাক্সেস পয়েন্ট get করে। আপনার অ্যাপ ইন-অ্যাপ ডিফল্ট ভ্যালুগুলো পাওয়ার জন্য যে লজিক ব্যবহার করে, সেই একই লজিক ব্যবহার করে সার্ভার-সাইড ভ্যালুগুলো গ্রহণ করে। ফলে, আপনি খুব বেশি কোড না লিখেই আপনার অ্যাপে রিমোট কনফিগের সুবিধাগুলো যোগ করতে পারেন।
অ্যাপের ডিফল্ট মান ওভাররাইড করতে, আপনি Firebase কনসোল অথবা Remote Config ব্যাকএন্ড API ব্যবহার করে আপনার অ্যাপে ব্যবহৃত প্যারামিটারগুলোর মতোই একই নামের প্যারামিটার তৈরি করতে পারেন। প্রতিটি প্যারামিটারের জন্য, আপনি অ্যাপের ডিফল্ট মান ওভাররাইড করতে একটি সার্ভার-সাইড ডিফল্ট মান সেট করতে পারেন, এবং নির্দিষ্ট শর্ত পূরণকারী অ্যাপ ইনস্ট্যান্সগুলোর জন্য অ্যাপের ডিফল্ট মান ওভাররাইড করতে শর্তসাপেক্ষ মানও তৈরি করতে পারেন। এই গ্রাফিকটি দেখায় যে Remote Config ব্যাকএন্ডে এবং আপনার অ্যাপে প্যারামিটার মানগুলোকে কীভাবে অগ্রাধিকার দেওয়া হয়:

আপনি যা শিখবেন
- ফায়ারবেস রিমোট কনফিগ কীভাবে প্রয়োগ করবেন
- আপনার অ্যাপ আপডেট না করেই কীভাবে ফায়ারবেস রিমোট কনফিগ ব্যবহার করে মান পরিবর্তন করবেন
আপনার যা যা লাগবে
- অ্যান্ড্রয়েড স্টুডিওর সর্বশেষ সংস্করণ
- একটি ফায়ারবেস অ্যাকাউন্ট
- (প্রস্তাবিত, তবে ঐচ্ছিক) আপনার অ্যাপটি চালানোর জন্য একটি ফিজিক্যাল অ্যান্ড্রয়েড ডিভাইস।
- জাভা বা কোটলিনের প্রাথমিক জ্ঞান
২. প্রস্তুতি গ্রহণ
(ঐচ্ছিক) নমুনা কোডটি ডাউনলোড করুন।
এই কোডল্যাবে আপনি আপনার নিজস্ব টেস্ট অ্যাপ তৈরি করবেন, কিন্তু যদি আপনি বিদ্যমান স্যাম্পল অ্যাপটি দেখতে ও চালাতে চান, তাহলে কুইকস্টার্ট স্যাম্পল কোডটি ডাউনলোড করতে পারেন।
এই কোডল্যাবের সম্পূর্ণ কোড ডাউনলোড করতে নিচের বাটনটিতে ক্লিক করুন:
ডাউনলোড করা জিপ ফাইলটি আনপ্যাক করুন। এটি quickstart-android-master নামের একটি রুট ফোল্ডার আনপ্যাক করবে।
...অথবা কমান্ড লাইন থেকে গিটহাব রিপোজিটরিটি ক্লোন করুন।
$ git clone https://github.com/firebase/quickstart-android.git
রিপোজিটরিটিতে একাধিক ফোল্ডার রয়েছে। আমরা ব্যবহার করব
কনফিগ ফোল্ডার।
(ঐচ্ছিক) নমুনা কোডটি ইম্পোর্ট করুন
অ্যান্ড্রয়েড স্টুডিও চালু করুন, স্বাগত স্ক্রিনে "প্রজেক্ট ইম্পোর্ট করুন" (Import project) বিকল্পটি বেছে নিন। তারপর ডাউনলোড করা ফোল্ডারটি খুলুন এবং নির্বাচন করুন...
কনফিগ ফোল্ডার। তারপর "ওপেন"-এ ক্লিক করুন।

নতুন অ্যান্ড্রয়েড প্রজেক্ট তৈরি করুন
- অ্যান্ড্রয়েড স্টুডিওতে, নতুন প্রজেক্ট শুরু করুন।
- মৌলিক কার্যকলাপ নির্বাচন করুন
- "আপনার প্রজেক্ট কনফিগার করুন" স্ক্রিনে:
- আপনার প্রজেক্টের নাম দিন। প্যাকেজ নাম এবং সংরক্ষণের স্থান আপনার জন্য স্বয়ংক্রিয়ভাবে তৈরি হয়ে যাবে।
- ভাষা: জাভা
- সর্বনিম্ন এসডিকে ১৬
৩. আপনার অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস এবং ফায়ারবেস অ্যানালিটিক্স যুক্ত করুন
একটি ফায়ারবেস প্রজেক্ট তৈরি করুন
আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস যোগ করার আগে, আপনার আইওএস অ্যাপের সাথে সংযোগ করার জন্য একটি ফায়ারবেস প্রজেক্ট তৈরি করতে হবে। ফায়ারবেস প্রজেক্ট সম্পর্কে আরও জানতে ‘ আন্ডারস্ট্যান্ড ফায়ারবেস প্রজেক্টস’ দেখুন।
- Firebase কনসোলে, 'Add project'- এ ক্লিক করুন, তারপর একটি 'Project name' নির্বাচন করুন বা লিখুন।

আপনার যদি আগে থেকেই কোনো গুগল ক্লাউড প্ল্যাটফর্ম (GCP) প্রজেক্ট থাকে, তাহলে আপনি ড্রপডাউন মেনু থেকে প্রজেক্টটি নির্বাচন করে সেটিতে ফায়ারবেস রিসোর্স যোগ করতে পারেন।
- (ঐচ্ছিক) আপনি যদি একটি নতুন প্রজেক্ট তৈরি করেন, তাহলে প্রজেক্ট আইডি সম্পাদনা করতে পারেন।
ফায়ারবেস স্বয়ংক্রিয়ভাবে আপনার ফায়ারবেস প্রজেক্টে একটি অনন্য আইডি বরাদ্দ করে। ফায়ারবেস কীভাবে প্রজেক্ট আইডি ব্যবহার করে সে সম্পর্কে জানতে ‘আন্ডারস্ট্যান্ড ফায়ারবেস প্রজেক্টস’ দেখুন।
- চালিয়ে যান-এ ক্লিক করুন।
- আপনার প্রোজেক্টের জন্য গুগল অ্যানালিটিক্স সেট আপ করুন, যা আপনাকে নিম্নলিখিত যেকোনো ফায়ারবেস প্রোডাক্ট ব্যবহার করে সর্বোত্তম অভিজ্ঞতা পেতে সক্ষম করবে:
- ফায়ারবেস ক্র্যাশলিটিক্স
- ফায়ারবেস পূর্বাভাস
- ফায়ারবেস ক্লাউড মেসেজিং
- ফায়ারবেস ইন-অ্যাপ মেসেজিং
- ফায়ারবেস রিমোট কনফিগারেশন
- ফায়ারবেস এ/বি টেস্টিং
নির্দেশনা দেওয়া হলে, বিদ্যমান গুগল অ্যানালিটিক্স অ্যাকাউন্ট ব্যবহার করতে অথবা একটি নতুন অ্যাকাউন্ট তৈরি করতে নির্বাচন করুন। আপনি যদি একটি নতুন অ্যাকাউন্ট তৈরি করতে চান, তাহলে আপনার অ্যানালিটিক্স রিপোর্টিংয়ের অবস্থান নির্বাচন করুন, তারপর আপনার প্রোজেক্টের জন্য ডেটা শেয়ারিং সেটিংস এবং গুগল অ্যানালিটিক্সের শর্তাবলী মেনে নিন।


- Create project-এ ক্লিক করুন (অথবা Add Firebase-এ ক্লিক করুন, যদি আপনি আগে থেকে কোনো GCP প্রজেক্ট ব্যবহার করে থাকেন)।
ফায়ারবেস স্বয়ংক্রিয়ভাবে আপনার ফায়ারবেস প্রোজেক্টের জন্য রিসোর্স সরবরাহ করে। প্রক্রিয়াটি সম্পন্ন হলে, আপনাকে ফায়ারবেস কনসোলে আপনার ফায়ারবেস প্রোজেক্টের ওভারভিউ পৃষ্ঠায় নিয়ে যাওয়া হবে।
আপনার অ্যাপটি ফায়ারবেসে নিবন্ধন করুন
আপনার একটি ফায়ারবেস প্রজেক্ট তৈরি হয়ে গেলে, আপনি তাতে আপনার অ্যান্ড্রয়েড অ্যাপটি যুক্ত করতে পারবেন।
একটি Firebase প্রজেক্টে অ্যাপ যোগ করার সেরা পদ্ধতি ও বিবেচ্য বিষয়গুলো সম্পর্কে আরও জানতে, যার মধ্যে একাধিক বিল্ড ভ্যারিয়েন্ট কীভাবে পরিচালনা করতে হয় তাও অন্তর্ভুক্ত, Understand Firebase Projects দেখুন।
- ফায়ারবেস কনসোলে যান।
- প্রজেক্ট ওভারভিউ পেজের শীর্ষে, সেটআপ ওয়ার্কফ্লো চালু করতে অ্যান্ড্রয়েড আইকনে ক্লিক করুন। যদি আপনি আপনার ফায়ারবেস প্রজেক্টে আগে থেকেই কোনো অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্ম অপশনগুলো দেখতে 'অ্যাড অ্যাপ'-এ ক্লিক করুন।
- অ্যান্ড্রয়েড প্যাকেজ নেম ফিল্ডে আপনার অ্যাপের প্যাকেজ নেমটি লিখুন।
- (ঐচ্ছিক) অ্যাপের ডাকনাম লিখুন।
- SHA-1 ক্ষেত্রটি খালি রাখুন, কারণ এই প্রকল্পের জন্য SHA-1 প্রয়োজন নেই।
- অ্যাপটি রেজিস্টার করতে ক্লিক করুন।
ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
এরপর, আপনাকে একটি কনফিগারেশন ফাইল ডাউনলোড করতে বলা হবে, যেটিতে আপনার অ্যাপের জন্য প্রয়োজনীয় সমস্ত ফায়ারবেস মেটাডেটা রয়েছে। আপনার ফায়ারবেস অ্যান্ড্রয়েড কনফিগারেশন ফাইল ( google-services.json ) পেতে 'Download google-services.json'- এ ক্লিক করুন।


আপনার প্রোজেক্ট-স্তরের Gradle ফাইলে ( build.gradle ) Google Services Gradle প্লাগইনটি অন্তর্ভুক্ত করার জন্য নিয়ম যোগ করুন। আপনার Google-এর Maven রিপোজিটরিও আছে কিনা, তা যাচাই করে নিন।
প্রজেক্ট-স্তরের build.gradle ( <project>/build.gradle ):
buildscript {
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
}
dependencies {
// ...
// Add the following line:
classpath 'com.google.gms:google-services:4.3.5' // Google Services plugin
}
}
allprojects {
// ...
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
// ...
}
}
আপনার মডিউল (অ্যাপ-স্তরের) গ্রেডল ফাইলে (সাধারণত app/build.gradle ), গুগল সার্ভিসেস গ্রেডল প্লাগইনটি প্রয়োগ করুন:
অ্যাপ-স্তরের build.gradle ( <project>/<app-module>/build.gradle ):
apply plugin: 'com.android.application'
// নিম্নলিখিত লাইনটি যোগ করুন:
apply plugin: 'com.google.gms.google-services' // গুগল পরিষেবা প্লাগইন
অ্যান্ড্রয়েড {
// ...
}
আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস এসডিকে যোগ করুন
রিমোট কনফিগের ক্ষেত্রে, ব্যবহারকারীর বৈশিষ্ট্য এবং অডিয়েন্স অনুযায়ী অ্যাপ ইনস্ট্যান্সগুলোকে শর্তসাপেক্ষে টার্গেট করার জন্য গুগল অ্যানালিটিক্স প্রয়োজন। আপনার প্রজেক্টে গুগল অ্যানালিটিক্স সক্রিয় করা আছে কিনা, তা নিশ্চিত করুন।
(নমুনা কুইকস্টার্ট কোডে এটি ইতিমধ্যেই করা আছে)
Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত app/build.gradle ) Remote Config Android লাইব্রেরির জন্য ডিপেন্ডেন্সি ঘোষণা করুন। Firebase Android BoM ব্যবহার করার ফলে, আপনার অ্যাপ সর্বদা Firebase Android লাইব্রেরিগুলোর সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
এছাড়াও, অ্যানালিটিক্স সেট আপ করার অংশ হিসেবে, আপনাকে আপনার অ্যাপে গুগল অ্যানালিটিক্সের জন্য ফায়ারবেস এসডিকে (Firebase SDK for Google Analytics) যোগ করতে হবে। ডিপেন্ডেন্সি (dependencies) এর অধীনে, নিম্নলিখিত কোডটি যোগ করুন:
অ্যাপ/বিল্ড.গ্রেডল
dependencies {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:26.6.0')
// Declare the dependencies for the Remote Config and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-config'
implementation 'com.google.firebase:firebase-analytics'
}
আপনার প্রজেক্টটি গ্রেডল ফাইলের সাথে সিঙ্ক করুন।
আপনার অ্যাপে সমস্ত ডিপেন্ডেন্সি উপলব্ধ আছে কিনা তা নিশ্চিত করতে, File > Sync Project with Gradle Files নির্বাচন করে আপনার প্রজেক্টকে গ্রেডল ফাইলের সাথে সিঙ্ক করুন।
৪. রিমোট কনফিগের প্রধান উপাদানগুলো পর্যালোচনা করুন।
আমরা এখন একটি অ্যাপে রিমোট কনফিগ ব্যবহার করার ধাপগুলো পর্যালোচনা করব। এই ধাপগুলো কুইকস্টার্ট কোডল্যাব কোডে ইতিমধ্যেই সম্পন্ন করা হয়েছে। কী ঘটছে তা বোঝার জন্য কুইকস্টার্ট কোডল্যাব কোডটি পর্যালোচনা করার সময় অনুগ্রহ করে এই অংশটি ব্যবহার করুন।
১. রিমোট কনফিগ সিঙ্গেলটন অবজেক্টটি নিন
একটি রিমোট কনফিগ অবজেক্ট ইনস্ট্যান্স নিন এবং ঘন ঘন রিফ্রেশের সুযোগ দিতে ন্যূনতম ফেচ ইন্টারভাল সেট করুন:
MainActivity.java
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(3600)
.build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
সিঙ্গেলটন অবজেক্টটি অ্যাপের ভেতরের ডিফল্ট প্যারামিটার মান সংরক্ষণ করতে, ব্যাকএন্ড থেকে আপডেট হওয়া প্যারামিটার মান আনতে এবং আনা মানগুলো কখন আপনার অ্যাপে উপলব্ধ হবে তা নিয়ন্ত্রণ করতে ব্যবহৃত হয়।
ডেভেলপমেন্টের সময়, সর্বনিম্ন ফেচ ইন্টারভাল তুলনামূলকভাবে কম রাখার পরামর্শ দেওয়া হয়। আরও তথ্যের জন্য থ্রটলিং (Throttling) দেখুন।
২. অ্যাপের মধ্যে ডিফল্ট প্যারামিটার মান সেট করুন
আপনি রিমোট কনফিগ অবজেক্টে অ্যাপের ভেতরের ডিফল্ট প্যারামিটার মান সেট করতে পারেন, যাতে আপনার অ্যাপটি রিমোট কনফিগ ব্যাকএন্ডের সাথে সংযোগ করার আগেই উদ্দেশ্য অনুযায়ী কাজ করে এবং ব্যাকএন্ডে কোনো মান সেট করা না থাকলে ডিফল্ট মানগুলো উপলব্ধ থাকে।
আপনি একটি Map অবজেক্ট অথবা আপনার অ্যাপের res/xml ফোল্ডারে সংরক্ষিত একটি XML রিসোর্স ফাইল ব্যবহার করে এক সেট প্যারামিটার নাম এবং ডিফল্ট প্যারামিটার মান নির্ধারণ করতে পারেন। Remote Config কুইকস্টার্ট স্যাম্পল অ্যাপটি ডিফল্ট প্যারামিটার নাম এবং মান নির্ধারণ করার জন্য একটি XML ফাইল ব্যবহার করে। নিচে দেওয়া হলো কীভাবে আপনি নিজের একটি XML ফাইল তৈরি করবেন:
-
resফোল্ডারের অধীনে একটিxmlফোল্ডার তৈরি করুন।

- নতুন তৈরি করা
xmlফোল্ডারটিতে রাইট-ক্লিক করে একটি ফাইল তৈরি করুন।

- ডিফল্ট মানগুলো সেট করুন। পরবর্তী অংশে, আপনি রিমোট কনফিগ কুইকস্টার্ট এক্সএমএল ফাইলে ডিফল্ট মানগুলো পরিবর্তন করার চেষ্টা করবেন।
- দেখানো অনুযায়ী, setDefaultsAsync(int) ব্যবহার করে এই মানগুলি Remote Config অবজেক্টে যোগ করুন:
MainActivity.java
mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
৩. আপনার অ্যাপে ব্যবহার করার জন্য প্যারামিটার মানগুলো সংগ্রহ করুন।
এখন আপনি রিমোট কনফিগ অবজেক্ট থেকে প্যারামিটার ভ্যালুগুলো পেতে পারেন। যদি আপনি ব্যাকএন্ডে ভ্যালু সেট করেন, সেগুলো ফেচ করেন এবং তারপর অ্যাক্টিভেট করেন, তাহলে সেই ভ্যালুগুলো আপনার অ্যাপে উপলব্ধ হবে। অন্যথায়, আপনি setDefaultsAsync(int) ব্যবহার করে কনফিগার করা ইন-অ্যাপ প্যারামিটার ভ্যালুগুলো পাবেন। এই ভ্যালুগুলো পেতে, আর্গুমেন্ট হিসেবে প্যারামিটার কী প্রদান করে, আপনার অ্যাপের প্রত্যাশিত ডেটা টাইপের সাথে ম্যাপ করা নিচের মেথডটি কল করুন:
৪. মানগুলি আনুন এবং সক্রিয় করুন
- রিমোট কনফিগ ব্যাকএন্ড থেকে প্যারামিটার ভ্যালুগুলো আনতে, fetch() মেথডটি কল করুন। আপনি ব্যাকএন্ডে যে ভ্যালুগুলো সেট করেন, সেগুলো ফেচ করে রিমোট কনফিগ অবজেক্টে স্টোর করা হয়।
- আপনার অ্যাপে ফেচ করা প্যারামিটার ভ্যালুগুলো উপলব্ধ করতে, activate() মেথডটি কল করুন। যেসব ক্ষেত্রে আপনি এক কলে ভ্যালু ফেচ এবং অ্যাক্টিভেট করতে চান, সেসব ক্ষেত্রে আপনি Remote Config ব্যাকএন্ড থেকে ভ্যালু ফেচ করে অ্যাপে উপলব্ধ করার জন্য একটি fetchAndActivate() রিকোয়েস্ট ব্যবহার করতে পারেন:
MainActivity.java
mFirebaseRemoteConfig.fetchAndActivate()
.addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
@Override
public void onComplete(@NonNull Task<Boolean> task) {
if (task.isSuccessful()) {
boolean updated = task.getResult();
Log.d(TAG, "Config params updated: " + updated);
Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Fetch failed",
Toast.LENGTH_SHORT).show();
}
displayWelcomeMessage();
}
});
যেহেতু এই আপডেট করা প্যারামিটার মানগুলি আপনার অ্যাপের আচরণ এবং চেহারাকে প্রভাবিত করে, তাই ব্যবহারকারীর জন্য একটি মসৃণ অভিজ্ঞতা নিশ্চিত করে এমন সময়ে ফেচ করা মানগুলি সক্রিয় করা উচিত, যেমন পরের বার যখন ব্যবহারকারী আপনার অ্যাপটি খুলবেন। আরও তথ্য এবং উদাহরণের জন্য রিমোট কনফিগ লোডিং কৌশলগুলি দেখুন।
থ্রটলিং
যদি কোনো অ্যাপ অল্প সময়ের মধ্যে অনেক বেশিবার ফেচ করে, তাহলে ফেচ কলগুলো থ্রটল করা হয় এবং SDK, FirebaseRemoteConfigFetchThrottledException রিটার্ন করে। SDK ভার্সন 17.0.0-এর আগে, ৬০ মিনিটের মধ্যে এই সীমা ছিল ৫টি ফেচ রিকোয়েস্ট (নতুন ভার্সনগুলোতে এই সীমা আরও শিথিল)।
অ্যাপ ডেভেলপমেন্টের সময়, আপনার অ্যাপ ডেভেলপ ও টেস্ট করার সাথে সাথে দ্রুত পুনরাবৃত্তি করার জন্য আপনার খুব ঘন ঘন (ঘন্টায় অনেকবার) কনফিগ ফেচ এবং অ্যাক্টিভেট করার প্রয়োজন হতে পারে। ১০ জন পর্যন্ত ডেভেলপারের একটি প্রোজেক্টে দ্রুত পুনরাবৃত্তির সুবিধা দিতে, আপনি আপনার অ্যাপে সাময়িকভাবে একটি FirebaseRemoteConfigSettings অবজেক্ট সেট করতে পারেন, যেটিতে একটি কম সর্বনিম্ন ফেচ ইন্টারভ্যাল ( setMinimumFetchIntervalInSeconds ) থাকবে।
রিমোট কনফিগের জন্য ডিফল্ট সর্বনিম্ন ফেচ ব্যবধান হলো ১২ ঘন্টা, যার অর্থ হলো, প্রকৃতপক্ষে কতবার ফেচ কল করা হয়েছে তা নির্বিশেষে, ১২ ঘন্টার মধ্যে ব্যাকএন্ড থেকে কনফিগ একবারের বেশি ফেচ করা হবে না। নির্দিষ্টভাবে, সর্বনিম্ন ফেচ ব্যবধানটি নিম্নলিখিত ক্রমে নির্ধারিত হয়:
-
fetch(long)-এর প্যারামিটার -
FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long)এর প্যারামিটার - ডিফল্ট মান ১২ ঘন্টা
সর্বনিম্ন ফেচ ইন্টারভ্যাল একটি কাস্টম মানে সেট করতে, FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) ব্যবহার করুন।
৫. রিমোট কনফিগের মাধ্যমে অ্যাপের আচরণ পরিবর্তন করুন।
অ্যাপের ডিফল্ট প্যারামিটার পরিবর্তন করুন
res/xml/remote_config_defaults.xml খুলুন এবং ডিফল্ট মানগুলো অন্য কিছুতে পরিবর্তন করুন।
res/xml/remote_config_defaults.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- START xml_defaults -->
<defaultsMap>
<entry>
<key>loading_phrase</key>
<value>Fetching config...</value>
</entry>
<entry>
<key>welcome_message_caps</key>
<value>false</value>
</entry>
<entry>
<key>welcome_message</key>
<value>Welcome to my awesome app!</value>
</entry>
</defaultsMap>
<!-- END xml_defaults -->
অ্যাপের মধ্যে ডিফল্ট মান পরিবর্তন যাচাই করুন
- এর আচরণ নিশ্চিত করতে প্রজেক্টটি একটি এমুলেটর বা টেস্ট ডিভাইসে চালান।
- জাভা অথবা কোটলিন সংস্করণটিতে ওপেন ক্লিক করুন।

- মূল দৃশ্যে স্বাগত বার্তাটি পর্যালোচনা করুন।

রিমোট কনফিগ ব্যাকএন্ডে প্যারামিটার মান সেট করুন
এখন চলুন রিমোট কনফিগের মাধ্যমে ভ্যালু পাঠানো পরীক্ষা করে দেখি। ফায়ারবেস কনসোল অথবা রিমোট কনফিগ ব্যাকএন্ড এপিআই ব্যবহার করে, আপনি নতুন সার্ভার-সাইড ডিফল্ট ভ্যালু তৈরি করতে পারেন যা আপনার কাঙ্ক্ষিত কন্ডিশনাল লজিক বা ইউজার টার্গেটিং অনুযায়ী অ্যাপের ভেতরের ভ্যালুগুলোকে ওভাররাইড করবে। এই অংশে এই ভ্যালুগুলো তৈরি করার জন্য ফায়ারবেস কনসোলের ধাপগুলো বর্ণনা করা হয়েছে।
- ফায়ারবেস কনসোল খুলুন, আপনার প্রজেক্টটি খুলুন।
- রিমোট কনফিগ ড্যাশবোর্ডটি দেখতে, Engage সেকশনের বাম দিকের মেনু থেকে Remote Config নির্বাচন করুন।
- 'Add a parameter'-এর নিচে
Parameter key.Default valueএর নিচে আপনার পছন্দমতো যেকোনো টেক্সট যোগ করুন। তারপর 'Add Parameter'-এ ক্লিক করুন। এই কোডল্যাবের জন্য, আমরাres/xml/remote_config_defaults.xmlফাইলের প্যারামিটার কীগুলো ব্যবহার করব। বিস্তারিত জানতে নিচের টেবিলটি দেখুন:
প্যারামিটার কী | ডিফল্ট মান ( | বর্ণনা |
লোডিং_ফ্রেজ | কনফিগারেশন আনা হচ্ছে... | স্ট্রিং; রিমোট কনফিগের মানগুলি আনার সময় প্রদর্শিত হয়। |
স্বাগত বার্তার ক্যাপস | মিথ্যা | বুলিয়ান; যদি true হয়, তাহলে welcome_message-এর সব অক্ষর বড় হাতের হয়ে যাবে। |
স্বাগতম বার্তা | আমার চমৎকার অ্যাপটিতে আপনাকে স্বাগতম! | স্ট্রিং; স্বাগতম বার্তা |
উদাহরণ স্ক্রিনশট:

- প্যারামিটার যোগ করা শেষ হলে, 'পরিবর্তন প্রকাশ করুন' বোতামে ক্লিক করুন।
- আপনার অ্যাপটি একটি এমুলেটর বা ডিভাইসে আবার চালান এবং এবার "Fetch Remote Welcome" বোতামটিতে ক্লিক করুন।

- আপনার রিমোট কনফিগ প্যারামিটার এবং ভ্যালু অনুযায়ী ওয়েলকাম মেসেজটি আপডেট করা উচিত!
৬. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে রিমোট কনফিগ ব্যবহার করে স্বাগত বার্তাটি পরিবর্তন করেছেন! অ্যাপ পরিবর্তন ও কাস্টমাইজ করার জন্য রিমোট কনফিগ ব্যবহারের আরও অনেক উপায় রয়েছে। অনুগ্রহ করে নিচের অতিরিক্ত রিসোর্সগুলো দেখুন: