ब्यौरा
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>
इससे, विवाद सुलझाने की मौजूदा नीति की जानकारी मिलती है.
पैरामीटर
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(policy: ConflictResolutionPolicy) => void
रिटर्न
-
वादा<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
-
विवरण
-