chrome.syncFileSystem

বিবরণ

Google Drive-এ ডেটা সেভ ও সিঙ্ক করতে chrome.syncFileSystem API ব্যবহার করুন। এই API, Google Drive-এ স্টোর করা ব্যবহারকারীর ইচ্ছামতো ডকুমেন্ট অ্যাক্সেস করার জন্য নয়। এটি অফলাইন ও ক্যাশিং ব্যবহারের জন্য অ্যাপ-নির্দিষ্ট সিঙ্ক করা যায় এমন স্টোরেজ প্রদান করে যাতে একই ডেটা বিভিন্ন ক্লায়েন্ট জুড়ে উপলভ্য হতে পারে। এই API ব্যবহার করার ব্যাপারে আরও জানতে ডেটা ম্যানেজ করুন নিবন্ধটি পড়ুন।

অনুমতি

syncFileSystem

ধরন

ConflictResolutionPolicy

Enum

"last_write_win"

"ম্যানুয়াল"

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

"সিঙ্ক করা হয়েছে"
কোনও বিরোধ নেই এবং কোনও স্থানীয় পরিবর্তন বাকি নেই।

"বাকি আছে"
এক বা একাধিক স্থানীয় পরিবর্তন বাকি আছে যা সিঙ্ক করা হয়নি।

"কনফ্লিক্ট হচ্ছে"
রিমোট ভার্সনের সাথে ফাইলের কনফ্লিক্ট হচ্ছে এবং ম্যানুয়ালি সমাধান করতে হবে।

FileStatusInfo

প্রপার্টি

  • সমস্যা

    স্ট্রিং ঐচ্ছিক

    ঐচ্ছিক সমস্যা যা শুধুমাত্র তখনই দেখানো হয় যখন প্রদত্ত ফাইলের জন্য FileStatus ফিরিয়ে আনার ক্ষেত্রে কোনও সমস্যা হয়।

  • fileEntry

    এন্ট্রি

    getFileStatuses-এ প্রাথমিকভাবে দেওয়া এন্ট্রির মধ্যে একটি।

  • স্ট্যাটাস

    স্ট্যাটাস ভ্যালু 'synced', 'pending' বা 'conflicting' হতে পারে।

ServiceInfo

প্রপার্টি

  • বর্ণনা

    স্ট্রিং

  • রাজ্য

ServiceStatus

Enum

"শুরু করা হচ্ছে"
সিঙ্ক পরিষেবা শুরু করা হচ্ছে (যেমন, ডেটাবেস থেকে ডেটা ফিরিয়ে আনা, কানেক্টিভিটি চেক করা এবং পরিষেবার জন্য যাচাই করা ইত্যাদি)।

"চলছে"
সিঙ্ক পরিষেবা চালু আছে।

"authentication_required"
সিঙ্ক পরিষেবা ফাইল সিঙ্ক্রোনাইজ করছে না কারণ রিমোট পরিষেবা ব্যবহারকারীর দ্বারা যাচাই করা প্রয়োজন।

"temporary_unavailable"
সিঙ্ক পরিষেবা ফাইল সিঙ্ক করছে না কারণ রিমোট পরিষেবা (সাময়িকভাবে) উপলভ্য নেই, যার কারণ হল কিছু সমাধানযোগ্য সমস্যা, যেমন নেটওয়ার্ক অফলাইন আছে, রিমোট পরিষেবা ডাউন আছে বা পৌঁছানো যাচ্ছে না ইত্যাদি। OnServiceInfoUpdated-এ description প্যারামিটার দ্বারা আরও বিবরণ দেওয়া উচিত (যার মধ্যে পরিষেবা-নির্দিষ্ট বিবরণ থাকতে পারে)।

"বন্ধ করা আছে"
সিঙ্ক পরিষেবা বন্ধ করা আছে এবং কন্টেন্ট কখনই সিঙ্ক হবে না। (যেমন, রিমোট সার্ভিসে ব্যবহারকারীর কোনও অ্যাকাউন্ট না থাকলে বা সিঙ্ক সার্ভিসে ডেটা ফিরিয়ে আনা যাবে না এমন সমস্যা হলে এটি হতে পারে।)

StorageInfo

প্রপার্টি

  • quotaBytes

    নম্বর

  • usageBytes

    নম্বর

SyncAction

Enum

"যোগ করা হয়েছে"

"আপডেট করা হয়েছে"

"মুছে দেওয়া হয়েছে"

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

    এন্ট্রি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    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

    অবজেক্ট[]

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (status: FileStatusInfo[]) => void

রিটার্ন

  • Promise<FileStatusInfo[]>

    Chrome 117+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getServiceStatus()

প্রতিশ্রুতি
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

বর্তমান সিঙ্ক ব্যাকএন্ড স্ট্যাটাস দেখায়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (status: ServiceStatus) => void

রিটার্ন

  • Promise<ServiceStatus>

    Chrome 117+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getUsageAndQuota()

প্রতিশ্রুতি
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

অ্যাপের জন্য 'syncable' ফাইল স্টোরেজের জন্য বাইটে বর্তমান ব্যবহার এবং কোটা ফেরত দেয়।

প্যারামিটারগুলি

  • fileSystem

    DOMFileSystem

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    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 চেক করা গুরুত্বপূর্ণ।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    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 দেওয়া যেতে পারে।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <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