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 ফাইল ব্যবহার করে প্যারামিটার নামের একটি সেট এবং ডিফল্ট প্যারামিটার মান নির্ধারণ করুন।

    আপনি যদি ইতিমধ্যে রিমোট কনফিগার ব্যাকএন্ড প্যারামিটার মানগুলি কনফিগার করে থাকেন তবে আপনি একটি জেনারেট করা plist ফাইল ডাউনলোড করতে পারেন যাতে সমস্ত ডিফল্ট মান রয়েছে এবং এটি আপনার Xcode প্রকল্পে সংরক্ষণ করতে পারেন।

    বিশ্রাম

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

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

    1. প্যারামিটার ট্যাবে, মেনু খুলুন এবং ডিফল্ট মান ডাউনলোড করুন নির্বাচন করুন।

    2. যখন অনুরোধ করা হয়, iOS এর জন্য .plist সক্ষম করুন, তারপর ফাইল ডাউনলোড করুন ক্লিক করুন।

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

    সুইফট

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    উদ্দেশ্য গ

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

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

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

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

ফায়ারবেস কনসোল বা রিমোট কনফিগ ব্যাকএন্ড 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) {
        if (error != nil) {
          NSLog(@"Activate error: %@", error.localizedDescription);
        } else {
          dispatch_async(dispatch_get_main_queue(), ^{
            [self displayWelcome];
          });
        }
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
}];

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

থ্রটলিং

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

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

রিমোট কনফিগারেশনের জন্য ডিফল্ট এবং প্রস্তাবিত প্রোডাকশন আনার ব্যবধান হল 12 ঘন্টা, যার মানে হল 12 ঘন্টার উইন্ডোতে ব্যাকএন্ড থেকে কনফিগারগুলি একবারের বেশি আনা হবে না, আসলে কতগুলি আনা কল করা হোক না কেন। Specifically, the minimum fetch interval is determined in this following order:

  1. The parameter in fetch(long)
  2. The parameter in FIRRemoteConfigSettings.MinimumFetchInterval
  3. The default value of 12 hours

Next steps

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: