Firebase রিমোট কনফিগারেশন দিয়ে শুরু করুন

আপনি আপনার অ্যাপের প্যারামিটারগুলি সংজ্ঞায়িত করতে এবং ক্লাউডে তাদের মানগুলি আপডেট করতে Firebase রিমোট কনফিগারেশন ব্যবহার করতে পারেন, যাতে আপনি কোনও অ্যাপ আপডেট বিতরণ না করেই আপনার অ্যাপের চেহারা এবং আচরণ পরিবর্তন করতে পারেন। এই নির্দেশিকাটি আপনাকে শুরু করার ধাপগুলির মধ্যে দিয়ে হেঁটে যায় এবং কিছু নমুনা কোড প্রদান করে, যার সবকটিই Firebase/quickstart-js GitHub সংগ্রহস্থল থেকে ক্লোন বা ডাউনলোড করার জন্য উপলব্ধ।

রিমোট কনফিগ SDK যোগ করুন এবং শুরু করুন

  1. আপনি যদি ইতিমধ্যেই না করে থাকেন তাহলে Firebase JS SDK ইনস্টল করুন এবং Firebase শুরু করুন

  2. রিমোট কনফিগ JS SDK যোগ করুন এবং রিমোট কনফিগ আরম্ভ করুন:

Web version 9

import { initializeApp } from "firebase/app";
import { getRemoteConfig } from "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = getRemoteConfig(app);

Web version 8

import firebase from "firebase/app";
import "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = firebase.remoteConfig();

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

ন্যূনতম আনার ব্যবধান সেট করুন

বিকাশের সময়, এটি একটি অপেক্ষাকৃত কম ন্যূনতম আনার ব্যবধান সেট করার পরামর্শ দেওয়া হয়। আরও তথ্যের জন্য থ্রটলিং দেখুন।

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

অ্যাপ-মধ্যস্থ ডিফল্ট প্যারামিটার মান সেট করুন

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

Web version 9

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web version 8

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

আপনি যদি ইতিমধ্যেই রিমোট কনফিগ ব্যাকএন্ড প্যারামিটার মানগুলি কনফিগার করে থাকেন তবে আপনি একটি জেনারেট করা JSON ফাইল ডাউনলোড করতে পারেন যাতে সমস্ত ডিফল্ট মান রয়েছে এবং এটি আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত করে:

বিশ্রাম

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json

ফায়ারবেস কনসোল

  1. প্যারামিটার ট্যাবে, মেনু খুলুন এবং ডিফল্ট মান ডাউনলোড করুন নির্বাচন করুন।
  2. অনুরোধ করা হলে, ওয়েবের জন্য .json সক্ষম করুন, তারপর ফাইল ডাউনলোড করুন ক্লিক করুন।

নিম্নলিখিত উদাহরণগুলি দুটি ভিন্ন উপায় দেখায় যা আপনি আমদানি করতে এবং আপনার অ্যাপে ডিফল্ট মান সেট করতে পারেন৷ প্রথম উদাহরণটি fetch ব্যবহার করে, যা আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত ডিফল্ট ফাইলে একটি HTTP অনুরোধ করবে:


  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

পরবর্তী উদাহরণ require ব্যবহার করে, যা বিল্ড টাইমে আপনার অ্যাপে মানগুলি সংকলন করে:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

আপনার অ্যাপে ব্যবহার করার জন্য প্যারামিটার মান পান

এখন আপনি দূরবর্তী কনফিগার অবজেক্ট থেকে প্যারামিটার মান পেতে পারেন। আপনি যদি পরে ব্যাকএন্ডে মানগুলি সেট করেন, সেগুলি আনুন এবং তারপরে সেগুলি সক্রিয় করুন, সেই মানগুলি আপনার অ্যাপে উপলব্ধ৷ এই মানগুলি পেতে, একটি যুক্তি হিসাবে প্যারামিটার কী প্রদান করে getValue() পদ্ধতিতে কল করুন৷

Web version 9

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web version 8

const val = remoteConfig.getValue("welcome_messsage");

প্যারামিটার মান সেট করুন

