Apple প্ল্যাটফর্মে ক্লাউড স্টোরেজ দিয়ে শুরু করুন

Cloud Storage for Firebase আপনাকে ব্যবহারকারী-সৃষ্ট কন্টেন্ট, যেমন ছবি এবং ভিডিও, আপলোড ও শেয়ার করার সুযোগ দেয়, যার মাধ্যমে আপনি আপনার অ্যাপে রিচ মিডিয়া কন্টেন্ট তৈরি করতে পারেন। আপনার ডেটা একটি Google Cloud Storage বাকেটে সংরক্ষিত থাকে — এটি একটি এক্সাবাইট স্কেল অবজেক্ট স্টোরেজ সলিউশন, যাতে রয়েছে উচ্চ প্রাপ্যতা এবং গ্লোবাল রিডানডেন্সি। Cloud Storage for Firebase আপনাকে এই ফাইলগুলো সরাসরি মোবাইল ডিভাইস এবং ওয়েব ব্রাউজার থেকে নিরাপদে আপলোড করার সুবিধা দেয় এবং দুর্বল নেটওয়ার্কও সহজে সামাল দেয়।

শুরু করার আগে

  1. যদি আপনি ইতিমধ্যেই তা না করে থাকেন, তাহলে অ্যাপল প্ল্যাটফর্ম অ্যাপগুলির জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করে নিন। এর মধ্যে রয়েছে:

    • একটি ফায়ারবেস প্রজেক্ট তৈরি করা হচ্ছে।

    • প্রজেক্টের সাথে আপনার অ্যাপল প্ল্যাটফর্ম অ্যাপটি রেজিস্টার করুন এবং আপনার অ্যাপে ফায়ারবেস লাইব্রেরি ও ফায়ারবেস কনফিগারেশন ফাইল ( GoogleService-Info.plist ) যোগ করে অ্যাপটিকে ফায়ারবেসের সাথে সংযুক্ত করুন।

  2. আপনার Firebase প্রজেক্টটি যেন পে-অ্যাজ-ইউ-গো ব্লেজ প্রাইসিং প্ল্যানে থাকে, তা নিশ্চিত করুন, যা অক্টোবর ২০২৪ থেকে কার্যকর হওয়া একটি আবশ্যিক শর্ত (আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী দেখুন)। আপনি যদি Firebase এবং Google Cloud-এ নতুন হন, তবে আপনি $300 ক্রেডিটের জন্য যোগ্য কিনা তা যাচাই করে দেখুন।

একটি ডিফল্ট Cloud Storage বাকেট তৈরি করুন

  1. Firebase কনসোলের নেভিগেশন প্যান থেকে Storage নির্বাচন করুন।

    আপনার প্রজেক্টটি যদি এখনও ব্লেজের পে-অ্যাজ-ইউ-গো প্রাইসিং প্ল্যানে অন্তর্ভুক্ত না থাকে, তাহলে আপনাকে প্রজেক্টটি আপগ্রেড করার জন্য অনুরোধ করা হবে।

  2. শুরু করতে ক্লিক করুন।

  3. আপনার ডিফল্ট বাকেটের জন্য একটি অবস্থান নির্বাচন করুন।

  4. আপনার ডিফল্ট বাকেটের জন্য Firebase Security Rules কনফিগার করুন। ডেভেলপমেন্টের সময়, পাবলিক অ্যাক্সেসের জন্য আপনার নিয়মগুলো সেট আপ করার কথা বিবেচনা করুন।

  5. সম্পন্ন ক্লিক করুন।

আপনি এখন Firebase কনসোলের Cloud Storage ফাইলস ট্যাবে বাকেটটি দেখতে পারবেন। আপনার ডিফল্ট বাকেট নামের ফরম্যাটটি হলো PROJECT_ID .firebasestorage.app .

সর্বসাধারণের প্রবেশাধিকার স্থাপন করুন

Cloud Storage for Firebase একটি ডিক্লারেটিভ রুলস ল্যাঙ্গুয়েজ প্রদান করে, যা আপনাকে নির্ধারণ করতে দেয় আপনার ডেটা কীভাবে সাজানো হবে, কীভাবে ইনডেক্স করা হবে এবং কখন আপনার ডেটা থেকে পড়া ও লেখা যাবে। ডিফল্টরূপে, Cloud Storage পড়া ও লেখার অ্যাক্সেস সীমাবদ্ধ থাকে, ফলে শুধুমাত্র অথেনটিকেটেড ব্যবহারকারীরাই ডেটা পড়তে বা লিখতে পারেন। Authentication সেট আপ না করেই কাজ শুরু করতে, আপনি পাবলিক অ্যাক্সেসের জন্য আপনার নিয়মগুলো কনফিগার করতে পারেন।

এর ফলে Cloud Storage যে কারও জন্য উন্মুক্ত হয়ে যায়, এমনকি যারা আপনার অ্যাপ ব্যবহার করছেন না তাদের জন্যও। তাই, অথেনটিকেশন সেট আপ করার সময় আপনার Cloud Storage পুনরায় সীমাবদ্ধ করতে ভুলবেন না।

আপনার অ্যাপে Cloud Storage যোগ করুন

ফায়ারবেস ডিপেন্ডেন্সিগুলো ইনস্টল ও পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

  1. Xcode-এ আপনার অ্যাপ প্রজেক্টটি খুলে, File > Add Packages- এ যান।
  2. অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরিটি যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Cloud Storage লাইব্রেরিটি নির্বাচন করুন।
  5. আপনার টার্গেটের বিল্ড সেটিংসের ' Other Linker Flags' সেকশনে -ObjC ফ্ল্যাগটি যোগ করুন।
  6. কাজ শেষ হলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার ডিপেন্ডেন্সিগুলো রিজলভ ও ডাউনলোড করা শুরু করবে।

আপনার অ্যাপে Cloud Storage সেট আপ করুন

  1. যেকোনো Firebase রেফারেন্স তৈরি বা ব্যবহার করার আগে Firebase ইনিশিয়ালাইজ করুন।

    আপনি যদি ইতিমধ্যেই অন্য কোনো Firebase প্রোডাক্ট সেট আপ করে থাকেন, তাহলে হয়তো এই কাজটি ইতিমধ্যেই করে ফেলেছেন, কিন্তু আপনাকে অবশ্যই আপনার ইম্পোর্ট তালিকায় FirebaseStorage লাইব্রেরিটি যোগ করতে হবে।

    1. আপনার UIApplicationDelegateFirebaseCore মডিউল এবং FirebaseStorage মডিউল ইম্পোর্ট করুন। আমরা FirebaseAuth যোগ করারও পরামর্শ দিই।

      SwiftUI

      import SwiftUI
      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      সুইফট

      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      উদ্দেশ্য-সি

      @import FirebaseCore;
      @import FirebaseStorage;
      @import FirebaseAuth;
      // ...
      
    2. আপনার অ্যাপ ডেলিগেটের application(_:didFinishLaunchingWithOptions:) মেথডে একটি FirebaseApp শেয়ার্ড ইনস্ট্যান্স কনফিগার করুন:

      SwiftUI

      // Use Firebase library to configure APIs
      FirebaseApp.configure()
      

      সুইফট

      // Use Firebase library to configure APIs
      FirebaseApp.configure()
      

      উদ্দেশ্য-সি

      // Use Firebase library to configure APIs
      [FIRApp configure];
      
    3. (শুধুমাত্র SwiftUI-এর জন্য) একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করুন এবং UIApplicationDelegateAdaptor অথবা NSApplicationDelegateAdaptor ব্যবহার করে এটিকে আপনার App struct-এর সাথে সংযুক্ত করুন। আপনাকে অবশ্যই অ্যাপ ডেলিগেট সুইজলিং নিষ্ক্রিয় করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।

      SwiftUI

      @main
      struct YourApp: App {
        // Register app delegate for Firebase setup
        @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
      
        var body: some Scene {
          WindowGroup {
            NavigationView {
              ContentView()
            }
          }
        }
      }
      
  2. ডিফল্ট ফায়ারবেস অ্যাপ ব্যবহার করে Cloud Storage পরিষেবার একটি রেফারেন্স নিন।

    1. আপনার অ্যাপের কোডবেসে থাকা Firebase কনফিগারেশন ফাইলটি ( GoogleService-Info.plist ) আপনার ডিফল্ট Cloud Storage বাকেটের নাম দিয়ে আপডেট করা আছে কিনা, তা নিশ্চিত করুন।

      1. আপনার হালনাগাদ করা কনফিগারেশন ফাইলটি সংগ্রহ করুন।

      2. আপনার Xcode প্রোজেক্টের রুটে থাকা GoogleService-Info.plist ফাইলটি প্রতিস্থাপন করতে এই ডাউনলোড করা কনফিগারেশন ফাইলটি ব্যবহার করুন। অনুরোধ করা হলে, কনফিগারেশন ফাইলটি সমস্ত টার্গেটে যোগ করার জন্য নির্বাচন করুন।

        নিশ্চিত করুন যে আপনার অ্যাপে শুধুমাত্র এই সর্বশেষ ডাউনলোড করা কনফিগারেশন ফাইলটি রয়েছে এবং এর ফাইলের নামের শেষে (2) এর মতো অতিরিক্ত অক্ষর যুক্ত নেই।

    2. ডিফল্ট ফায়ারবেস অ্যাপ ব্যবহার করে Cloud Storage পরিষেবার একটি রেফারেন্স নিন:

      সুইফট

      let storage = Storage.storage()
      // Alternatively, explicitly specify the bucket name URL.
      storage = Storage.storage(url:"gs://BUCKET_NAME")

      উদ্দেশ্য-সি

      FIRStorage *storage = [FIRStorage storage];
      // Alternatively, explicitly specify the bucket name URL.
      // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];

আপনি Cloud Storage ব্যবহার শুরু করার জন্য প্রস্তুত!

পরবর্তী পদক্ষেপ? Cloud Storage রেফারেন্স তৈরি করার পদ্ধতি জেনে নিন।

উন্নত সেটআপ

কিছু ব্যবহারের ক্ষেত্র রয়েছে যেগুলোর জন্য অতিরিক্ত সেটআপের প্রয়োজন হয়:

আপনার যদি বিশ্বজুড়ে ব্যবহারকারী থাকে এবং আপনি তাদের ডেটা তাদের কাছাকাছি সংরক্ষণ করতে চান, তাহলে প্রথম ব্যবহারটি একদম উপযুক্ত। উদাহরণস্বরূপ, ল্যাটেন্সি কমানোর জন্য আপনি মার্কিন যুক্তরাষ্ট্র, ইউরোপ এবং এশিয়ায় বাকেট তৈরি করে সেই অঞ্চলের ব্যবহারকারীদের ডেটা সংরক্ষণ করতে পারেন।

দ্বিতীয় ব্যবহারটি তখন সহায়ক হয়, যখন আপনার কাছে বিভিন্ন অ্যাক্সেস প্যাটার্নের ডেটা থাকে। উদাহরণস্বরূপ: আপনি একটি মাল্টি-রিজিওনাল বা রিজিওনাল বাকেট সেট আপ করতে পারেন যা ছবি বা অন্যান্য ঘন ঘন অ্যাক্সেস করা কন্টেন্ট সংরক্ষণ করে, এবং একটি নিয়ারলাইন বা কোল্ডলাইন বাকেট সেট আপ করতে পারেন যা ব্যবহারকারীর ব্যাকআপ বা অন্যান্য কদাচিৎ অ্যাক্সেস করা কন্টেন্ট সংরক্ষণ করে।

এই উভয় ব্যবহারের ক্ষেত্রেই, আপনার একাধিক Cloud Storage বাকেট ব্যবহার করার প্রয়োজন হবে।

তৃতীয় ব্যবহারটি তখন কাজে আসে যখন আপনি গুগল ড্রাইভের মতো এমন কোনো অ্যাপ তৈরি করছেন, যা ব্যবহারকারীদের একাধিক লগ-ইন করা অ্যাকাউন্ট (যেমন, একটি ব্যক্তিগত অ্যাকাউন্ট এবং একটি কর্মক্ষেত্রের অ্যাকাউন্ট) রাখার সুযোগ দেয়। প্রতিটি অতিরিক্ত অ্যাকাউন্ট প্রমাণীকরণের জন্য আপনি একটি কাস্টম ফায়ারবেস অ্যাপ ইনস্ট্যান্স ব্যবহার করতে পারেন।

একাধিক Cloud Storage বাকেট ব্যবহার করুন

আপনি যদি উপরে দেওয়া ডিফল্ট বাকেটটি ছাড়া অন্য কোনো Cloud Storage বাকেট ব্যবহার করতে চান, অথবা একটি অ্যাপে একাধিক Cloud Storage বাকেট ব্যবহার করতে চান, তাহলে আপনি FIRStorage এর এমন একটি ইনস্ট্যান্স তৈরি করতে পারেন যা আপনার কাস্টম বাকেটটিকে রেফারেন্স করবে:

সুইফট

// Get a non-default Cloud Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
    

উদ্দেশ্য-সি

// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
    

আমদানিকৃত বাকেটগুলির সাথে কাজ করা

ফায়ারবেসে বিদ্যমান কোনো Cloud Storage বাকেট ইম্পোর্ট করার সময়, আপনাকে Google Cloud এসডিকে -তে অন্তর্ভুক্ত gsutil টুলটি ব্যবহার করে ফায়ারবেসকে এই ফাইলগুলি অ্যাক্সেস করার অনুমতি দিতে হবে।

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME

ফায়ারবেস প্রজেক্টের পরিচিতিতে বর্ণিত পদ্ধতি অনুসরণ করে আপনি আপনার প্রজেক্ট নম্বরটি খুঁজে নিতে পারেন।

এটি নতুন তৈরি করা বাকেটগুলিকে প্রভাবিত করে না, কারণ সেগুলিতে ডিফল্ট অ্যাক্সেস কন্ট্রোল ফায়ারবেসকে অনুমতি দেওয়ার জন্য সেট করা থাকে। এটি একটি অস্থায়ী ব্যবস্থা, এবং ভবিষ্যতে এটি স্বয়ংক্রিয়ভাবে কার্যকর করা হবে।

একটি কাস্টম ফায়ারবেস অ্যাপ ব্যবহার করুন

আপনি যদি একটি কাস্টম FirebaseApp ব্যবহার করে আরও জটিল কোনো অ্যাপ তৈরি করেন, তাহলে আপনি সেই অ্যাপটি দিয়ে ইনিশিয়ালাইজ করা Storage এর একটি ইনস্ট্যান্স তৈরি করতে পারেন:

সুইফট

// Get the default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp)

// Get a non-default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
    

উদ্দেশ্য-সি

// Get the default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp];

// Get a non-default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
    

পরবর্তী পদক্ষেপ