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

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

শুরু করার আগে

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

    • একটি ফায়ারবেস প্রকল্প তৈরি করা।

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

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

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

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

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

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

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

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

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

আপনি এখন Firebase কনসোলের Cloud Storage Files ট্যাবে বাকেটটি দেখতে পারবেন। আপনার ডিফল্ট বাকেট নামের ফর্ম্যাট হল 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 platforms SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Cloud Storage লাইব্রেরিটি নির্বাচন করুন।
  5. আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে -ObjC ফ্ল্যাগ যোগ করুন।
  6. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

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

  1. কোনও ফায়ারবেস রেফারেন্স তৈরি বা ব্যবহার করার আগে ফায়ারবেস আরম্ভ করুন।

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

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

      সুইফটইউআই

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

      সুইফট

      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      অবজেক্টিভ-সি

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

      সুইফটইউআই

      // 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 স্ট্রাক্টের সাথে এটি সংযুক্ত করুন। আপনাকে অ্যাপ ডেলিগেট সুইজলিংও অক্ষম করতে হবে। আরও তথ্যের জন্য, 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"];
    

আমদানি করা বালতি নিয়ে কাজ করা

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

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"];
    

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