FirestoreSettings interface

پیکربندی های سفارشی را برای نمونه Cloud Firestore شما مشخص می کند. قبل از فراخوانی هر روش دیگری باید اینها را تنظیم کنید.

امضا:

export declare interface FirestoreSettings 

خواص

ویژگی تایپ کنید شرح
cacheSizeBytes عدد توجه: این قسمت در نسخه اصلی بعدی منسوخ خواهد شد. به جای آن از فیلد cache برای تعیین اندازه کش و سایر تنظیمات حافظه پنهان استفاده کنید. آستانه اندازه کش تقریبی برای داده های روی دیسک. اگر حافظه پنهان از این اندازه بیشتر شود، Firestore شروع به حذف داده‌هایی می‌کند که اخیراً استفاده نشده‌اند. اندازه تضمینی برای باقی ماندن حافظه پنهان در زیر آن اندازه نیست، فقط اگر حافظه پنهان از اندازه داده شده بیشتر شود، پاکسازی انجام می شود. مقدار پیش فرض 40 مگابایت است. آستانه باید روی حداقل 1 مگابایت تنظیم شود و برای غیرفعال کردن جمع‌آوری زباله، می‌توان آن را روی CACHE_SIZE_UNLIMITED تنظیم کرد.
ExperimentalAutoDetectLongPolling بولی انتقال زیرین SDK (WebChannel) را پیکربندی می کند تا به طور خودکار تشخیص دهد که آیا باید از نظرسنجی طولانی استفاده شود یا خیر. این بسیار شبیه به experimentalForceLongPolling است، اما فقط در صورت لزوم از زمان‌گیری طولانی استفاده می‌کند. پس از داشتن مقدار پیش‌فرض false از زمان شروع آن در سال 2019، مقدار پیش‌فرض این تنظیم در می 2023 به true در نسخه 9.22.0 Firebase JavaScript SDK تغییر یافت. یعنی تشخیص خودکار نظرسنجی طولانی اکنون به طور پیش فرض فعال است. برای غیرفعال کردن آن، این تنظیم را روی false قرار دهید و لطفاً یک شماره GitHub را باز کنید تا مشکلاتی را که باعث شده است تشخیص خودکار نظرسنجی طولانی را غیرفعال کنید، به اشتراک بگذارید. این تنظیم را نمی توان در محیط Node.js استفاده کرد.
ExperimentalForceLongPolling بولی انتقال شبکه زیربنایی SDK (WebChannel) را مجبور به استفاده از نظرسنجی طولانی می کند. هر پاسخ از پشتیبان بلافاصله پس از ارسال داده ها توسط backend بسته می شود (به طور پیش فرض پاسخ ها باز نگه داشته می شوند در صورتی که باطن داده های بیشتری برای ارسال داشته باشد). این امر از مشکلات ناسازگاری با برخی از پروکسی ها، نرم افزارهای آنتی ویروس و غیره که به اشتباه ترافیک را به طور نامحدود بافر می کنند، جلوگیری می کند. اگرچه استفاده از این گزینه باعث کاهش عملکرد می شود. این تنظیم با experimentalAutoDetectLongPolling قابل استفاده نیست و ممکن است در نسخه بعدی حذف شود. اگر متوجه شدید که از آن برای حل یک مشکل قابلیت اطمینان شبکه خاص استفاده می‌کنید، لطفاً در https://github.com/firebase/firebase-js-sdk/issues/1674 در مورد آن به ما بگویید. این تنظیم را نمی توان در محیط Node.js استفاده کرد.
ExperimentalLongPollingOptions ExperimentalLongPollingOptions گزینه‌هایی که هنگام استفاده از نظرسنجی طولانی، انتقال شبکه زیرین SDK (WebChannel) را پیکربندی می‌کنند. این گزینه‌ها فقط در صورتی استفاده می‌شوند که experimentalForceLongPolling درست باشد یا experimentalAutoDetectLongPolling درست باشد و تشخیص خودکار تشخیص دهد که به نظرسنجی طولانی نیاز است. در غیر این صورت این گزینه ها هیچ تاثیری ندارند.
میزبان رشته نام میزبان برای اتصال.
ignoreUndefinedProperties بولی اینکه آیا از ویژگی‌های تودرتو که در طول سریال‌سازی شی روی undefined تنظیم شده‌اند، صرفنظر کنیم. اگر روی true تنظیم شود، این ویژگی ها نادیده گرفته می شوند و در Firestor نوشته نمی شوند. اگر روی false تنظیم شود یا حذف شود، SDK زمانی که با ویژگی هایی از نوع undefined مواجه می شود، یک استثنا ایجاد می کند.
localCache FirestoreLocalCache کش مورد استفاده توسط SDK را مشخص می کند. گزینه های موجود MemoryLocalCache و PersistentLocalCache هستند که هر کدام گزینه های پیکربندی متفاوتی دارند. هنگامی که مشخص نشده باشد، MemoryLocalCache به طور پیش فرض استفاده می شود. توجه: تنظیم همزمان این فیلد و cacheSizeBytes باعث ایجاد استثنا در هنگام اولیه سازی SDK می شود. در عوض، از پیکربندی موجود در شی FirestoreLocalCache برای تعیین اندازه کش استفاده کنید.
ssl بولی استفاده از SSL هنگام اتصال.

FirestoreSettings.cacheSizeBytes

توجه: این قسمت در نسخه اصلی بعدی منسوخ خواهد شد. به جای آن از فیلد cache برای تعیین اندازه کش و سایر تنظیمات حافظه پنهان استفاده کنید.

آستانه اندازه کش تقریبی برای داده های روی دیسک. اگر حافظه پنهان از این اندازه بیشتر شود، Firestore شروع به حذف داده‌هایی می‌کند که اخیراً استفاده نشده‌اند. اندازه تضمینی برای باقی ماندن حافظه پنهان در زیر آن اندازه نیست، فقط اگر حافظه پنهان از اندازه داده شده بیشتر شود، پاکسازی انجام می شود.

مقدار پیش فرض 40 مگابایت است. آستانه باید روی حداقل 1 مگابایت تنظیم شود و برای غیرفعال کردن جمع‌آوری زباله، می‌توان آن را روی CACHE_SIZE_UNLIMITED تنظیم کرد.

امضا:

cacheSizeBytes?: number;

FirestoreSettings.experimentalAutoDetectLongPolling

انتقال زیرین SDK (WebChannel) را پیکربندی می کند تا به طور خودکار تشخیص دهد که آیا باید از نظرسنجی طولانی استفاده شود یا خیر. این بسیار شبیه به experimentalForceLongPolling است ، اما فقط در صورت لزوم از روش طولانی رای گیری استفاده می کند.

پس از داشتن مقدار پیش‌فرض false از زمان شروع آن در سال 2019، مقدار پیش‌فرض این تنظیم در می 2023 به true در نسخه 9.22.0 Firebase JavaScript SDK تغییر یافت. یعنی تشخیص خودکار نظرسنجی طولانی اکنون به طور پیش فرض فعال است. برای غیرفعال کردن آن، این تنظیم را روی false قرار دهید و لطفاً برای به اشتراک گذاشتن مشکلاتی که باعث شده است تشخیص خودکار نظرسنجی طولانی را غیرفعال کنید، یک شماره GitHub باز کنید.

این تنظیم را نمی توان در محیط Node.js استفاده کرد.

امضا:

experimentalAutoDetectLongPolling?: boolean;

FirestoreSettings.experimentalForceLongPolling

انتقال شبکه زیربنایی SDK (WebChannel) را مجبور به استفاده از نظرسنجی طولانی می کند. هر پاسخ از پشتیبان بلافاصله پس از ارسال داده ها توسط backend بسته می شود (به طور پیش فرض پاسخ ها باز نگه داشته می شوند در صورتی که باطن داده های بیشتری برای ارسال داشته باشد). این امر از مشکلات ناسازگاری با برخی از پروکسی ها، نرم افزارهای آنتی ویروس و غیره که به اشتباه ترافیک را به طور نامحدود بافر می کنند، جلوگیری می کند. اگرچه استفاده از این گزینه باعث کاهش عملکرد می شود.

این تنظیم با experimentalAutoDetectLongPolling قابل استفاده نیست و ممکن است در نسخه بعدی حذف شود. اگر متوجه شدید که از آن برای حل یک مشکل قابلیت اطمینان شبکه خاص استفاده می‌کنید، لطفاً در https://github.com/firebase/firebase-js-sdk/issues/1674 در مورد آن به ما بگویید.

این تنظیم را نمی توان در محیط Node.js استفاده کرد.

امضا:

experimentalForceLongPolling?: boolean;

FirestoreSettings.experimentalLongPollingOptions

گزینه‌هایی که هنگام استفاده از نظرسنجی طولانی، انتقال شبکه زیرین SDK (WebChannel) را پیکربندی می‌کنند.

این گزینه‌ها فقط در صورتی استفاده می‌شوند که experimentalForceLongPolling درست باشد یا experimentalAutoDetectLongPolling درست باشد و تشخیص خودکار تشخیص دهد که به نظرسنجی طولانی نیاز است. در غیر این صورت این گزینه ها هیچ تاثیری ندارند.

امضا:

experimentalLongPollingOptions?: ExperimentalLongPollingOptions;

FirestoreSettings.host

نام میزبان برای اتصال.

امضا:

host?: string;

FirestoreSettings.ignoreUndefinedProperties

اینکه آیا از ویژگی‌های تودرتو که در طول سریال‌سازی شی روی undefined تنظیم شده‌اند، صرفنظر کنیم. اگر روی true تنظیم شود ، این ویژگی ها نادیده گرفته می شوند و در Firestor نوشته نمی شوند. اگر روی false تنظیم شود یا حذف شود، SDK زمانی که با ویژگی هایی از نوع undefined مواجه می شود، یک استثنا ایجاد می کند. .

امضا:

ignoreUndefinedProperties?: boolean;

FirestoreSettings.localCache

کش مورد استفاده توسط SDK را مشخص می کند. گزینه های موجود MemoryLocalCache و PersistentLocalCache هستند ، هر کدام گزینه های پیکربندی متفاوتی دارند.

هنگامی که مشخص نشده باشد، MemoryLocalCache به طور پیش فرض استفاده می شود.

توجه: تنظیم همزمان این فیلد و cacheSizeBytes باعث ایجاد استثنا در هنگام اولیه سازی SDK می شود. در عوض، از پیکربندی موجود در شی FirestoreLocalCache برای تعیین اندازه کش استفاده کنید.

امضا:

localCache?: FirestoreLocalCache;

FirestoreSettings.ssl

استفاده از SSL هنگام اتصال.

امضا:

ssl?: boolean;