ফায়ারবেস কনসোল বা রিমোট কনফিগ ব্যাকএন্ড API ব্যবহার করে, আপনি নতুন সার্ভার-সাইড ডিফল্ট মান তৈরি করতে পারেন যা আপনার পছন্দসই শর্তাধীন যুক্তি বা ব্যবহারকারীর টার্গেটিং অনুযায়ী অ্যাপ-মধ্যস্থ মানগুলিকে ওভাররাইড করে৷ এই বিভাগটি আপনাকে এই মানগুলি তৈরি করার জন্য Firebase কনসোলের ধাপগুলির মাধ্যমে নিয়ে যায়।

  1. Firebase কনসোলে , আপনার প্রকল্প খুলুন।
  2. রিমোট কনফিগার ড্যাশবোর্ড দেখতে মেনু থেকে রিমোট কনফিগ নির্বাচন করুন।
  3. আপনি আপনার অ্যাপে যে প্যারামিটারগুলি সংজ্ঞায়িত করেছেন তার মতো একই নামের প্যারামিটারগুলিকে সংজ্ঞায়িত করুন৷ প্রতিটি প্যারামিটারের জন্য, আপনি একটি ডিফল্ট মান সেট করতে পারেন (যা শেষ পর্যন্ত অ্যাপ-মধ্যস্থ ডিফল্ট মানকে ওভাররাইড করবে) এবং আপনি শর্তসাপেক্ষ মানও সেট করতে পারেন। আরও জানতে, দূরবর্তী কনফিগার পরামিতি এবং শর্তাবলী দেখুন।

মান আনুন এবং সক্রিয় করুন

  1. রিমোট কনফিগার ব্যাকএন্ড থেকে প্যারামিটার মান আনতে, fetchConfig() পদ্ধতিতে কল করুন। ব্যাকএন্ডে আপনি যে মান সেট করেছেন তা রিমোট কনফিগার অবজেক্টে আনা এবং ক্যাশে করা হয়।
  2. আপনার অ্যাপে আনা প্যারামিটার মান উপলব্ধ করতে, activate() পদ্ধতিতে কল করুন।

যে ক্ষেত্রে আপনি একটি কলে মান আনতে এবং সক্রিয় করতে চান, এই উদাহরণে দেখানো হিসাবে fetchAndActivate() ব্যবহার করুন:

Web version 9

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web version 8

remoteConfig.fetchAndActivate()
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

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

থ্রটলিং

যদি একটি অ্যাপ অল্প সময়ের মধ্যে খুব বেশি বার আনে, তাহলে কলগুলি থ্রোটল হতে পারে। এই ধরনের ক্ষেত্রে, SDK একটি FETCH_THROTTLE ত্রুটি নিক্ষেপ করে৷ আপনাকে এই ত্রুটিটি ধরতে এবং পরবর্তী আনার অনুরোধগুলির মধ্যে দীর্ঘ বিরতির অপেক্ষা করে সূচকীয় ব্যাকঅফ মোডে পুনরায় চেষ্টা করার পরামর্শ দেওয়া হচ্ছে।

অ্যাপ ডেভেলপমেন্টের সময়, আপনি আপনার অ্যাপ ডেভেলপ এবং পরীক্ষা করার সাথে সাথে দ্রুত পুনরাবৃত্তি করার জন্য আপনি খুব ঘন ঘন ক্যাশে রিফ্রেশ করতে চাইতে পারেন (প্রতি ঘন্টায় অনেক বার)। অসংখ্য ডেভেলপারের সাথে একটি প্রজেক্টে দ্রুত পুনরুক্তির ব্যবস্থা করতে, আপনি সাময়িকভাবে আপনার অ্যাপে একটি কম ন্যূনতম আনয়ন ব্যবধান ( Settings.minimumFetchIntervalMillis ) সহ একটি সম্পত্তি যোগ করতে পারেন।

রিমোট কনফিগারেশনের জন্য ডিফল্ট এবং প্রস্তাবিত প্রোডাকশন আনার ব্যবধান হল 12 ঘন্টা, যার মানে হল 12 ঘন্টার উইন্ডোতে ব্যাকএন্ড থেকে কনফিগারগুলি একবারের বেশি আনা হবে না, আসলে কতগুলি আনা কল করা হোক না কেন। বিশেষ করে, ন্যূনতম আনার ব্যবধান নিম্নলিখিত ক্রমে নির্ধারিত হয়:

  1. Settings.minimumFetchIntervalMillis এ প্যারামিটার।
  2. 12 ঘন্টার ডিফল্ট মান।

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

যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে রিমোট কনফিগারেশন ব্যবহারের কেসগুলি অন্বেষণ করুন এবং কিছু মূল ধারণা এবং উন্নত কৌশলের ডকুমেন্টেশন দেখুন, যার মধ্যে রয়েছে: