এই কুইকস্টার্ট আপনাকে দেখায় কিভাবে ক্লাউড ফায়ারস্টোর সেট আপ করতে হয়, ডেটা যোগ করতে হয়, তারপরে Firebase কনসোলে আপনার যোগ করা ডেটা দেখুন।
একটি ক্লাউড ফায়ারস্টোর ডাটাবেস তৈরি করুন
যদি আপনি ইতিমধ্যেই না করে থাকেন, একটি Firebase প্রকল্প তৈরি করুন: Firebase কনসোলে , প্রকল্প যোগ করুন ক্লিক করুন, তারপর একটি Firebase প্রকল্প তৈরি করতে বা একটি বিদ্যমান GCP প্রকল্পে Firebase পরিষেবা যোগ করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।
Firebase কনসোলের ক্লাউড ফায়ারস্টোর বিভাগে নেভিগেট করুন। আপনাকে একটি বিদ্যমান ফায়ারবেস প্রকল্প নির্বাচন করতে বলা হবে। ডাটাবেস তৈরির কর্মপ্রবাহ অনুসরণ করুন।
আপনার ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়মের জন্য একটি শুরু মোড নির্বাচন করুন:
- পরীক্ষা মোড
মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরিগুলির সাথে শুরু করার জন্য ভাল, তবে যে কেউ আপনার ডেটা পড়তে এবং ওভাররাইট করতে দেয়৷ পরীক্ষা করার পরে, আপনার ডেটা সুরক্ষিত করুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।
ওয়েব, Apple প্ল্যাটফর্ম বা Android SDK দিয়ে শুরু করতে, পরীক্ষা মোড নির্বাচন করুন।
- লক করা মোড
মোবাইল এবং ওয়েব ক্লায়েন্ট থেকে সমস্ত পড়া এবং লেখা অস্বীকার করে। আপনার প্রমাণীকৃত অ্যাপ্লিকেশন সার্ভারগুলি (C#, Go, Java, Node.js, PHP, Python, বা Ruby) এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারে৷
C#, Go, Java, Node.js, PHP, Python, বা Ruby সার্ভার ক্লায়েন্ট লাইব্রেরি দিয়ে শুরু করতে, লক করা মোড নির্বাচন করুন।
আপনার ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়মের প্রাথমিক সেট আপনার ডিফল্ট ক্লাউড ফায়ারস্টোর ডাটাবেসে প্রযোজ্য হবে। আপনি যদি আপনার প্রকল্পের জন্য একাধিক ডাটাবেস তৈরি করেন, আপনি প্রতিটি ডাটাবেসের জন্য ক্লাউড ফায়ারস্টোর সুরক্ষা নিয়ম স্থাপন করতে পারেন।
আপনার ডাটাবেসের জন্য একটি অবস্থান নির্বাচন করুন.
এই লোকেশন সেটিং হল আপনার প্রোজেক্টের ডিফল্ট Google ক্লাউড প্ল্যাটফর্ম (GCP) রিসোর্স লোকেশন । মনে রাখবেন যে এই অবস্থানটি আপনার প্রকল্পের GCP পরিষেবাগুলির জন্য ব্যবহার করা হবে যেগুলির জন্য একটি অবস্থান সেটিং প্রয়োজন, বিশেষত, আপনার ডিফল্ট ক্লাউড স্টোরেজ বাকেট এবং আপনার অ্যাপ ইঞ্জিন অ্যাপ (যা আপনি ক্লাউড শিডিউলার ব্যবহার করলে প্রয়োজন হয়)৷
যদি আপনি একটি অবস্থান নির্বাচন করতে সক্ষম না হন, তাহলে আপনার প্রকল্পে ইতিমধ্যেই একটি ডিফল্ট GCP সংস্থান অবস্থান রয়েছে৷ এটি হয় প্রকল্প তৈরির সময় বা অন্য পরিষেবা সেট আপ করার সময় সেট করা হয়েছিল যার জন্য একটি অবস্থান সেটিং প্রয়োজন৷
সম্পন্ন ক্লিক করুন.
আপনি যখন ক্লাউড ফায়ারস্টোর সক্ষম করেন, তখন এটি ক্লাউড এপিআই ম্যানেজারে এপিআই সক্ষম করে।
আপনার উন্নয়ন পরিবেশ সেট আপ করুন
আপনার অ্যাপে প্রয়োজনীয় নির্ভরতা এবং ক্লায়েন্ট লাইব্রেরি যোগ করুন।
Web namespaced API
- আপনার ওয়েব অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
- আপনার অ্যাপে Firebase এবং Cloud Firestore লাইব্রেরি যোগ করুন:
<script src="https://www.gstatic.com/firebasejs/10.4.0/firebase-app-compat.js"></script> <script src="https://www.gstatic.com/firebasejs/10.4.0/firebase-firestore-compat.js"></script>
ক্লাউড ফায়ারস্টোর SDK একটি npm প্যাকেজ হিসেবেও উপলব্ধ।npm install firebase@10.4.0 --save
আপনাকে ম্যানুয়ালি ফায়ারবেস এবং ক্লাউড ফায়ারস্টোর উভয়েরই প্রয়োজন হবে।import firebase from "firebase/compat/app"; // Required for side-effects import "firebase/firestore";
Web modular API
- আপনার ওয়েব অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
- ক্লাউড ফায়ারস্টোর SDK একটি npm প্যাকেজ হিসাবে উপলব্ধ।
npm install firebase@10.4.0 --save
আপনাকে ফায়ারবেস এবং ক্লাউড ফায়ারস্টোর উভয়ই আমদানি করতে হবে।import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore";
iOS+
আপনার Apple অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।
- Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > সুইফট প্যাকেজ > প্যাকেজ নির্ভরতা যোগ করুন- এ নেভিগেট করুন।
- অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
- ফায়ারস্টোর লাইব্রেরি বেছে নিন।
- শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।
https://github.com/firebase/firebase-ios-sdk
Kotlin+KTX
- আপনার Android অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
- Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত
app/build.gradle.kts
বাapp/build.gradle
) ক্লাউড ফায়ারস্টোর অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতা ঘোষণা করুন।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // Declare the dependency for the Cloud Firestore library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-firestore-ktx") }
Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন
আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে BoM ব্যবহার করার সুপারিশ করি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।
dependencies { // Declare the dependency for the Cloud Firestore library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-firestore-ktx:24.8.1") }
Java
- আপনার Android অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
- Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত
app/build.gradle.kts
বাapp/build.gradle
) ক্লাউড ফায়ারস্টোর অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতা ঘোষণা করুন।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // Declare the dependency for the Cloud Firestore library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-firestore") }
Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন
আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে BoM ব্যবহার করার সুপারিশ করি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।
dependencies { // Declare the dependency for the Cloud Firestore library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-firestore:24.8.1") }
Dart
- আপনি যদি ইতিমধ্যে না করে থাকেন, তাহলে আপনার Flutter অ্যাপে Firebase কনফিগার করুন এবং আরম্ভ করুন ।
- আপনার ফ্লটার প্রজেক্টের রুট থেকে, প্লাগইন ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
flutter pub add cloud_firestore
- একবার সম্পূর্ণ হয়ে গেলে, আপনার ফ্লটার অ্যাপ্লিকেশনটি পুনরায় তৈরি করুন:
flutter run
- ঐচ্ছিক: পূর্ব-সংকলিত ফ্রেমওয়ার্ক অন্তর্ভুক্ত করে iOS এবং macOS বিল্ড টাইম উন্নত করুন।
বর্তমানে, iOS এর জন্য Firestore SDK কোডের উপর নির্ভর করে যা Xcode-এ তৈরি হতে 5 মিনিটের বেশি সময় নিতে পারে। বিল্ড টাইম উল্লেখযোগ্যভাবে কমাতে, আপনি আপনার পডফাইলে
target 'Runner' do
ডু ব্লকে এই লাইনটি যোগ করে একটি পূর্ব-সংকলিত সংস্করণ ব্যবহার করতে পারেন:target 'Runner' do pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.15.0' # ... end
উপরন্তু, নিশ্চিত করুন যে আপনি CocoaPods 1.9.1 বা উচ্চতর:
gem install cocoapods
এ আপগ্রেড করেছেনআরও তথ্যের জন্য GitHub-এ সমস্যাটি দেখুন।
জাভা
- আপনার অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
- Gradle ব্যবহার করে:
compile 'com.google.firebase:firebase-admin:1.32.0'
- Maven ব্যবহার করে:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>1.32.0</version> </dependency>
- Gradle ব্যবহার করে:
- আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
পাইথন
- আপনার পাইথন অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
pip install --upgrade firebase-admin
- আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
সি++
- আপনার C++ প্রকল্পে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
- অ্যান্ড্রয়েডের জন্য C++ ইন্টারফেস।
- গ্রেডেল নির্ভরতা। আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে নিম্নলিখিতটি যুক্ত করুন (সাধারণত
app/build.gradle
):android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { // earlier entries auth firestore }
- বাইনারি নির্ভরতা। একইভাবে, বাইনারি নির্ভরতা পাওয়ার প্রস্তাবিত উপায় হল আপনার
CMakeLists.txt
ফাইলে নিম্নলিখিতগুলি যুক্ত করা:add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) set(firebase_libs firebase_auth firebase_firestore firebase_app) # Replace the target name below with the actual name of your target, # for example, "native-lib". target_link_libraries(${YOUR_TARGET_NAME_HERE} "${firebase_libs}")
- ডেস্কটপ ইন্টিগ্রেশন সেট আপ করতে, আপনার C++ প্রকল্পে Firebase যোগ করুন দেখুন।
ঐক্য
- আপনার ইউনিটি প্রকল্পে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
- অ্যান্ড্রয়েড বিল্ডগুলিকে ছোট করতে আপনার প্রোজেক্ট কনফিগার করতে ইউনিটি ইন্টারফেস ব্যবহার করুন।
- প্লেয়ার সেটিংস > Android > প্রকাশনা সেটিংস > Minify- এ বিকল্পটি পাওয়া যাবে।
- ইউনিটির বিভিন্ন সংস্করণে বিকল্পগুলি আলাদা হতে পারে তাই অফিসিয়াল ইউনিটি ডকুমেন্টেশন এবং ফায়ারবেস ইউনিটি বিল্ড ডিবাগ গাইড দেখুন।
- যদি, ক্ষুদ্রকরণ সক্ষম করার পরে, রেফারেন্সকৃত পদ্ধতির সংখ্যা এখনও সীমা ছাড়িয়ে যায়, তবে আরেকটি বিকল্প হল
multidex
সক্ষম করা:-
mainTemplate.gradle
যদি প্লেয়ার সেটিংসের অধীনে কাস্টম গ্রেডল টেমপ্লেট সক্ষম করা থাকে - অথবা, মডিউল-স্তরের
build.gradle
ফাইল, যদি আপনি রপ্তানি করা প্রকল্প তৈরি করতে অ্যান্ড্রয়েড স্টুডিও ব্যবহার করেন।
-
Error while merging dex archives
এড়াতে আপনাকে অবশ্যই বিল্ডটি ছোট করতে হবে।
Node.js
- আপনার অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
npm install firebase-admin --save
- আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
যাওয়া
- আপনার Go অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
go get firebase.google.com/go
- আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
পিএইচপি
- ক্লাউড ফায়ারস্টোর সার্ভার ক্লায়েন্ট লাইব্রেরি (Java, Node.js, Python, Go, PHP, C# এবং রুবি) প্রমাণীকরণের জন্য Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে।
- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে,
GOOGLE_APPLICATION_CREDENTIALS
এনভায়রনমেন্ট ভেরিয়েবলকে একটি JSON পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে সেট করুন। আপনি API কনসোল শংসাপত্র পৃষ্ঠায় একটি কী ফাইল তৈরি করতে পারেন।export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- আপনার উত্পাদন পরিবেশে, আপনি যদি ক্লাউড ফায়ারস্টোরের জন্য ব্যবহার করেন সেই একই প্রকল্প ব্যবহার করে আপনি অ্যাপ ইঞ্জিন বা কম্পিউট ইঞ্জিনে আপনার অ্যাপ্লিকেশন চালালে আপনাকে প্রমাণীকরণের প্রয়োজন নেই। অন্যথায়, একটি পরিষেবা অ্যাকাউন্ট সেট আপ করুন ৷
- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে,
- PHP-এর জন্য gRPC এক্সটেনশন ইনস্টল এবং সক্ষম করুন, যা আপনাকে ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে হবে।
- আপনার অ্যাপে ক্লাউড ফায়ারস্টোর পিএইচপি লাইব্রেরি যোগ করুন:
composer require google/cloud-firestore
সি#
- ক্লাউড ফায়ারস্টোর সার্ভার ক্লায়েন্ট লাইব্রেরি (Java, Node.js, Python, Go, PHP, C# এবং রুবি) প্রমাণীকরণের জন্য Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে।
- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে,
GOOGLE_APPLICATION_CREDENTIALS
এনভায়রনমেন্ট ভেরিয়েবলকে একটি JSON পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে সেট করুন। আপনি API কনসোল শংসাপত্র পৃষ্ঠায় একটি কী ফাইল তৈরি করতে পারেন।export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- আপনার উত্পাদন পরিবেশে, আপনি যদি ক্লাউড ফায়ারস্টোরের জন্য ব্যবহার করেন সেই একই প্রকল্প ব্যবহার করে আপনি অ্যাপ ইঞ্জিন বা কম্পিউট ইঞ্জিনে আপনার অ্যাপ্লিকেশন চালালে আপনাকে প্রমাণীকরণের প্রয়োজন নেই। অন্যথায়, একটি পরিষেবা অ্যাকাউন্ট সেট আপ করুন ৷
- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে,
- আপনার
.csproj
ফাইলে আপনার অ্যাপে ক্লাউড ফায়ারস্টোর সি# লাইব্রেরি যোগ করুন:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
- আপনার
Program.cs
ফাইলে নিম্নলিখিত যোগ করুন:using Google.Cloud.Firestore;
রুবি
- ক্লাউড ফায়ারস্টোর সার্ভার ক্লায়েন্ট লাইব্রেরি (Java, Node.js, Python, Go, PHP, C# এবং রুবি) প্রমাণীকরণের জন্য Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে।
- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে,
GOOGLE_APPLICATION_CREDENTIALS
এনভায়রনমেন্ট ভেরিয়েবলকে একটি JSON পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে সেট করুন। আপনি API কনসোল শংসাপত্র পৃষ্ঠায় একটি কী ফাইল তৈরি করতে পারেন।export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- আপনার উত্পাদন পরিবেশে, আপনি যদি ক্লাউড ফায়ারস্টোরের জন্য ব্যবহার করেন সেই একই প্রকল্প ব্যবহার করে আপনি অ্যাপ ইঞ্জিন বা কম্পিউট ইঞ্জিনে আপনার অ্যাপ্লিকেশন চালালে আপনাকে প্রমাণীকরণের প্রয়োজন নেই। অন্যথায়, একটি পরিষেবা অ্যাকাউন্ট সেট আপ করুন ৷
- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে,
- আপনার
Gemfile
আপনার অ্যাপে ক্লাউড ফায়ারস্টোর রুবি লাইব্রেরি যোগ করুন :gem "google-cloud-firestore"
- ব্যবহার করে আপনার
Gemfile
থেকে নির্ভরতা ইনস্টল করুন:bundle install
(ঐচ্ছিক) ফায়ারবেস স্থানীয় এমুলেটর স্যুটের সাথে প্রোটোটাইপ এবং পরীক্ষা করুন
মোবাইল ডেভেলপারদের জন্য, আপনার অ্যাপ কীভাবে ক্লাউড ফায়ারস্টোর থেকে লেখে এবং পড়ে সে সম্পর্কে কথা বলার আগে, আসুন আমরা ক্লাউড ফায়ারস্টোর কার্যকারিতা প্রোটোটাইপ এবং পরীক্ষা করার জন্য ব্যবহার করতে পারেন এমন একটি টুলের সাথে পরিচয় করিয়ে দিই: Firebase লোকাল এমুলেটর স্যুট। আপনি যদি বিভিন্ন ডেটা মডেল চেষ্টা করে থাকেন, আপনার নিরাপত্তা বিধি অপ্টিমাইজ করে থাকেন, বা ব্যাক-এন্ডের সাথে ইন্টারঅ্যাক্ট করার সবচেয়ে সাশ্রয়ী উপায় খুঁজে বের করার জন্য কাজ করছেন, তাহলে লাইভ পরিষেবাগুলি স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া একটি দুর্দান্ত ধারণা হতে পারে।
একটি ক্লাউড ফায়ারস্টোর এমুলেটর স্থানীয় এমুলেটর স্যুটের অংশ, যা আপনার অ্যাপটিকে আপনার অনুকরণ করা ডাটাবেস সামগ্রী এবং কনফিগারেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, সেইসাথে ঐচ্ছিকভাবে আপনার অনুকরণ করা প্রকল্প সংস্থানগুলি (ফাংশন, অন্যান্য ডাটাবেস এবং সুরক্ষা নিয়ম)।
ক্লাউড ফায়ারস্টোর এমুলেটর ব্যবহার করার জন্য মাত্র কয়েকটি ধাপ জড়িত:
- এমুলেটরের সাথে সংযোগ করতে আপনার অ্যাপের পরীক্ষা কনফিগারে কোডের একটি লাইন যোগ করা হচ্ছে।
- আপনার স্থানীয় প্রজেক্ট ডিরেক্টরির রুট থেকে,
firebase emulators:start
। - যথারীতি ক্লাউড ফায়ারস্টোর প্ল্যাটফর্ম SDK ব্যবহার করে আপনার অ্যাপের প্রোটোটাইপ কোড থেকে কল করা।
ক্লাউড ফায়ারস্টোর এবং ক্লাউড ফাংশনগুলির সাথে জড়িত একটি বিস্তারিত ওয়াকথ্রু উপলব্ধ। আপনার স্থানীয় এমুলেটর স্যুট ভূমিকাটিও দেখতে হবে।
ক্লাউড ফায়ারস্টোর শুরু করুন
ক্লাউড ফায়ারস্টোরের একটি উদাহরণ শুরু করুন:
Web modular API
import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore"; // TODO: Replace the following with your app's Firebase project configuration // See: https://support.google.com/firebase/answer/7015592 const firebaseConfig = { FIREBASE_CONFIGURATION }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Firestore and get a reference to the service const db = getFirestore(app);
আপনার ওয়েব অ্যাপের firebaseConfig
দিয়ে FIREBASE_CONFIGURATION প্রতিস্থাপন করুন।
ডিভাইসটি সংযোগ হারিয়ে ফেললে ডেটা বজায় রাখতে, অফলাইন ডেটা ডকুমেন্টেশন সক্ষম করুন দেখুন।
Web namespaced API
import firebase from "firebase/app"; import "firebase/firestore"; // TODO: Replace the following with your app's Firebase project configuration // See: https://support.google.com/firebase/answer/7015592 const firebaseConfig = { FIREBASE_CONFIGURATION }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Firestore and get a reference to the service const db = firebase.firestore();
আপনার ওয়েব অ্যাপের firebaseConfig
দিয়ে FIREBASE_CONFIGURATION প্রতিস্থাপন করুন।
ডিভাইসটি সংযোগ হারিয়ে ফেললে ডেটা বজায় রাখতে, অফলাইন ডেটা ডকুমেন্টেশন সক্ষম করুন দেখুন।
সুইফট
import FirebaseCore import FirebaseFirestore
FirebaseApp.configure() let db = Firestore.firestore()
উদ্দেশ্য গ
@import FirebaseCore; @import FirebaseFirestore; // Use Firebase library to configure APIs [FIRApp configure];
FIRFirestore *defaultFirestore = [FIRFirestore firestore];
Kotlin+KTX
// Access a Cloud Firestore instance from your Activity
val db = Firebase.firestore
Java
// Access a Cloud Firestore instance from your Activity
FirebaseFirestore db = FirebaseFirestore.getInstance();
Dart
db = FirebaseFirestore.instance;
জাভা
ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use the application default credentials GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setProjectId(projectId) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();এ আরম্ভ করুন
আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।
Google ক্লাউড কনসোলে IAM এবং অ্যাডমিন > পরিষেবা অ্যাকাউন্টে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন৷ তারপর SDK আরম্ভ করতে ফাইলটি ব্যবহার করুন:
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
পাইথন
ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()এ শুরু করুন
একটি বিদ্যমান অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রও SDK শুরু করতে ব্যবহার করা যেতে পারে।
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।
Google ক্লাউড কনসোলে IAM এবং অ্যাডমিন > পরিষেবা অ্যাকাউন্টে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন৷ তারপর SDK আরম্ভ করতে ফাইলটি ব্যবহার করুন:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()এ আরম্ভ করুন
একটি বিদ্যমান অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রও SDK শুরু করতে ব্যবহার করা যেতে পারে।
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore_async.client()
আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।
Google ক্লাউড কনসোলে IAM এবং অ্যাডমিন > পরিষেবা অ্যাকাউন্টে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন৷ তারপর SDK আরম্ভ করতে ফাইলটি ব্যবহার করুন:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
সি++
// Make sure the call to `Create()` happens some time before you call Firestore::GetInstance(). App::Create(); Firestore* db = Firestore::GetInstance();
Node.js
ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।- ক্লাউড ফাংশনে শুরু করুন
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
- Google ক্লাউডে শুরু করুন
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
- আপনার নিজের সার্ভারে আরম্ভ করুন
আপনার নিজের সার্ভারে (বা অন্য কোন Node.js পরিবেশে) Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন। Google ক্লাউড কনসোলে IAM এবং অ্যাডমিন > পরিষেবা অ্যাকাউন্টে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন৷ তারপর SDK আরম্ভ করতে ফাইলটি ব্যবহার করুন:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
যাওয়া
ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use the application default credentials ctx := context.Background() conf := &firebase.Config{ProjectID: projectID} app, err := firebase.NewApp(ctx, conf) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()এ আরম্ভ করুন
আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।
Google ক্লাউড কনসোলে IAM এবং অ্যাডমিন > পরিষেবা অ্যাকাউন্টে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন৷ তারপর SDK আরম্ভ করতে ফাইলটি ব্যবহার করুন:
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
পিএইচপি
পিএইচপি
একটি ক্লাউড ফায়ারস্টোর ক্লায়েন্ট ইনস্টল এবং তৈরি করার বিষয়ে আরও জানতে, ক্লাউড ফায়ারস্টোর ক্লায়েন্ট লাইব্রেরি দেখুন।
ঐক্য
using Firebase.Firestore; using Firebase.Extensions;
FirebaseFirestore db = FirebaseFirestore.DefaultInstance;
সি#
সি#
একটি ক্লাউড ফায়ারস্টোর ক্লায়েন্ট ইনস্টল এবং তৈরি করার বিষয়ে আরও জানতে, ক্লাউড ফায়ারস্টোর ক্লায়েন্ট লাইব্রেরি দেখুন।
রুবি
ডেটা যোগ করুন
ক্লাউড ফায়ারস্টোর নথিতে ডেটা সঞ্চয় করে, যা সংগ্রহে সংরক্ষণ করা হয়। ক্লাউড ফায়ারস্টোর আপনি নথিতে প্রথমবার ডেটা যোগ করার সাথে সাথেই সংগ্রহ এবং নথি তৈরি করে। আপনাকে স্পষ্টভাবে সংগ্রহ বা নথি তৈরি করতে হবে না।
নিম্নলিখিত উদাহরণ কোড ব্যবহার করে একটি নতুন সংগ্রহ এবং একটি নথি তৈরি করুন।
Web modular API
import { collection, addDoc } from "firebase/firestore"; try { const docRef = await addDoc(collection(db, "users"), { first: "Ada", last: "Lovelace", born: 1815 }); console.log("Document written with ID: ", docRef.id); } catch (e) { console.error("Error adding document: ", e); }
Web namespaced API
db.collection("users").add({ first: "Ada", last: "Lovelace", born: 1815 }) .then((docRef) => { console.log("Document written with ID: ", docRef.id); }) .catch((error) => { console.error("Error adding document: ", error); });
সুইফট
// Add a new document with a generated ID var ref: DocumentReference? = nil ref = db.collection("users").addDocument(data: [ "first": "Ada", "last": "Lovelace", "born": 1815 ]) { err in if let err = err { print("Error adding document: \(err)") } else { print("Document added with ID: \(ref!.documentID)") } }
উদ্দেশ্য গ
// Add a new document with a generated ID __block FIRDocumentReference *ref = [[self.db collectionWithPath:@"users"] addDocumentWithData:@{ @"first": @"Ada", @"last": @"Lovelace", @"born": @1815 } completion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error adding document: %@", error); } else { NSLog(@"Document added with ID: %@", ref.documentID); } }];
Kotlin+KTX
// Create a new user with a first and last name val user = hashMapOf( "first" to "Ada", "last" to "Lovelace", "born" to 1815, ) // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener { documentReference -> Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}") } .addOnFailureListener { e -> Log.w(TAG, "Error adding document", e) }
Java
// Create a new user with a first and last name Map<String, Object> user = new HashMap<>(); user.put("first", "Ada"); user.put("last", "Lovelace"); user.put("born", 1815); // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener(new OnSuccessListener<DocumentReference>() { @Override public void onSuccess(DocumentReference documentReference) { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error adding document", e); } });
Dart
// Create a new user with a first and last name final user = <String, dynamic>{ "first": "Ada", "last": "Lovelace", "born": 1815 }; // Add a new document with a generated ID db.collection("users").add(user).then((DocumentReference doc) => print('DocumentSnapshot added with ID: ${doc.id}'));
জাভা
পাইথন
Python
সি++
// Add a new document with a generated ID Future<DocumentReference> user_ref = db->Collection("users").Add({{"first", FieldValue::String("Ada")}, {"last", FieldValue::String("Lovelace")}, {"born", FieldValue::Integer(1815)}}); user_ref.OnCompletion([](const Future<DocumentReference>& future) { if (future.error() == Error::kErrorOk) { std::cout << "DocumentSnapshot added with ID: " << future.result()->id() << std::endl; } else { std::cout << "Error adding document: " << future.error_message() << std::endl; } });
Node.js
যাওয়া
পিএইচপি
পিএইচপি
একটি ক্লাউড ফায়ারস্টোর ক্লায়েন্ট ইনস্টল এবং তৈরি করার বিষয়ে আরও জানতে, ক্লাউড ফায়ারস্টোর ক্লায়েন্ট লাইব্রেরি দেখুন।
ঐক্য
DocumentReference docRef = db.Collection("users").Document("alovelace"); Dictionary<string, object> user = new Dictionary<string, object> { { "First", "Ada" }, { "Last", "Lovelace" }, { "Born", 1815 }, }; docRef.SetAsync(user).ContinueWithOnMainThread(task => { Debug.Log("Added data to the alovelace document in the users collection."); });
সি#
রুবি
এখন users
সংগ্রহে আরেকটি নথি যোগ করুন। লক্ষ্য করুন যে এই নথিতে একটি কী-মানের জোড়া (মাঝের নাম) রয়েছে যা প্রথম নথিতে প্রদর্শিত হয় না। একটি সংগ্রহের নথিতে তথ্যের বিভিন্ন সেট থাকতে পারে।
Web modular API
// Add a second document with a generated ID. import { addDoc, collection } from "firebase/firestore"; try { const docRef = await addDoc(collection(db, "users"), { first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }); console.log("Document written with ID: ", docRef.id); } catch (e) { console.error("Error adding document: ", e); }
Web namespaced API
// Add a second document with a generated ID. db.collection("users").add({ first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }) .then((docRef) => { console.log("Document written with ID: ", docRef.id); }) .catch((error) => { console.error("Error adding document: ", error); });
সুইফট
// Add a second document with a generated ID. ref = db.collection("users").addDocument(data: [ "first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912 ]) { err in if let err = err { print("Error adding document: \(err)") } else { print("Document added with ID: \(ref!.documentID)") } }
উদ্দেশ্য গ
// Add a second document with a generated ID. __block FIRDocumentReference *ref = [[self.db collectionWithPath:@"users"] addDocumentWithData:@{ @"first": @"Alan", @"middle": @"Mathison", @"last": @"Turing", @"born": @1912 } completion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error adding document: %@", error); } else { NSLog(@"Document added with ID: %@", ref.documentID); } }];
Kotlin+KTX
// Create a new user with a first, middle, and last name val user = hashMapOf( "first" to "Alan", "middle" to "Mathison", "last" to "Turing", "born" to 1912, ) // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener { documentReference -> Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}") } .addOnFailureListener { e -> Log.w(TAG, "Error adding document", e) }
Java
// Create a new user with a first, middle, and last name Map<String, Object> user = new HashMap<>(); user.put("first", "Alan"); user.put("middle", "Mathison"); user.put("last", "Turing"); user.put("born", 1912); // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener(new OnSuccessListener<DocumentReference>() { @Override public void onSuccess(DocumentReference documentReference) { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error adding document", e); } });
Dart
// Create a new user with a first and last name final user = <String, dynamic>{ "first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912 }; // Add a new document with a generated ID db.collection("users").add(user).then((DocumentReference doc) => print('DocumentSnapshot added with ID: ${doc.id}'));
জাভা
পাইথন
Python
সি++
db->Collection("users") .Add({{"first", FieldValue::String("Alan")}, {"middle", FieldValue::String("Mathison")}, {"last", FieldValue::String("Turing")}, {"born", FieldValue::Integer(1912)}}) .OnCompletion([](const Future<DocumentReference>& future) { if (future.error() == Error::kErrorOk) { std::cout << "DocumentSnapshot added with ID: " << future.result()->id() << std::endl; } else { std::cout << "Error adding document: " << future.error_message() << std::endl; } });
Node.js
যাওয়া
পিএইচপি
পিএইচপি
একটি ক্লাউড ফায়ারস্টোর ক্লায়েন্ট ইনস্টল এবং তৈরি করার বিষয়ে আরও জানতে, ক্লাউড ফায়ারস্টোর ক্লায়েন্ট লাইব্রেরি দেখুন।
ঐক্য
DocumentReference docRef = db.Collection("users").Document("aturing"); Dictionary<string, object> user = new Dictionary<string, object> { { "First", "Alan" }, { "Middle", "Mathison" }, { "Last", "Turing" }, { "Born", 1912 } }; docRef.SetAsync(user).ContinueWithOnMainThread(task => { Debug.Log("Added data to the aturing document in the users collection."); });
সি#
রুবি
ডেটা পড়ুন
আপনি ক্লাউড ফায়ারস্টোরে ডেটা যোগ করেছেন তা দ্রুত যাচাই করতে Firebase কনসোলে ডেটা ভিউয়ার ব্যবহার করুন।
আপনি সম্পূর্ণ সংগ্রহ পুনরুদ্ধার করতে "পান" পদ্ধতি ব্যবহার করতে পারেন।
Web modular API
import { collection, getDocs } from "firebase/firestore"; const querySnapshot = await getDocs(collection(db, "users")); querySnapshot.forEach((doc) => { console.log(`${doc.id} => ${doc.data()}`); });
Web namespaced API
db.collection("users").get().then((querySnapshot) => { querySnapshot.forEach((doc) => { console.log(`${doc.id} => ${doc.data()}`); }); });
সুইফট
db.collection("users").getDocuments() { (querySnapshot, err) in if let err = err { print("Error getting documents: \(err)") } else { for document in querySnapshot!.documents { print("\(document.documentID) => \(document.data())") } } }
উদ্দেশ্য গ
[[self.db collectionWithPath:@"users"] getDocumentsWithCompletion:^(FIRQuerySnapshot * _Nullable snapshot, NSError * _Nullable error) { if (error != nil) { NSLog(@"Error getting documents: %@", error); } else { for (FIRDocumentSnapshot *document in snapshot.documents) { NSLog(@"%@ => %@", document.documentID, document.data); } } }];
Kotlin+KTX
db.collection("users") .get() .addOnSuccessListener { result -> for (document in result) { Log.d(TAG, "${document.id} => ${document.data}") } } .addOnFailureListener { exception -> Log.w(TAG, "Error getting documents.", exception) }
Java
db.collection("users") .get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if (task.isSuccessful()) { for (QueryDocumentSnapshot document : task.getResult()) { Log.d(TAG, document.getId() + " => " + document.getData()); } } else { Log.w(TAG, "Error getting documents.", task.getException()); } } });
Dart
await db.collection("users").get().then((event) { for (var doc in event.docs) { print("${doc.id} => ${doc.data()}"); } });
জাভা
পাইথন
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
সি++
Future<QuerySnapshot> users = db->Collection("users").Get(); users.OnCompletion([](const Future<QuerySnapshot>& future) { if (future.error() == Error::kErrorOk) { for (const DocumentSnapshot& document : future.result()->documents()) { std::cout << document << std::endl; } } else { std::cout << "Error getting documents: " << future.error_message() << std::endl; } });
Node.js
যাওয়া
পিএইচপি
পিএইচপি
একটি ক্লাউড ফায়ারস্টোর ক্লায়েন্ট ইনস্টল এবং তৈরি করার বিষয়ে আরও জানতে, ক্লাউড ফায়ারস্টোর ক্লায়েন্ট লাইব্রেরি দেখুন।
ঐক্য
CollectionReference usersRef = db.Collection("users"); usersRef.GetSnapshotAsync().ContinueWithOnMainThread(task => { QuerySnapshot snapshot = task.Result; foreach (DocumentSnapshot document in snapshot.Documents) { Debug.Log(String.Format("User: {0}", document.Id)); Dictionary<string, object> documentDictionary = document.ToDictionary(); Debug.Log(String.Format("First: {0}", documentDictionary["First"])); if (documentDictionary.ContainsKey("Middle")) { Debug.Log(String.Format("Middle: {0}", documentDictionary["Middle"])); } Debug.Log(String.Format("Last: {0}", documentDictionary["Last"])); Debug.Log(String.Format("Born: {0}", documentDictionary["Born"])); } Debug.Log("Read all data from the users collection."); });
সি#
রুবি
আপনার ডেটা সুরক্ষিত করুন
আপনি যদি ওয়েব, অ্যান্ড্রয়েড বা অ্যাপল প্ল্যাটফর্ম SDK ব্যবহার করেন, তাহলে ক্লাউড ফায়ারস্টোরে আপনার ডেটা সুরক্ষিত করতে Firebase প্রমাণীকরণ এবং ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়মগুলি ব্যবহার করুন৷
এখানে কিছু মৌলিক নিয়ম সেট রয়েছে যা আপনি শুরু করতে ব্যবহার করতে পারেন। আপনি কনসোলের নিয়ম ট্যাবে আপনার নিরাপত্তা নিয়ম সংশোধন করতে পারেন।
প্রমাণ প্রয়োজন
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
লক করা মোড
// Deny read/write access to all users under any conditions
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
পরীক্ষা মোড
// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
আপনি উৎপাদনে আপনার ওয়েব, অ্যান্ড্রয়েড বা iOS অ্যাপ স্থাপন করার আগে, শুধুমাত্র আপনার অ্যাপ ক্লায়েন্টরা আপনার ক্লাউড ফায়ারস্টোর ডেটা অ্যাক্সেস করতে পারে তা নিশ্চিত করার জন্য পদক্ষেপ নিন। অ্যাপ চেক ডকুমেন্টেশন দেখুন।
আপনি যদি সার্ভার SDK-এর একটি ব্যবহার করেন, তাহলে Cloud Firestore-এ আপনার ডেটা সুরক্ষিত করতে আইডেন্টিটি অ্যান্ড অ্যাকসেস ম্যানেজমেন্ট (IAM) ব্যবহার করুন।
একটি ভিডিও টিউটোরিয়াল দেখুন
ক্লাউড ফায়ারস্টোর মোবাইল ক্লায়েন্ট লাইব্রেরিগুলির সাথে শুরু করার বিষয়ে বিস্তারিত নির্দেশনার জন্য, নিম্নলিখিত ভিডিও টিউটোরিয়ালগুলির মধ্যে একটি দেখুন:
ওয়েব
iOS+
অ্যান্ড্রয়েড
আপনি Firebase YouTube চ্যানেলে আরও ভিডিও খুঁজে পেতে পারেন।
পরবর্তী পদক্ষেপ
নিম্নলিখিত বিষয়গুলির সাথে আপনার জ্ঞানকে আরও গভীর করুন:
- কোডল্যাবস — Android , iOS বা ওয়েবের জন্য কোডল্যাব অনুসরণ করে একটি বাস্তব অ্যাপে ক্লাউড ফায়ারস্টোর ব্যবহার করতে শিখুন।
- ডেটা মডেল — ক্লাউড ফায়ারস্টোরে কীভাবে ডেটা স্ট্রাকচার করা হয় সে সম্পর্কে আরও জানুন, যার মধ্যে শ্রেণীবদ্ধ ডেটা এবং উপ-সংগ্রহগুলি অন্তর্ভুক্ত।
- ডেটা যোগ করুন — ক্লাউড ফায়ারস্টোরে ডেটা তৈরি এবং আপডেট করার বিষয়ে আরও জানুন।
- ডেটা পান — কীভাবে ডেটা পুনরুদ্ধার করতে হয় সে সম্পর্কে আরও জানুন।
- সহজ এবং যৌগিক প্রশ্নগুলি সম্পাদন করুন — কীভাবে সরল এবং যৌগিক প্রশ্নগুলি চালাতে হয় তা শিখুন।
- অর্ডার এবং সীমিত ক্যোয়ারী শিখুন কিভাবে অর্ডার করবেন এবং আপনার ক্যোয়ারী দ্বারা প্রত্যাবর্তিত ডেটা সীমিত করবেন।