پیکربندی های سفارشی را برای نمونه 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;