با Firebase Remote Config شروع کنید


شما می توانید از Firebase Remote Config برای تعریف پارامترها در برنامه خود و به روز رسانی مقادیر آنها در فضای ابری استفاده کنید و به شما امکان می دهد ظاهر و رفتار برنامه خود را بدون توزیع به روز رسانی برنامه تغییر دهید. این راهنما شما را در مراحل شروع به کار راهنمایی می کند و نمونه کدی را ارائه می دهد.

مرحله 1: Firebase و Remote Config SDK را به برنامه خود اضافه کنید

  1. اگر قبلاً این کار را نکرده اید ، SDK های Firebase را برای Flutter نصب و مقداردهی اولیه کنید .

  2. برای Remote Config، Google Analytics برای هدف‌گیری مشروط نمونه‌های برنامه برای ویژگی‌های کاربر و مخاطبان مورد نیاز است. مطمئن شوید که Google Analytics را در پروژه خود فعال کرده اید.

  3. از دایرکتوری ریشه پروژه Flutter خود، دستور زیر را برای نصب افزونه Remote Config اجرا کنید:

    flutter pub add firebase_remote_config
    

    همچنین، به عنوان بخشی از تنظیم Remote Config، باید Firebase SDK برای Google Analytics را به برنامه خود اضافه کنید:

    flutter pub add firebase_analytics
    
  4. پروژه خود را بازسازی کنید:

    flutter run
    
  5. اگر از Remote Config در macOS استفاده می کنید، Keychain Sharing را در Xcode فعال کنید.

مرحله 2: شئ Remote Config singleton را دریافت کنید

یک نمونه شی Remote Config دریافت کنید و حداقل فاصله واکشی را تنظیم کنید تا امکان تازه کردن مکرر وجود داشته باشد:

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

شی singleton برای ذخیره مقادیر پارامترهای پیش‌فرض درون برنامه، واکشی مقادیر پارامترهای به‌روزشده از باطن، و کنترل زمانی که مقادیر واکشی شده در دسترس برنامه شما قرار می‌گیرد، استفاده می‌شود.

در طول توسعه، توصیه می شود حداقل فاصله واکشی نسبتاً کم را تنظیم کنید. برای اطلاعات بیشتر Throttling را ببینید.

مرحله 3: مقادیر پارامترهای پیش فرض درون برنامه را تنظیم کنید

می‌توانید مقادیر پارامترهای پیش‌فرض درون برنامه‌ای را در شی Remote Config تنظیم کنید، به طوری که برنامه شما قبل از اتصال به پشتیبان Remote Config همانطور که می‌خواهید رفتار کند، و اگر مقادیر پیش‌فرض در backend تنظیم نشده باشد، در دسترس باشند.

await remoteConfig.setDefaults(const {
    "example_param_1": 42,
    "example_param_2": 3.14159,
    "example_param_3": true,
    "example_param_4": "Hello, world!",
});

مرحله 4: مقادیر پارامتر را برای استفاده در برنامه خود دریافت کنید

اکنون می توانید مقادیر پارامتر را از شی Remote Config دریافت کنید. اگر مقادیری را در backend تنظیم کنید، آنها را واکشی کنید و سپس آنها را فعال کنید، این مقادیر برای برنامه شما در دسترس هستند. در غیر این صورت، مقادیر پارامتر درون برنامه را با استفاده از setDefaults() پیکربندی می‌کنید.

برای دریافت این مقادیر، روش فهرست شده در زیر را فراخوانی کنید که با نوع داده مورد انتظار برنامه شما مطابقت دارد و کلید پارامتر را به عنوان آرگومان ارائه می دهد:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

مرحله 5: مقادیر پارامتر را در باطن Remote Config تنظیم کنید

با استفاده از کنسول Firebase یا Remote Config Backend API ، می‌توانید مقادیر پیش‌فرض سمت سرور جدیدی ایجاد کنید که مقادیر درون‌برنامه را مطابق با منطق شرطی دلخواه یا هدف‌گذاری کاربر لغو می‌کند. این بخش مراحل کنسول Firebase برای ایجاد این مقادیر را توضیح می دهد.

  1. در کنسول Firebase ، پروژه خود را باز کنید.
  2. Remote Config را از منو انتخاب کنید تا داشبورد Remote Config را مشاهده کنید.
  3. پارامترهایی را با همان نام پارامترهایی که در برنامه خود تعریف کرده اید تعریف کنید. برای هر پارامتر، می‌توانید یک مقدار پیش‌فرض تنظیم کنید (که در نهایت مقدار پیش‌فرض درون برنامه مربوطه را لغو می‌کند)، و همچنین می‌توانید مقادیر شرطی را تنظیم کنید. برای کسب اطلاعات بیشتر، پارامترها و شرایط پیکربندی از راه دور را ببینید.

