Catch up on everthing we announced at this year's Firebase Summit. Learn more

আপনার অ্যাপ্লিকেশনটি সংযুক্ত করুন এবং প্রোটোটাইপিং শুরু করুন

: আগে আপনি Firebase স্থানীয় এমুলেটর সুইট দিয়ে লাফ, নিশ্চিত করুন যে আপনার প্ল্যাটফর্মের জন্য Firebase বিষয় দিয়ে শুরু করতে অনুযায়ী আপনি একটি Firebase প্রকল্পের তৈরি করে নিলে, আপনার উন্নয়ন পরিবেশ সেট আপ এবং নির্বাচিত এবং আপনার প্ল্যাটফর্মের জন্য Firebase SDK আছে ইনস্টল করা অ্যাপল , অ্যান্ড্রয়েড অথবা ওয়েব

প্রোটোটাইপ এবং পরীক্ষা

স্থানীয় এমুলেটর সুইট বিভিন্ন পণ্য emulators, এ হিসাবে বর্ণনা রয়েছে Firebase স্থানীয় এমুলেটর সুইট পরিচিতি । আপনি প্রোটোটাইপ করতে পারেন এবং পৃথক এমুলেটরগুলির সাথে এমুলেটরগুলির সংমিশ্রণে পরীক্ষা করতে পারেন, যেমন আপনি উপযুক্ত দেখেন, আপনি উত্পাদনে কোন ফায়ারবেস পণ্যগুলি ব্যবহার করছেন তার সাথে সম্পর্কিত।

ফায়ারবেস ডিস্টাবেস এবং ফাংশন এমুলেটরগুলির মধ্যে মিথস্ক্রিয়া
এর অংশ হিসেবে ডাটাবেস এবং ক্লাউড কার্যাবলী emulators সম্পূর্ণ স্থানীয় এমুলেটর সুইট

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

আপনি স্থানীয়ভাবে আপনার ফায়ারবেস প্রজেক্ট শুরু করার পরে, স্থানীয় এমুলেটর স্যুট ব্যবহার করে উন্নয়ন চক্রে সাধারণত তিনটি ধাপ থাকবে:

  1. প্রোটোটাইপ বৈশিষ্ট্যগুলি এমুলেটর এবং এমুলেটর স্যুট UI এর সাথে ইন্টারেক্টিভভাবে।

  2. আপনি যদি একটি ডাটাবেস এমুলেটর বা ক্লাউড ফাংশন এমুলেটর ব্যবহার করেন, তাহলে আপনার অ্যাপটিকে এমুলেটরগুলির সাথে সংযুক্ত করার জন্য একটি এককালীন পদক্ষেপ সম্পাদন করুন৷

  3. এমুলেটর এবং কাস্টম স্ক্রিপ্টগুলির সাথে আপনার পরীক্ষাগুলি স্বয়ংক্রিয় করুন৷

স্থানীয়ভাবে একটি ফায়ারবেস প্রকল্প শুরু করুন

নিশ্চিত করুন যে আপনি করুন CLI ইনস্টল বা তার সাম্প্রতিক সংস্করণে আপডেট করুন

curl -sL firebase.tools | bash

যদি আপনি ইতিমধ্যে এটি না করে থাকে, তাহলে একটি Firebase প্রকল্প হিসেবে সাম্প্রতিক কাজ করা আরম্ভ, আপনি ক্লাউড কার্যাবলী এবং হয় ক্লাউড Firestore বা রিয়েলটাইম ডাটাবেস ব্যবহার করছেন উল্লেখ পর্দায় আসেন অনুরোধ জানানো নিম্নলিখিত:

firebase init

আপনার প্রকল্প ডিরেক্টরির এখন Firebase কনফিগারেশন ফাইল, ডাটাবেজ জন্য Firebase সিকিউরিটি রুলস সংজ্ঞা ফাইল, একটি উপস্থিত থাকবে functions ধারণকারী ডিরেক্টরির মেঘ ফাংশন কোড, এবং অন্যান্য সমর্থনকারী ফাইল।

ইন্টারেক্টিভভাবে প্রোটোটাইপ করুন

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

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

আপনি যখন স্থানীয় এমুলেটর স্যুট শুরু করেন তখন এটি সবই পাওয়া যায়:

firebase emulators:start

আমাদের অনুমানমূলক অ্যাপের প্রোটোটাইপ করার জন্য, আসুন একটি ডাটাবেসে পাঠ্য এন্ট্রিগুলি সংশোধন করার জন্য একটি মৌলিক ক্লাউড ফাংশন সেট আপ এবং পরীক্ষা করি এবং এটিকে ট্রিগার করার জন্য এমুলেটর স্যুট UI-তে সেই ডাটাবেসটি তৈরি এবং পপুলেট করুন।

  1. সম্পাদনা করে মেঘ ফাংশন ডাটাবেসের লিখেছেন দ্বারা আলোড়ন সৃষ্টি তৈরি করুন functions/index.js আপনার প্রকল্পের ডিরেক্টরির মধ্যে ফাইল। নিম্নলিখিত স্নিপেট দিয়ে বিদ্যমান ফাইলের বিষয়বস্তু প্রতিস্থাপন করুন। নথি পরিবর্তনের জন্য এই ফাংশনটি শোনা messages সংগ্রহ, একটি নথি এর বিষয়বস্তু পরিবর্তন করে original দস্তাবেজটি এর ফলাফলের বড়হাতের থেকে ক্ষেত্র, এবং সঞ্চয় uppercase ক্ষেত্র।
  2.   const functions = require('firebase-functions');
    
      exports.makeUppercase = functions.firestore.document('/messages/{documentId}')
          .onCreate((snap, context) => {
            const original = snap.data().original;
            console.log('Uppercasing', context.params.documentId, original);
            const uppercase = original.toUpperCase();
            return snap.ref.set({uppercase}, {merge: true});
          });
      
  3. সঙ্গে স্থানীয় এমুলেটর সুইট লঞ্চ firebase emulators:start । ক্লাউড ফাংশন এবং ডাটাবেস এমুলেটরগুলি শুরু হয়, স্বয়ংক্রিয়ভাবে ইন্টারঅপারেটে কনফিগার করা হয়।
  4. আপনার ব্রাউজারে UI 'তে দেখুন http://localhost:4000 । পোর্ট 4000 হল UI-এর জন্য ডিফল্ট, কিন্তু Firebase CLI দ্বারা টার্মিনাল মেসেজ আউটপুট চেক করুন। উপলব্ধ এমুলেটরগুলির অবস্থা নোট করুন। আমাদের ক্ষেত্রে, ক্লাউড ফাংশন এবং ক্লাউড ফায়ারস্টোর এমুলেটরগুলি চলছে৷
    আমার ইমেজ
  5. UI 'তে সালে Firestore ট্যাবে, তথ্য উপ-ট্যাবে, স্টার্ট সংগ্রহে ক্লিক করুন এবং একটি নতুন দস্তাবেজ তৈরি করতে অনুরোধ জানানো অনুসরণ করুন messages FIELDNAME সঙ্গে সংগ্রহ, original এবং মান test । এটি আমাদের ক্লাউড ফাংশনকে ট্রিগার করে। পালন একটি নতুন যে uppercase ক্ষেত্র খুব শীঘ্রই প্রদর্শিত হবে, স্ট্রিং "পরীক্ষা" সঙ্গে জনবহুল।
    আমার ইমেজআমার ইমেজ
  6. Firestore উপর> অনুরোধগুলি ট্যাব, পরীক্ষা সব Firebase সিকিউরিটি রুলস মূল্যায়ন সহ আপনার অনুকরণের ডাটাবেস, তৈরি অনুরোধ ঐ অনুরোধের পূরণে অংশ হিসেবে পালন করেন।
  7. যেমন ডাটাবেসের আপডেট আপনার ফাংশন নিশ্চিত করতে ত্রুটি মধ্যে চালানো হয়নি লগ ট্যাব পরীক্ষা করে দেখুন।

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

এমুলেটরগুলির সাথে আপনার অ্যাপটি সংযুক্ত করুন৷

