Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।


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

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

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

ধাপ 1: আপনার অ্যাপে রিমোট কনফিগ যোগ করুন

আপনি Remote Config ব্যবহার করার আগে, আপনাকে করতে হবে:

  • আপনার ইউনিটি প্রজেক্ট নিবন্ধন করুন এবং Firebase ব্যবহার করতে কনফিগার করুন।

    • আপনার ইউনিটি প্রোজেক্ট যদি আগে থেকেই Firebase ব্যবহার করে, তাহলে এটি ইতিমধ্যেই Firebase-এর জন্য নিবন্ধিত এবং কনফিগার করা আছে।

    • আপনার যদি ইউনিটি প্রজেক্ট না থাকে, আপনি একটি নমুনা অ্যাপ ডাউনলোড করতে পারেন।

  • আপনার ইউনিটি প্রোজেক্টে Firebase Unity SDK (বিশেষভাবে, FirebaseRemoteConfig.unitypackage ) যোগ করুন।

মনে রাখবেন যে আপনার ইউনিটি প্রোজেক্টে ফায়ারবেস যোগ করার জন্য ফায়ারবেস কনসোল এবং আপনার ওপেন ইউনিটি প্রোজেক্ট উভয়েরই কাজ জড়িত থাকে (উদাহরণস্বরূপ, আপনি কনসোল থেকে Firebase কনফিগার ফাইলগুলি ডাউনলোড করেন, তারপর সেগুলিকে আপনার ইউনিটি প্রোজেক্টে নিয়ে যান)।

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

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

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

(যখন SetDefaultsAsync() বলা হয় তখন নন-স্ট্রিং প্রপার্টি প্রপার্টির টাইপে রূপান্তরিত হবে)।

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

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

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

এই মানগুলি পেতে, GetValue() ব্যবহার করুন, একটি আর্গুমেন্ট হিসাবে প্যারামিটার কী প্রদান করুন। এটি একটি ConfigValue , যার বৈশিষ্ট্য রয়েছে মানটিকে বিভিন্ন বেস প্রকারে রূপান্তর করার জন্য।

ধাপ 4: Firebase কনসোলে আপনার অ্যাপ কানেক্ট করুন

Firebase কনসোলে , আপনার Firebase প্রকল্পে আপনার অ্যাপ যোগ করুন।

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

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

ধাপ 6: মান আনুন এবং সক্রিয় করুন (প্রয়োজন হিসাবে)

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

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

উপরের কোডে, FetchComplete হল একটি পদ্ধতি যার স্বাক্ষর ContinueWithOnMainThread() এর ওভারলোডগুলির একটির প্যারামিটারের সাথে মেলে।

নীচের নমুনা কোডে, FetchComplete পদ্ধতিটি পূর্ববর্তী টাস্ক ( fetchTask ) পাস করেছে, যা FetchComplete কে এটি শেষ হয়েছে কিনা তা নির্ধারণ করতে দেয়। কোডটি Info.LastFetchStatus ব্যবহার করে তারপর ফিনিসটি সফল হয়েছে কিনা তা নির্ধারণ করতে। যদি তাই হয়, তাহলে activateAsync() ব্যবহার করে রিমোট কনফিগ প্যারামিটারের মানগুলি সক্রিয় করা হয়।

private void FetchComplete(Task fetchTask) {
  if (!fetchTask.IsCompleted) {
    Debug.LogError("Retrieval hasn't finished.");
    return;
  }

  var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
  var info = remoteConfig.Info;
  if(info.LastFetchStatus != LastFetchStatus.Success) {
    Debug.LogError($"{nameof(FetchComplete)} was unsuccessful\n{nameof(info.LastFetchStatus)}: {info.LastFetchStatus}");
    return;
  }

  // Fetch successful. Parameter values must be activated to use.
  remoteConfig.ActivateAsync()
    .ContinueWithOnMainThread(
      task => {
        Debug.Log($"Remote data loaded and ready for use. Last fetch time {info.FetchTime}.");
    });
}

FetchAsync() এর মাধ্যমে আনা মানগুলি স্থানীয়ভাবে ক্যাশে করা হয় যখন ফেচ সম্পূর্ণ হয়, কিন্তু ActivateAsync() চালু না করা পর্যন্ত উপলব্ধ করা হয় না। এটি আপনাকে নিশ্চিত করতে সক্ষম করে যে নতুন মানগুলি গণনার মাঝামাঝি প্রয়োগ করা হয় না বা অন্য সময়ে যা সমস্যা বা অদ্ভুত আচরণের কারণ হতে পারে।

ধাপ 7: (ঐচ্ছিক) বিকাশকারী মোড সক্ষম করুন

বিকাশকারী মোড সক্ষম করতে, যা বিকাশের সময় থ্রটলিং অক্ষম করতে ব্যবহার করা যেতে পারে, আপনি FirebaseRemoteConfig.Setting বৈশিষ্ট্য ব্যবহার করতে পারেন, IsDeveloperMode এর সাথে একটি নতুন ConfigSettings সেট করে IsDeveloperMode সেট করুন৷

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

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: