شروع کار با «پیکربندی از راه دور» در Flutter

انتخاب پلاتفرم: iOS+ Android وب Flutter Unity C++


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

مرحله ۱: افزودن Firebase و Remote Config SDK به برنامه

  1. اگر قبلاً این کار را نکرده‌اید، کیت‌های توسعه نرم‌افزار Firebase را برای Flutter نصب و مقداردهی اولیه کنید.

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

  3. از دایرکتوری ریشه پروژه Flutter، فرمان زیر را برای نصب افزونه «پیکربندی از راه دور» اجرا کنید:

    flutter pub add firebase_remote_config
    

    همچنین، به‌عنوان بخشی از راه‌اندازی «پیکربندی از راه دور»، باید کیت توسعه نرم‌افزار Firebase برای Google Analytics را به برنامه‌تان اضافه کنید:

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

    flutter run
    
  5. اگر از «پیکربندی از راه دور» در macOS استفاده می‌کنید، هم‌رسانی Keychain را در Xcode فعال کنید.

مرحله ۲: دریافت شیء تک‌نمونه «پیکربندی از راه دور»

نمونه شیء «پیکربندی از راه دور» را دریافت کنید و حداقل فاصله واکشی را برای امکان بازآوری مکرر تنظیم کنید:

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

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

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

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

می‌توانید مقادیر پارامتر پیش‌فرض درون‌برنامه را در شیء «پیکربندی از راه دور» تنظیم کنید تا برنامه‌تان قبل‌از اتصال به پسای «پیکربندی از راه دور» طبق انتظار رفتار کند و اگر هیچ مقداری در پسا تنظیم نشده باشد، مقادیر پیش‌فرض دردسترس باشند.

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

مرحله ۴: دریافت مقادیر پارامتر برای استفاده در برنامه

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

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

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

مرحله ۵: تنظیم مقادیر پارامتر در پسای «پیکربندی از راه دور»

بااستفاده از کنسول Firebase یا میاناهای برنامه‌سازی کاربردی پسای «پیکربندی از راه دور»، می‌توانید مقادیر پیش‌فرض جدیدی در سمت سرور ایجاد کنید که مقادیر درون‌برنامه را براساس منطق شرطی یا هدف‌یابی کاربر موردنظرتان لغو کند. این بخش مراحل کنسول Firebase را برای ایجاد این مقادیر شرح می‌دهد.

  1. در کنسول Firebase، به DevOps و تعامل > پیکربندی از راه دور بروید.

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

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

  1. برای واکشی مقادیر پارامتر از پسای «پیکربندی از راه دور»، روش fetch() را فراخوانی کنید. هر مقداری که در پس‌زمینه تنظیم می‌کنید واکشی می‌شود و در شیء «پیکربندی از راه دور» ذخیره می‌شود.

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

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

    await remoteConfig.fetchAndActivate();
    

چون این مقادیر پارامتر به‌روزشده بر رفتار و ظاهر برنامه‌تان تأثیر می‌گذارد، باید مقادیر واکشی‌شده را در زمانی فعال کنید که تجربه روانی برای کاربرتان تضمین شود، مثلاً دفعه بعدی که کاربر برنامه‌تان را باز می‌کند. برای اطلاعات بیشتر و مثال‌ها، به استراتژی‌های بار کردن «پیکربندی از راه دور» مراجعه کنید.

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

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

توجه داشته باشید که «پیکربندی از راه دور» هم‌زمان برای وب دردسترس نیست.

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

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

محدودسازی

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

فاصله واکشی حداقل پیش‌فرض برای «پیکربندی از راه دور» ۱۲ ساعت است، یعنی پیکربندی‌ها بیش‌از یک‌بار در پنجره ۱۲ ساعته از پس‌رانه واکشی نخواهند شد، صرف‌نظر از اینکه چند فراخوانی واکشی واقعاً انجام شده است.

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

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