আপনি যখন ইন্টারেক্টিভ প্রোটোটাইপিংয়ের সাথে ভাল অগ্রগতি করেছেন এবং একটি ডিজাইনে স্থির হয়ে গেছেন, আপনি উপযুক্ত SDK ব্যবহার করে আপনার অ্যাপে ডাটাবেস অ্যাক্সেস কোড যোগ করতে প্রস্তুত হবেন। আপনি ডাটাবেস ট্যাব ব্যবহার করা চালিয়ে যাব এবং, কাজগুলির জন্য এমুলেটর সুইট UI 'তে লগ ট্যাব তা নিশ্চিত করতে আপনার অ্যাপ্লিকেশনের আচরণ সঠিক।

মনে রাখবেন যে স্থানীয় এমুলেটর স্যুট একটি স্থানীয় উন্নয়ন টুল। আপনার প্রোডাকশন ডাটাবেসে লিখলে আপনি স্থানীয়ভাবে প্রোটোটাইপ করছেন এমন ফাংশনগুলিকে ট্রিগার করবে না।

আপনার অ্যাপটি ডাটাবেসে লেখার জন্য স্যুইচ করার জন্য, আপনাকে ক্লাউড ফায়ারস্টোর এমুলেটরে আপনার পরীক্ষার ক্লাস বা ইন-অ্যাপ কনফিগারেশন নির্দেশ করতে হবে।

অ্যান্ড্রয়েড
        // 10.0.2.2 is the special IP address to connect to the 'localhost' of
        // the host computer from an Android emulator.
        FirebaseFirestore firestore = FirebaseFirestore.getInstance();
        firestore.useEmulator("10.0.2.2", 8080);

        FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
                .setPersistenceEnabled(false)
                .build();
        firestore.setFirestoreSettings(settings);
সুইফট
let settings = Firestore.firestore().settings
settings.host = "localhost:8080"
settings.isPersistenceEnabled = false 
settings.isSSLEnabled = false
Firestore.firestore().settings = settings

ওয়েব সংস্করণ 9

import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";

// firebaseApps previously initialized using initializeApp()
const db = getFirestore();
connectFirestoreEmulator(db, 'localhost', 8080);

ওয়েব সংস্করণ 8

// Firebase previously initialized using firebase.initializeApp().
var db = firebase.firestore();
if (location.hostname === "localhost") {
  db.useEmulator("localhost", 8080);
}
ওয়েব
// Initialize your Web app as described in the Get started for Web
// Firebase previously initialized using firebase.initializeApp().
var db = firebase.firestore();
if (location.hostname === "localhost") {
  db.useEmulator("localhost", 8080);
}

কাস্টম স্ক্রিপ্ট দিয়ে আপনার পরীক্ষা স্বয়ংক্রিয়

এখন শেষ সামগ্রিক কর্মপ্রবাহ পদক্ষেপের জন্য। একবার আপনি অ্যাপের মধ্যে আপনার বৈশিষ্ট্যটি প্রোটোটাইপ করে ফেললে এবং এটি আপনার সমস্ত প্ল্যাটফর্মে প্রতিশ্রুতিশীল দেখায়, আপনি চূড়ান্ত বাস্তবায়ন এবং পরীক্ষার দিকে যেতে পারেন। ইউনিট টেস্টিং জন্য এবং সি আই Workflows, আপনি emulators আরম্ভ স্ক্রিপ্টের পরীক্ষা চালানোর জন্য, এবং সঙ্গে একটি একক কলে emulators শাট ডাউন করতে পারেন exec কমান্ড প্রয়োগ করুন:

firebase emulators:exec "./testdir/test.sh"

আরও গভীরতায় পৃথক এমুলেটরগুলি অন্বেষণ করুন

এখন যেহেতু আপনি দেখেছেন বেসিক ক্লায়েন্ট-সাইড ওয়ার্কফ্লো কেমন দেখায়, আপনি স্যুটে পৃথক এমুলেটর সম্পর্কে বিশদ বিবরণ সহ চালিয়ে যেতে পারেন, সার্ভার-সাইড অ্যাপ ডেভেলপমেন্টের জন্য কীভাবে সেগুলি ব্যবহার করবেন:

তারপর কি?

উপরে লিঙ্ক করা নির্দিষ্ট এমুলেটর সম্পর্কিত বিষয়গুলি পড়তে ভুলবেন না। তারপর: