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

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

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

  1. Apple প্ল্যাটফর্মের জন্য Firebase SDK ইনস্টল করুন

  2. সিঙ্গলটন রিমোট কনফিগার অবজেক্ট তৈরি করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

    সুইফট

    remoteConfig = RemoteConfig.remoteConfig()
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings

    উদ্দেশ্য গ

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
    remoteConfigSettings.minimumFetchInterval = 0;
    self.remoteConfig.configSettings = remoteConfigSettings;

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

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

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

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

  1. একটি NSDictionary অবজেক্ট বা একটি plist ফাইল ব্যবহার করে প্যারামিটার নামের একটি সেট এবং ডিফল্ট প্যারামিটার মান নির্ধারণ করুন।
  2. setDefaults: নিম্নলিখিত উদাহরণটি একটি plist ফাইল থেকে অ্যাপ-মধ্যস্থ ডিফল্ট মান সেট করে:

সুইফট

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

উদ্দেশ্য গ

[self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];

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

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

পরামিতি মান সেট করুন

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

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

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

Remote Config থেকে প্যারামিটার মান আনতে, fetchWithCompletionHandler: অথবা fetchWithExpirationDuration:completionHandler: পদ্ধতিতে কল করুন। আপনি ব্যাকএন্ডে সেট করেছেন এমন যেকোনো মান রিমোট কনফিগারেশন অবজেক্টে আনা এবং ক্যাশে করা হয়।

এমন ক্ষেত্রে যেখানে আপনি একটি কলে মান আনতে এবং সক্রিয় করতে চান, fetchAndActivateWithCompletionHandler:

এই উদাহরণটি রিমোট কনফিগ ব্যাকএন্ড (ক্যাশে করা মান নয়) থেকে মানগুলি নিয়ে আসে এবং activateWithCompletionHandler: সেগুলি অ্যাপে উপলব্ধ করতে:

সুইফট

remoteConfig.fetch { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate { changed, error in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.displayWelcome()
}

উদ্দেশ্য গ

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self displayWelcome];
}];

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

থ্রটলিং

যদি একটি অ্যাপ অল্প সময়ের মধ্যে অনেকবার আনয়ন করে, তবে কলগুলি থ্রোটল করা হয় এবং SDK ফেরত দেয় FIRRemoteConfigFetchStatusThrottled । SDK সংস্করণ 6.3.0 এর আগে, 60 মিনিটের উইন্ডোতে 5টি আনার অনুরোধের সীমা ছিল (নতুন সংস্করণগুলির আরও অনুমতিমূলক সীমা রয়েছে)।

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

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

  1. fetch(long)
  2. FIRRemoteConfigSettings.MinimumFetchInterval এ প্যারামিটার
  3. 12 ঘন্টার ডিফল্ট মান

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

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