chrome.syncFileSystem

ब्यौरा

Google Drive पर डेटा सेव करने और सिंक करने के लिए, chrome.syncFileSystem API का इस्तेमाल करें. इस एपीआई का इस्तेमाल, Google Drive में सेव किए गए किसी भी उपयोगकर्ता के दस्तावेज़ों को ऐक्सेस करने के लिए नहीं किया जा सकता. यह ऐप्लिकेशन के हिसाब से सिंक किए जा सकने वाले स्टोरेज की सुविधा देता है. इसका इस्तेमाल ऑफ़लाइन और कैश मेमोरी में सेव किए गए डेटा के लिए किया जाता है, ताकि एक ही डेटा अलग-अलग क्लाइंट के लिए उपलब्ध हो सके. इस एपीआई का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, डेटा मैनेज करना लेख पढ़ें.

अनुमतियां

syncFileSystem

टाइप

ConflictResolutionPolicy

Enum

"last_write_win"

"manual"

FileInfo

प्रॉपर्टी

  • ऐक्शन गेम

    SyncAction ज़रूरी नहीं है

    onFileStatusChanged इवेंट को ट्रिगर करने के लिए, सिंक करने की कार्रवाई की गई. कार्रवाई की वैल्यू 'added', 'updated' या 'deleted' हो सकती है. यह सिर्फ़ तब लागू होता है, जब स्टेटस 'synced' हो.

  • दिशा

    SyncDirection optional

    onFileStatusChanged इवेंट के लिए सिंक करने की दिशा. सिंक की दिशा की वैल्यू 'local_to_remote' या 'remote_to_local' हो सकती है. यह सिर्फ़ तब लागू होता है, जब स्टेटस 'synced' हो.

  • fileEntry

    प्रवेश

    fileEntry उस टारगेट फ़ाइल के लिए जिसका स्टेटस बदल गया है. इसमें सिंक की गई फ़ाइल का नाम और पाथ की जानकारी होती है. फ़ाइल मिटाने पर, fileEntry की जानकारी अब भी उपलब्ध रहेगी, लेकिन फ़ाइल मौजूद नहीं रहेगी.

  • स्थिति

    onFileStatusChanged इवेंट के बाद, फ़ाइल का स्टेटस. स्टेटस की वैल्यू 'synced', 'pending' या 'conflicting' हो सकती है.

FileStatus

Enum

"synced"
इसमें कोई टकराव नहीं है और स्थानीय बदलावों को लागू नहीं किया गया है.

"कार्रवाई पूरी नहीं हुई"
इसमें एक या उससे ज़्यादा ऐसे बदलाव शामिल हैं जिन्हें अभी तक सिंक नहीं किया गया है.

"conflicting"
फ़ाइल, रिमोट वर्शन से मेल नहीं खाती है. इसे मैन्युअल तरीके से ठीक करना होगा.

FileStatusInfo

प्रॉपर्टी

  • गड़बड़ी

    string ज़रूरी नहीं है

    यह एक वैकल्पिक गड़बड़ी है. यह गड़बड़ी सिर्फ़ तब दिखती है, जब दी गई फ़ाइल के लिए FileStatus को वापस पाने में कोई समस्या हुई हो.

  • fileEntry

    प्रवेश

    getfileStatuses को दी गई एंट्री में से कोई एक.

  • स्थिति

    स्टेटस की वैल्यू 'synced', 'pending' या 'conflicting' हो सकती है.

ServiceInfo

प्रॉपर्टी

  • ब्यौरा

    स्ट्रिंग

  • राज्य

ServiceStatus

Enum

"शुरू हो रहा है"
सिंक सेवा शुरू हो रही है. जैसे, डेटाबेस से डेटा वापस लाना, कनेक्टिविटी की जांच करना, और सेवा के लिए पुष्टि करना वगैरह.

"चालू है"
सिंक करने की सेवा चालू है और काम कर रही है.

"authentication_required"
सिंक सेवा, फ़ाइलों को सिंक नहीं कर रही है. ऐसा इसलिए है, क्योंकि रिमोट सेवा को आगे बढ़ने के लिए, उपयोगकर्ता से पुष्टि करानी होगी.

"temporary_unavailable"
सिंक करने वाली सेवा, फ़ाइलों को सिंक नहीं कर रही है. इसकी वजह यह है कि कुछ ऐसी गड़बड़ियों की वजह से रिमोट सेवा (कुछ समय के लिए) उपलब्ध नहीं है जिन्हें ठीक किया जा सकता है. जैसे, नेटवर्क ऑफ़लाइन है, रिमोट सेवा बंद है या उस तक पहुंचा नहीं जा सकता वगैरह. OnServiceInfoUpdated में description पैरामीटर के ज़रिए ज़्यादा जानकारी दी जानी चाहिए. इसमें सेवा से जुड़ी जानकारी शामिल हो सकती है.