مرحله 6: مقادیر را واکشی و فعال کنید

  1. برای واکشی مقادیر پارامتر از باطن Remote Config، متد fetch() را فراخوانی کنید. هر مقداری که در backend تنظیم می کنید در شی Remote Config واکشی و ذخیره می شود.

  2. برای در دسترس قرار دادن مقادیر پارامترهای واکشی شده برای برنامه خود، متد activate() را فراخوانی کنید.

    برای مواردی که می‌خواهید مقادیر را در یک تماس واکشی و فعال کنید، می‌توانید از یک درخواست fetchAndActivate() برای واکشی مقادیر از Remote Config استفاده کنید و آنها را در دسترس برنامه قرار دهید:

    await remoteConfig.fetchAndActivate();
    

از آنجایی که این مقادیر پارامتر به روز شده بر رفتار و ظاهر برنامه شما تأثیر می گذارد، باید مقادیر واکشی شده را در زمانی فعال کنید که تجربه یکنواختی را برای کاربر شما تضمین کند، مانند دفعه بعد که کاربر برنامه شما را باز می کند. برای اطلاعات بیشتر و مثال‌ها، به استراتژی‌های بارگیری Remote Config مراجعه کنید.

مرحله ۷: به‌روزرسانی‌ها را در زمان واقعی گوش دهید

پس از واکشی مقادیر پارامتر، می‌توانید از Remote Config بی‌درنگ برای گوش دادن به به‌روزرسانی‌های Remote Config استفاده کنید. زمانی که به‌روزرسانی‌ها در دسترس هستند، پیکربندی از راه دور به دستگاه‌های متصل سیگنال می‌دهد و پس از انتشار نسخه پیکربندی از راه دور جدید، به‌طور خودکار تغییرات را واکشی می‌کند.

توجه داشته باشید که Remote Config برای وب در دسترس نیست.

  1. در برنامه خود، از onConfigUpdated برای شروع گوش دادن به به‌روزرسانی‌ها و واکشی خودکار مقادیر پارامترهای جدید استفاده کنید.

     remoteConfig.onConfigUpdated.listen((event) async {
       await remoteConfig.activate();
    
       // Use the new config values here.
     });
    
  2. دفعه بعد که نسخه جدیدی از Remote Config خود را منتشر می کنید، دستگاه هایی که برنامه شما را اجرا می کنند و به تغییرات گوش می دهند، پیکربندی جدید را فعال می کنند.

گاز دادن

اگر یک برنامه در مدت زمان کوتاهی بارها واکشی کند، تماس‌های واکشی کاهش می‌یابد و مقدار ویژگی lastFetchStatus FirebaseRemoteConfig RemoteConfigFetchStatus.throttle خواهد بود.

حداقل فاصله واکشی پیش‌فرض برای Remote Config 12 ساعت است، به این معنی که پیکربندی‌ها بیش از یک بار در یک پنجره 12 ساعته از پشتیبان دریافت نمی‌شوند، صرف نظر از اینکه واقعاً چند تماس واکشی انجام شده است.

در طول توسعه برنامه، اگر از Remote Config بی‌درنگ (که ما توصیه می‌کنیم) استفاده نمی‌کنید، ممکن است بخواهید پیکربندی‌ها را به‌طور مکرر واکشی و فعال کنید (در هر ساعت چند بار) تا به شما اجازه دهد در حین توسعه و آزمایش برنامه‌تان به سرعت تکرار کنید. برای تطبیق تکرار سریع در پروژه ای با حداکثر 10 توسعه دهنده، می توانید به طور موقت حداقل فاصله واکشی پایین را با setConfigSettings() تنظیم کنید.

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

مراحل بعدی

اگر قبلاً این کار را نکرده اید ، موارد استفاده از راه دور از پیکربندی را کاوش کنید و به برخی از مفاهیم کلیدی و مستندات استراتژی های پیشرفته ، از جمله: