Firebase-এর জন্য ক্লাউড স্টোরেজ আপনাকে ব্যবহারকারীর তৈরি কন্টেন্ট, যেমন ছবি এবং ভিডিও আপলোড এবং শেয়ার করতে দেয়, যা আপনাকে আপনার অ্যাপগুলিতে রিচ মিডিয়া কন্টেন্ট তৈরি করতে দেয়। আপনার ডেটা একটি Google Cloud Storage বাকেটে সংরক্ষণ করা হয় — উচ্চ প্রাপ্যতা এবং বিশ্বব্যাপী রিডানডেন্সি সহ একটি এক্সাবাইট স্কেল অবজেক্ট স্টোরেজ সমাধান। Firebase-এর জন্য ক্লাউড স্টোরেজ আপনাকে মোবাইল ডিভাইস এবং ওয়েব ব্রাউজার থেকে সরাসরি এই ফাইলগুলি নিরাপদে আপলোড করতে দেয়, সহজেই স্পটি নেটওয়ার্ক পরিচালনা করে।
শুরু করার আগে
- যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে নিশ্চিত করুন যে আপনি Flutter অ্যাপের জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করেছেন। এর মধ্যে রয়েছে: - একটি ফায়ারবেস প্রকল্প তৈরি করা। 
- ফ্লটারের জন্য ফায়ারবেস SDK ইনস্টল এবং আরম্ভ করা। 
 
- নিশ্চিত করুন যে আপনার Firebase প্রকল্পটি Pay-as-you-go Blaze মূল্য পরিকল্পনায় আছে, যা ২০২৪ সালের অক্টোবরে শুরু হওয়া একটি প্রয়োজনীয়তা (আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী দেখুন)। আপনি যদি Firebase এবং Google Cloud-এ নতুন হন, তাহলে আপনি $300 ক্রেডিটের জন্য যোগ্য কিনা তা পরীক্ষা করুন। 
একটি ডিফল্ট ক্লাউড স্টোরেজ বাকেট তৈরি করুন
- Firebase কনসোলের নেভিগেশন প্যান থেকে, Storage নির্বাচন করুন। - যদি আপনার প্রকল্পটি এখনও পে-অ্যাজ-ইউ-গো ব্লেজ প্রাইসিং প্ল্যানে না থাকে, তাহলে আপনাকে আপনার প্রকল্পটি আপগ্রেড করার জন্য অনুরোধ করা হবে। 
- শুরু করুন ক্লিক করুন। 
- আপনার ডিফল্ট বাকেটের জন্য একটি অবস্থান নির্বাচন করুন। - বালতিতে - US-CENTRAL1,- US-EAST1, এবং- US-WEST1Google Cloud Storage জন্য "সর্বদা বিনামূল্যে" স্তরের সুবিধা নিতে পারে। অন্যান্য সমস্ত স্থানে বাকেটগুলি Google Cloud Storage মূল্য এবং ব্যবহার অনুসরণ করে।
- আপনি যদি চান, আপনি পরে একাধিক বাকেট তৈরি করতে পারেন, প্রতিটির নিজস্ব অবস্থান থাকবে। 
 
- আপনার ডিফল্ট বাকেটের জন্য Firebase Security Rules কনফিগার করুন। ডেভেলপমেন্টের সময়, সর্বজনীন অ্যাক্সেসের জন্য আপনার নিয়ম সেট আপ করার কথা বিবেচনা করুন। 
- সম্পন্ন ক্লিক করুন। 
 আপনি এখন Firebase কনসোলের Cloud Storage Files ট্যাবে বাকেটটি দেখতে পারবেন। আপনার ডিফল্ট বাকেট নামের ফর্ম্যাট হলPROJECT_ID .firebasestorage.app .
সর্বজনীন অ্যাক্সেস সেট আপ করুন
Firebase-এর জন্য ক্লাউড স্টোরেজ একটি ঘোষণামূলক নিয়ম ভাষা প্রদান করে যা আপনাকে আপনার ডেটা কীভাবে গঠন করা উচিত, কীভাবে এটি সূচী করা উচিত এবং কখন আপনার ডেটা থেকে পড়া এবং লেখা যেতে পারে তা নির্ধারণ করতে দেয়। ডিফল্টরূপে, ক্লাউড স্টোরেজে পড়ার এবং লেখার অ্যাক্সেস সীমাবদ্ধ তাই শুধুমাত্র প্রমাণিত ব্যবহারকারীরা ডেটা পড়তে বা লিখতে পারেন। Firebase প্রমাণীকরণ সেট আপ না করেই শুরু করতে, আপনি সর্বজনীন অ্যাক্সেসের জন্য আপনার নিয়মগুলি কনফিগার করতে পারেন।
এর ফলে ক্লাউড স্টোরেজ সকলের জন্য উন্মুক্ত হয়ে যায়, এমনকি যারা আপনার অ্যাপ ব্যবহার করছেন না তারাও, তাই প্রমাণীকরণ সেট আপ করার সময় আপনার ক্লাউড স্টোরেজ আবার সীমাবদ্ধ করতে ভুলবেন না।
আপনার অ্যাপে ক্লাউড স্টোরেজ SDK যোগ করুন
- আপনার Flutter প্রকল্পের মূল থেকে, প্লাগইনটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান: - flutter pub add firebase_storage
- একবার সম্পূর্ণ হয়ে গেলে, আপনার Flutter অ্যাপ্লিকেশনটি পুনর্নির্মাণ করুন: - flutter run
- আপনার ডার্ট কোডে প্লাগইনটি আমদানি করুন: - import 'package:firebase_storage/firebase_storage.dart';
ক্লাউড স্টোরেজ সেট আপ করুন
- আপনার Flutter প্রজেক্ট ডিরেক্টরি থেকে - flutterfire configureচালান। এটি আপনার অ্যাপের কোডবেসে Firebase কনফিগারেশন ফাইল (- firebase_options.dart) আপডেট করে যাতে এটিতে আপনার ডিফল্ট Cloud Storage বাকেটের নাম থাকে।
- FirebaseStorageএর একটি ইনস্ট্যান্স তৈরি করে আপনার ক্লাউড স্টোরেজ বাকেট অ্যাক্সেস করুন:- final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
আপনি ক্লাউড স্টোরেজ ব্যবহার শুরু করতে প্রস্তুত!
পরবর্তী পদক্ষেপ? ক্লাউড স্টোরেজ রেফারেন্স তৈরি করতে শিখুন।
উন্নত সেটআপ
কিছু ব্যবহারের ক্ষেত্রে অতিরিক্ত সেটআপের প্রয়োজন হয়:
- একাধিক ভৌগোলিক অঞ্চলে ক্লাউড স্টোরেজ বাকেট ব্যবহার করা
- বিভিন্ন স্টোরেজ ক্লাসে ক্লাউড স্টোরেজ বাকেট ব্যবহার করা
- একই অ্যাপে একাধিক প্রমাণিত ব্যবহারকারীর সাথে ক্লাউড স্টোরেজ বাকেট ব্যবহার করা
যদি আপনার বিশ্বজুড়ে ব্যবহারকারী থাকে এবং আপনি তাদের কাছাকাছি তাদের ডেটা সংরক্ষণ করতে চান, তাহলে প্রথম ব্যবহারের ক্ষেত্রে এটি উপযুক্ত। উদাহরণস্বরূপ, আপনি মার্কিন যুক্তরাষ্ট্র, ইউরোপ এবং এশিয়ায় বাকেট তৈরি করতে পারেন যেখানে ল্যাটেন্সি কমাতে সেই অঞ্চলের ব্যবহারকারীদের জন্য ডেটা সংরক্ষণ করা যাবে।
যদি আপনার কাছে বিভিন্ন অ্যাক্সেস প্যাটার্নের ডেটা থাকে তবে দ্বিতীয় ব্যবহারের ক্ষেত্রে এটি সহায়ক। উদাহরণস্বরূপ: আপনি একটি মাল্টি-রিজিওনাল বা আঞ্চলিক বাকেট সেট আপ করতে পারেন যা ছবি বা অন্যান্য ঘন ঘন অ্যাক্সেস করা সামগ্রী সংরক্ষণ করে, এবং একটি নিয়ারলাইন বা কোল্ডলাইন বাকেট যা ব্যবহারকারীর ব্যাকআপ বা অন্যান্য কদাচিৎ অ্যাক্সেস করা সামগ্রী সংরক্ষণ করে।
এই ব্যবহারের যেকোনো ক্ষেত্রে, আপনাকে একাধিক ক্লাউড স্টোরেজ বাকেট ব্যবহার করতে হবে।
তৃতীয় ব্যবহারের ধরণটি কার্যকর যদি আপনি একটি অ্যাপ তৈরি করেন, যেমন গুগল ড্রাইভ, যা ব্যবহারকারীদের একাধিক লগ ইন অ্যাকাউন্ট (উদাহরণস্বরূপ, একটি ব্যক্তিগত অ্যাকাউন্ট এবং একটি কাজের অ্যাকাউন্ট) রাখতে দেয়। প্রতিটি অতিরিক্ত অ্যাকাউন্ট প্রমাণীকরণের জন্য আপনি একটি কাস্টম ফায়ারবেস অ্যাপ ইনস্ট্যান্স ব্যবহার করতে পারেন।
একাধিক ক্লাউড স্টোরেজ বাকেট ব্যবহার করুন
 যদি আপনি উপরে প্রদত্ত ডিফল্ট ব্যতীত অন্য কোনও ক্লাউড স্টোরেজ বাকেট ব্যবহার করতে চান, অথবা একটি একক অ্যাপে একাধিক ক্লাউড স্টোরেজ বাকেট ব্যবহার করতে চান, তাহলে আপনি FirebaseStorage এর একটি উদাহরণ তৈরি করতে পারেন যা আপনার কাস্টম বাকেটকে উল্লেখ করে:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
