شما می توانید از Firebase Remote Config برای تعریف پارامترها در برنامه خود و به روز رسانی مقادیر آنها در فضای ابری استفاده کنید و به شما امکان می دهد ظاهر و رفتار برنامه خود را بدون توزیع به روز رسانی برنامه تغییر دهید. این راهنما شما را در مراحل شروع به کار راهنمایی می کند و نمونه کدی را ارائه می دهد.
مرحله 1: Firebase و Remote Config SDK را به برنامه خود اضافه کنید
اگر قبلاً این کار را نکرده اید ، SDK های Firebase را برای Flutter نصب و مقداردهی اولیه کنید .
برای Remote Config، Google Analytics برای هدفگیری مشروط نمونههای برنامه برای ویژگیهای کاربر و مخاطبان مورد نیاز است. مطمئن شوید که Google Analytics را در پروژه خود فعال کرده اید.
از دایرکتوری ریشه پروژه Flutter خود، دستور زیر را برای نصب افزونه Remote Config اجرا کنید:
flutter pub add firebase_remote_config
همچنین، به عنوان بخشی از تنظیم Remote Config، باید Firebase SDK برای Google Analytics را به برنامه خود اضافه کنید:
flutter pub add firebase_analytics
پروژه خود را بازسازی کنید:
flutter run
اگر از 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 برای ایجاد این مقادیر را توضیح می دهد.
- در کنسول Firebase ، پروژه خود را باز کنید.
- Remote Config را از منو انتخاب کنید تا داشبورد Remote Config را مشاهده کنید.
- پارامترهایی را با همان نام پارامترهایی که در برنامه خود تعریف کرده اید تعریف کنید. برای هر پارامتر، میتوانید یک مقدار پیشفرض تنظیم کنید (که در نهایت مقدار پیشفرض درون برنامه مربوطه را لغو میکند)، و همچنین میتوانید مقادیر شرطی را تنظیم کنید. برای کسب اطلاعات بیشتر، پارامترها و شرایط پیکربندی از راه دور را ببینید.
مرحله 6: مقادیر را واکشی و فعال کنید
برای واکشی مقادیر پارامتر از باطن Remote Config، متد
fetch()
فراخوانی کنید. هر مقداری که در backend تنظیم می کنید در شی Remote Config واکشی و ذخیره می شود.برای در دسترس قرار دادن مقادیر پارامترهای واکشی شده برای برنامه خود، متد
activate()
فراخوانی کنید.برای مواردی که میخواهید مقادیر را در یک تماس واکشی و فعال کنید، میتوانید از یک درخواست
fetchAndActivate()
برای واکشی مقادیر از Remote Config استفاده کنید و آنها را در دسترس برنامه قرار دهید:await remoteConfig.fetchAndActivate();
از آنجایی که این مقادیر پارامتر به روز شده بر رفتار و ظاهر برنامه شما تأثیر می گذارد، باید مقادیر واکشی شده را در زمانی فعال کنید که تجربه یکنواختی را برای کاربر شما تضمین کند، مانند دفعه بعد که کاربر برنامه شما را باز می کند. برای اطلاعات بیشتر و مثالها، به استراتژیهای بارگیری Remote Config مراجعه کنید.
مرحله ۷: بهروزرسانیها را در زمان واقعی گوش دهید
پس از واکشی مقادیر پارامتر، میتوانید از Remote Config بیدرنگ برای گوش دادن به بهروزرسانیهای Remote Config استفاده کنید. زمانی که بهروزرسانیها در دسترس هستند، پیکربندی از راه دور به دستگاههای متصل سیگنال میدهد و پس از انتشار نسخه پیکربندی از راه دور جدید، بهطور خودکار تغییرات را واکشی میکند.
توجه داشته باشید که Remote Config برای وب در دسترس نیست.
در برنامه خود، از
onConfigUpdated
برای شروع گوش دادن به بهروزرسانیها و واکشی خودکار مقادیر پارامترهای جدید استفاده کنید.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });
دفعه بعد که نسخه جدیدی از 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),
));
مراحل بعدی
اگر قبلاً این کار را نکرده اید ، موارد استفاده Remote Config را کاوش کنید و به برخی از مفاهیم کلیدی و مستندات استراتژی های پیشرفته ، از جمله:
،برای تعریف پارامترها در برنامه خود می توانید از پیکربندی Remote Firebase استفاده کنید و مقادیر آنها را در ابر به روز کنید و به شما امکان می دهد بدون توزیع به روزرسانی برنامه ، ظاهر و رفتار برنامه خود را تغییر دهید. این راهنما شما را از طریق مراحل شروع کار می کند و برخی از کد های نمونه را ارائه می دهد.
مرحله 1: Firebase و پیکربندی Remote SDK را به برنامه خود اضافه کنید
اگر قبلاً این کار را نکرده اید ، SDK های Firebase را برای Flutter نصب و اولیه کنید .
برای پیکربندی از راه دور ، Google Analytics برای هدف قرار دادن مشروط نمونه های برنامه به خصوصیات کاربر و مخاطبان مورد نیاز است. اطمینان حاصل کنید که Google Analytics را در پروژه خود فعال کرده اید.
از فهرست اصلی پروژه Flutter خود ، دستور زیر را اجرا کنید تا افزونه از راه دور پیکربندی را نصب کنید:
flutter pub add firebase_remote_config
همچنین ، به عنوان بخشی از تنظیم پیکربندی از راه دور ، باید Firebase SDK را برای Google Analytics به برنامه خود اضافه کنید:
flutter pub add firebase_analytics
پروژه خود را بازسازی کنید:
flutter run
اگر از Remote Config در MACOS استفاده می کنید ، به اشتراک گذاری Keychain در Xcode را فعال کنید.
مرحله 2: از Remote Config Singleton Object را دریافت کنید
یک نمونه شیء از راه دور پیکربندی دریافت کنید و حداقل فاصله واکشی را تنظیم کنید تا امکان تازه کردن مکرر فراهم شود:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
از شیء Singleton برای ذخیره مقادیر پارامتر پیش فرض در برنامه استفاده می شود ، مقادیر پارامتر به روز شده را از پس زمینه دریافت می کند و هنگامی که مقادیر واکشی در دسترس برنامه شما قرار می گیرد ، کنترل می شود.
در حین توسعه ، توصیه می شود فاصله کمتری نسبتاً کم تنظیم کنید. برای کسب اطلاعات بیشتر به لرزش مراجعه کنید.
مرحله 3: مقادیر پارامتر پیش فرض درون برنامه را تنظیم کنید
شما می توانید مقادیر پارامتر پیش فرض درون برنامه را در شیء پیکربندی از راه دور تنظیم کنید ، به طوری که برنامه شما قبل از اتصال به پس زمینه پیکربندی از راه دور ، همانطور که در نظر گرفته شده است رفتار می کند ، و در صورت تنظیم هیچ یک در قسمت پس زمینه ، مقادیر پیش فرض در دسترس است.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
مرحله 4: مقادیر پارامتر را برای استفاده در برنامه خود دریافت کنید
اکنون می توانید مقادیر پارامتر را از شیء پیکربندی از راه دور دریافت کنید. اگر مقادیر را در پس زمینه تنظیم کنید ، آنها را واکشی کنید و سپس آنها را فعال کنید ، این مقادیر در دسترس برنامه شما هستند. در غیر این صورت ، مقادیر پارامتر درون برنامه را با استفاده از setDefaults()
پیکربندی می کنید.
برای به دست آوردن این مقادیر ، با روش ذکر شده در زیر آن نقشه ها را به نوع داده مورد انتظار برنامه خود فراخوانی کنید ، و کلید پارامتر را به عنوان یک آرگومان ارائه دهید:
-
getBool()
-
getDouble()
-
getInt()
-
getString()
مرحله 5: مقادیر پارامتر را در باکتری پیکربندی از راه دور تنظیم کنید
با استفاده از کنسول Firebase یا API های Backend Config Remote ، می توانید مقادیر پیش فرض جدید سرور را ایجاد کنید که مقادیر درون برنامه را با توجه به منطق مشروط مورد نظر یا هدف قرار دادن کاربر غلبه می کند. در این بخش مراحل کنسول Firebase برای ایجاد این مقادیر توضیح داده شده است.
- در کنسول Firebase ، پروژه خود را باز کنید.
- برای مشاهده داشبورد پیکربندی Remote Config Config Config Confort را از منو انتخاب کنید.
- پارامترها را با همان نام هایی با پارامترهایی که در برنامه خود تعریف کرده اید تعریف کنید. برای هر پارامتر ، می توانید یک مقدار پیش فرض (که در نهایت مقدار پیش فرض مربوط به برنامه را نادیده می گیرد) تنظیم کنید ، و همچنین می توانید مقادیر شرطی را تنظیم کنید. برای کسب اطلاعات بیشتر ، به پارامترها و شرایط پیکربندی از راه دور مراجعه کنید.
مرحله ششم: مقادیر را واکشی و فعال کنید
برای واکشی مقادیر پارامتر از باکتری پیکربندی از راه دور ، با روش
fetch()
تماس بگیرید. هر مقداری که در پس زمینه تنظیم کرده اید ، در شیء پیکربندی از راه دور ذخیره می شود و ذخیره می شود.برای اینکه مقادیر پارامتر واکشی را در دسترس برنامه خود قرار دهید ، با روش
activate()
تماس بگیرید.برای مواردی که می خواهید مقادیر را در یک تماس واکشی و فعال کنید ، می توانید از یک درخواست
fetchAndActivate()
برای واکشی مقادیر از پس زمینه پیکربندی از راه دور استفاده کنید و آنها را در دسترس برنامه قرار دهید:await remoteConfig.fetchAndActivate();
از آنجا که این مقادیر پارامتر به روز شده بر رفتار و ظاهر برنامه شما تأثیر می گذارد ، باید مقادیر واکشی را در زمانی فعال کنید که تجربه ای صاف را برای کاربر شما تضمین می کند ، مانند دفعه بعد که کاربر برنامه شما را باز می کند. برای اطلاعات بیشتر و مثال ، به استراتژی های بارگیری پیکربندی از راه دور مراجعه کنید.
مرحله 7: به روزرسانی ها را در زمان واقعی گوش دهید
پس از واکشی مقادیر پارامتر ، می توانید از پیکربندی Remote Remote Time Time برای گوش دادن به روزرسانی از Remote Config Backend استفاده کنید. سیگنال های پیکربندی از راه دور در زمان واقعی هنگامی که به روزرسانی ها در دسترس هستند و به طور خودکار تغییرات را پس از انتشار نسخه جدید پیکربندی از راه دور دریافت می کنند.
توجه داشته باشید که پیکربندی از راه دور در زمان واقعی برای وب در دسترس نیست.
در برنامه خود ، از
onConfigUpdated
استفاده کنید تا گوش دادن به روزرسانی ها را شروع کرده و به طور خودکار مقادیر پارامتر جدیدی را بدست آورید.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });
دفعه بعد که نسخه جدیدی از پیکربندی از راه دور خود را منتشر می کنید ، دستگاه هایی که برنامه شما را اجرا می کنند و به تغییر گوش می دهند ، پیکربندی جدید را فعال می کنند.
گاز دادن
اگر یک برنامه در یک دوره زمانی کوتاه بارها و بارها بارها و بارها انجام شود ، تماس های واکشی از بین می روند و ارزش ویژگی FirebaseRemoteConfig
lastFetchStatus
از RemoteConfigFetchStatus.throttle
خواهد بود.
حداقل فاصله پیش فرض برای پیکربندی از راه دور 12 ساعت است ، به این معنی که پیکربندی ها بیش از یک بار در یک پنجره 12 ساعته ، بدون توجه به چند تماس واکشی در واقع از پس زمینه خارج نمی شوند.
در حین توسعه برنامه ، اگر از پیکربندی از راه دور در زمان واقعی استفاده نمی کنید (که توصیه می کنیم) ، ممکن است بخواهید پیکربندی ها را به طور مکرر (چندین بار در ساعت) واکشی کنید و به شما امکان می دهد تا هنگام تهیه و آزمایش برنامه خود به سرعت تکرار کنید. برای قرار دادن تکرار سریع در یک پروژه با حداکثر 10 توسعه دهنده ، می توانید به طور موقت فاصله کمتری را با setConfigSettings()
تنظیم کنید.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
مراحل بعدی
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: