Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

  1. Firebase SDK এর ইনস্টল করুন iOS এর জন্য।

  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: নিম্নলিখিত উদাহরণটি একটি প্লিস্ট ফাইল থেকে ইন-অ্যাপ ডিফল্ট মান সেট করে:

সুইফট

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

উদ্দেশ্য গ

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

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

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

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

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

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

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

রিমোট কনফিগ থেকে পরামিতির মান আনতে, কল 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 ঘন্টার ডিফল্ট মান

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

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