আমদানি করা বালতি নিয়ে কাজ করা
 Firebase-এ বিদ্যমান ক্লাউড স্টোরেজ বাকেট আমদানি করার সময়, আপনাকে Google Cloud SDK- তে অন্তর্ভুক্ত gsutil টুল ব্যবহার করে Firebase-কে এই ফাইলগুলি অ্যাক্সেস করার ক্ষমতা প্রদান করতে হবে:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET
ফায়ারবেস প্রজেক্টের ভূমিকায় বর্ণিত পদ্ধতিতে আপনি আপনার প্রজেক্ট নম্বরটি খুঁজে পেতে পারেন।
এটি নতুন তৈরি বাকেটগুলিকে প্রভাবিত করে না, কারণ এগুলিতে ফায়ারবেসকে অনুমতি দেওয়ার জন্য ডিফল্ট অ্যাক্সেস নিয়ন্ত্রণ সেট থাকে। এটি একটি অস্থায়ী ব্যবস্থা, এবং ভবিষ্যতে স্বয়ংক্রিয়ভাবে সম্পাদিত হবে।
একটি কাস্টম ফায়ারবেস অ্যাপ ব্যবহার করুন
 যদি আপনি একটি কাস্টম FirebaseApp ব্যবহার করে আরও জটিল অ্যাপ তৈরি করেন, তাহলে আপনি সেই অ্যাপ দিয়ে FirebaseStorage শুরু করার একটি উদাহরণ তৈরি করতে পারেন:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
পরবর্তী পদক্ষেপ
-  আপনার অ্যাপ চালু করার জন্য প্রস্তুত হোন:- শুধুমাত্র আপনার অ্যাপগুলি যাতে আপনার স্টোরেজ বাকেট অ্যাক্সেস করতে পারে তা নিশ্চিত করতে অ্যাপ চেক সক্ষম করুন।
- গুগল ক্লাউড কনসোলে আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করুন।
- একাধিক Firebase পরিষেবা জুড়ে আপনার প্রকল্পের ব্যবহারের সামগ্রিক চিত্র পেতে Firebase কনসোলে ব্যবহার এবং বিলিং ড্যাশবোর্ড পর্যবেক্ষণ করুন। আরও বিস্তারিত ব্যবহারের তথ্যের জন্য আপনি ক্লাউড স্টোরেজ ব্যবহার ড্যাশবোর্ডেও যেতে পারেন।
- ফায়ারবেস লঞ্চ চেকলিস্ট পর্যালোচনা করুন।