"बंद है"
सिंक करने की सेवा बंद है. इसलिए, कॉन्टेंट कभी सिंक नहीं होगा. (उदाहरण के लिए, ऐसा तब हो सकता है, जब उपयोगकर्ता का रिमोट सेवा पर कोई खाता न हो या सिंक करने वाली सेवा में कोई ऐसी गड़बड़ी हुई हो जिसे ठीक नहीं किया जा सकता.)

StorageInfo

प्रॉपर्टी

  • quotaBytes

    संख्या

  • usageBytes

    संख्या

SyncAction

Enum

"added"

"updated"

"deleted"

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

तरीके

getConflictResolutionPolicy()

प्रॉमिस
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)
: Promise<ConflictResolutionPolicy>

इससे विवाद हल करने से जुड़ी मौजूदा नीति मिलती है.

पैरामीटर

रिटर्न

  • Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getFileStatus()

प्रॉमिस
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)
: Promise<FileStatus>

यह दी गई fileEntry के लिए, FileStatus दिखाता है. स्टेटस की वैल्यू 'synced', 'pending' या 'conflicting' हो सकती है. ध्यान दें कि 'conflicting' स्थिति सिर्फ़ तब होती है, जब सेवा के विवाद सुलझाने की नीति को 'manual' पर सेट किया जाता है.

पैरामीटर

  • fileEntry

    प्रवेश

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (status: FileStatus) => void

रिटर्न

  • Promise<FileStatus>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getFileStatuses()

प्रॉमिस
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)
: Promise<FileStatusInfo[]>

यह फ़ंक्शन, दिए गए fileEntry ऐरे के लिए हर FileStatus दिखाता है. आम तौर पर, इसे dirReader.readEntries() से मिले नतीजे के साथ कॉल किया जाता है.

पैरामीटर

  • fileEntries

    object[]

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (status: FileStatusInfo[]) => void

रिटर्न

  • Promise<FileStatusInfo[]>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getServiceStatus()

प्रॉमिस
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

सिंक करने वाले मौजूदा बैकएंड का स्टेटस दिखाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (status: ServiceStatus) => void

रिटर्न

  • Promise<ServiceStatus>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getUsageAndQuota()

प्रॉमिस
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

यह फ़ंक्शन, ऐप्लिकेशन के लिए 'syncable' फ़ाइल स्टोरेज के मौजूदा इस्तेमाल और कोटे को बाइट में दिखाता है.

पैरामीटर

  • fileSystem

    DOMFileSystem

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (info: StorageInfo) => void

रिटर्न

  • Promise<StorageInfo>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

requestFileSystem()

प्रॉमिस
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)
: Promise<DOMFileSystem>

Google Drive की मदद से सिंक किए जा सकने वाले फ़ाइल सिस्टम को दिखाता है. DOMFileSystem इंस्टेंस को, Temporary और Persistant फ़ाइल सिस्टम की तरह ही इस्तेमाल किया जा सकता है. इसके बारे में ज़्यादा जानने के लिए, http://dev.w3.org/2009/dap/file-system/file-dir-sys.html पर जाएं.

एक ही ऐप्लिकेशन से इस फ़ंक्शन को कई बार कॉल करने पर, एक ही फ़ाइल सिस्टम के लिए एक ही हैंडल मिलेगा.

ध्यान दें कि यह कॉल फ़ेल हो सकता है. उदाहरण के लिए, अगर उपयोगकर्ता ने Chrome में साइन इन नहीं किया है या कोई नेटवर्क ऑपरेशन नहीं है. इन गड़बड़ियों को ठीक करने के लिए, यह ज़रूरी है कि कॉलबैक में chrome.runtime.lastError की जांच की जाए.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

रिटर्न

  • Promise<DOMFileSystem>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

setConflictResolutionPolicy()

प्रॉमिस
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)
: Promise<void>

यह नीति, ऐप्लिकेशन के लिए 'syncable' फ़ाइल स्टोरेज के लिए, डिफ़ॉल्ट रूप से टकराव हल करने की नीति सेट करती है. डिफ़ॉल्ट रूप से, इसे 'last_write_win' पर सेट किया जाता है. विरोध की समस्या हल करने की नीति को 'last_write_win' पर सेट करने पर, मौजूदा फ़ाइलों से जुड़ी समस्याएं अपने-आप हल हो जाती हैं. ऐसा तब होता है, जब अगली बार फ़ाइल अपडेट की जाती है. अनुरोध पूरा हुआ है या नहीं, यह जानने के लिए callback को वैकल्पिक तौर पर दिया जा सकता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

इवेंट

onFileStatusChanged

chrome.syncFileSystem.onFileStatusChanged.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब बैकग्राउंड सिंक सेवा के ज़रिए किसी फ़ाइल को अपडेट किया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (detail: FileInfo) => void

onServiceStatusChanged

chrome.syncFileSystem.onServiceStatusChanged.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब सिंक बैकएंड में कोई गड़बड़ी होती है या स्थिति में कोई बदलाव होता है. उदाहरण के लिए, जब नेटवर्क या पुष्टि करने से जुड़ी गड़बड़ी की वजह से, सिंक को कुछ समय के लिए बंद कर दिया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (detail: ServiceInfo) => void