chrome.syncFileSystem

ब्यौरा

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

अनुमतियां

syncFileSystem

टाइप

ConflictResolutionPolicy

Enum

"last_write_win"

"manual"

FileInfo

प्रॉपर्टी

  • ऐक्शन गेम

    SyncAction ज़रूरी नहीं

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

  • दिशा

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

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

  • fileEntry

    प्रवेश

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

  • स्थिति

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

FileStatus

Enum

"सिंक किया गया"
कोई विरोध नहीं है और कोई स्थानीय बदलाव बाकी नहीं है.

"मंज़ूरी बाकी है"
एक या उससे ज़्यादा स्थानीय बदलावों को मंज़ूरी मिलना बाकी है, जिन्हें सिंक नहीं किया गया है.

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

FileStatusInfo

प्रॉपर्टी

  • गड़बड़ी

    string ज़रूरी नहीं

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

  • fileEntry

    प्रवेश

    getFileStatuses को मूल रूप से दी गई एंट्री में से एक.

  • स्थिति

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

ServiceInfo

प्रॉपर्टी

  • ब्यौरा

    स्ट्रिंग

  • राज्य

ServiceStatus

Enum

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

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

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

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

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

StorageInfo

प्रॉपर्टी

  • quotaBytes

    संख्या

  • usageBytes

    संख्या

SyncAction

Enum

"added"

"updated"

"मिटाया गया"

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

तरीके

getConflictResolutionPolicy()

वादा
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)
: Promise<ConflictResolutionPolicy>

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

पैरामीटर

रिटर्न

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

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

getFileStatus()

वादा
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)
: Promise<FileStatus>

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

पैरामीटर

  • fileEntry

    प्रवेश

  • कॉलबैक

    function ज़रूरी नहीं

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

    (status: FileStatus) => void

रिटर्न

  • Promise<FileStatus>

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

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

getFileStatuses()

वादा
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)
: Promise<FileStatusInfo[]>

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

पैरामीटर

  • fileEntries

    object[]

  • कॉलबैक

    function ज़रूरी नहीं

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

    (status: FileStatusInfo[]) => void

रिटर्न

  • Promise<FileStatusInfo[]>

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

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

getServiceStatus()

वादा
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

यह फ़ंक्शन, सिंक करने वाले बैकएंड की मौजूदा स्थिति दिखाता है.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (status: ServiceStatus) => void

रिटर्न

  • Promise<ServiceStatus>

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

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

getUsageAndQuota()

वादा
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

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

पैरामीटर

  • fileSystem

    DOMFileSystem

  • कॉलबैक

    function ज़रूरी नहीं

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

    (info: StorageInfo) => void

रिटर्न

  • Promise<StorageInfo>

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

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

requestFileSystem()

वादा
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)
: Promise<DOMFileSystem>

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

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

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

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

रिटर्न

  • वादा<DOMFileSystem>

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

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

setConflictResolutionPolicy()

वादा
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

  • वादा<शून्य>

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

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

इवेंट

onFileStatusChanged

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (detail: FileInfo) => void

onServiceStatusChanged

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (detail: ServiceInfo) => void