Catch up on everything we announced at this year's Firebase Summit. Learn more

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

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

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

  1. 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: , পদ্ধতি একটি আর্গুমেন্ট হিসাবে পরামিতি কী প্রদান।

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

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 ঘন্টার ডিফল্ট মান

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

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