Firebase Data Connect (Android) দিয়ে তৈরি করুন

1. ওভারভিউ

ddc52cd46f923cf1.png

এই কোডল্যাবে, আপনি একটি মুভি রিভিউ অ্যান্ড্রয়েড অ্যাপ তৈরি করতে একটি ক্লাউড SQL ডাটাবেসের সাথে Firebase ডেটা কানেক্টকে একীভূত করবেন। আপনি শিখবেন কিভাবে:

  • ফায়ারবেস ডেটা সংযোগের জন্য একটি গ্রাফকিউএল স্কিমা লিখুন
  • প্রশ্ন এবং মিউটেশন লিখুন
  • আপনার ডেটা সুরক্ষিত করতে ব্যবহারকারীর প্রমাণীকরণ প্রয়োগ করুন

পূর্বশর্ত

আপনি কি শিখবেন

  • স্থানীয় এমুলেটরগুলির সাথে ফায়ারবেস ডেটা সংযোগ কীভাবে সেট আপ করবেন।
  • ডেটা কানেক্ট এবং গ্রাফকিউএল ব্যবহার করে কীভাবে ডেটা স্কিমা ডিজাইন করবেন।
  • একটি চলচ্চিত্র পর্যালোচনা অ্যাপের জন্য প্রশ্ন এবং মিউটেশনগুলি কীভাবে লিখবেন।
  • কিভাবে Kotlin SDK জেনারেট করবেন এবং একটি Android অ্যাপে ব্যবহার করবেন।
  • (ঐচ্ছিকভাবে) কীভাবে একটি ডেটা কানেক্ট পরিষেবা উৎপাদনে স্থাপন করবেন।

2. নমুনা প্রকল্প সেট আপ করুন

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

  1. আপনার Google অ্যাকাউন্ট দিয়ে Firebase কনসোলে সাইন ইন করুন।
  2. Firebase কনসোলে , প্রকল্প যোগ করুন ক্লিক করুন।
  3. আপনার Firebase প্রকল্পের জন্য একটি নাম লিখুন (উদাহরণস্বরূপ, "মুভি পর্যালোচনা"), এবং চালিয়ে যান ক্লিক করুন।
  4. আপনাকে Google Analytics সক্ষম করতে বলা হতে পারে, এই কোডল্যাবের উদ্দেশ্যে আপনার নির্বাচন কোন ব্যাপার না।
  5. এক মিনিট বা তার পরে, আপনার ফায়ারবেস প্রকল্প প্রস্তুত হয়ে যাবে। অবিরত ক্লিক করুন.

কোডটি ডাউনলোড করুন

এই কোডল্যাবের নমুনা কোড ক্লোন করতে নিম্নলিখিত কমান্ডটি চালান। এটি আপনার মেশিনে codelab-dataconnect-android নামে একটি ডিরেক্টরি তৈরি করবে:

git clone https://github.com/firebaseextended/codelab-dataconnect-android.git

আপনার মেশিনে গিট না থাকলে, আপনি সরাসরি GitHub থেকে কোডটি ডাউনলোড করতে পারেন।

Firebase কনফিগারেশন যোগ করুন

  1. Firebase কনসোলে , বাম নেভিতে প্রজেক্ট ওভারভিউ নির্বাচন করুন। প্লাটফর্ম নির্বাচন করতে অ্যান্ড্রয়েড বোতামে ক্লিক করুন। প্যাকেজ নামের জন্য অনুরোধ করা হলে com.google.firebase.example.dataconnect ব্যবহার করুন
  2. রেজিস্টার অ্যাপে ক্লিক করুন এবং google-services.json ফাইলটি ডাউনলোড করতে নির্দেশাবলী অনুসরণ করুন এবং এটিকে আপনার ডাউনলোড করা কোডের app/ ডিরেক্টরিতে নিয়ে যান। তারপর Next এ ক্লিক করুন।

3. ডেটা সংযোগ সেট আপ করুন৷

ইনস্টলেশন

স্বয়ংক্রিয় ইনস্টলেশন

codelab-dataconnect-android ডিরেক্টরিতে নিম্নলিখিত কমান্ডটি চালান:

curl -sL https://firebase.tools/dataconnect | bash

এই স্ক্রিপ্টটি আপনার জন্য ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার এবং একটি ব্রাউজার-ভিত্তিক IDE চালু করার চেষ্টা করে। এই IDE আপনাকে আপনার স্কিমা পরিচালনা করতে এবং আপনার অ্যাপ্লিকেশনে ব্যবহার করা প্রশ্ন এবং মিউটেশনগুলিকে সংজ্ঞায়িত করতে এবং দৃঢ়ভাবে টাইপ করা SDK তৈরি করতে সাহায্য করার জন্য একটি প্রাক-বান্ডেল করা VS কোড এক্সটেনশন সহ টুলিং প্রদান করে।

স্ক্রিপ্ট চালানোর পরে, ভিএস কোড স্বয়ংক্রিয়ভাবে খুলতে হবে।

দ্রষ্টব্য: আপনার যদি ইতিমধ্যেই VS কোডের ডেস্কটপ সংস্করণ ইনস্টল করা থাকে, তাহলে স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে খুলবে। স্ক্রিপ্ট ব্যর্থ হলে, নীচের ম্যানুয়াল ইনস্টলেশন পদক্ষেপগুলি ব্যবহার করুন৷

ম্যানুয়াল ইনস্টলেশন

  1. ভিজ্যুয়াল স্টুডিও কোড ইনস্টল করুন
  2. Node.js ইনস্টল করুন
  3. VS কোডে, codelab-dataconnect-android ডিরেক্টরি খুলুন।
  4. ভিজ্যুয়াল স্টুডিও কোড মার্কেটপ্লেস থেকে ফায়ারবেস ডেটা কানেক্ট এক্সটেনশন ইনস্টল করুন।

প্রকল্পে ডেটা কানেক্ট শুরু করুন

বাম দিকের প্যানেলে, Data Connect VS Code এক্সটেনশন UI খুলতে Firebase আইকনে ক্লিক করুন:

  1. সাইন ইন উইথ গুগল বোতামে ক্লিক করুন। একটি ব্রাউজার উইন্ডো খুলবে; আপনার Google অ্যাকাউন্ট দিয়ে এক্সটেনশনে সাইন ইন করতে নির্দেশাবলী অনুসরণ করুন৷ ef59f25a9e9cbfff.png
  2. একটি ফায়ারবেস প্রকল্প সংযুক্ত করুন বোতামে ক্লিক করুন এবং কনসোলে আপনি আগে তৈরি করা প্রকল্পটি নির্বাচন করুন৷ 951a836ba0682494.png

Run firebase init বোতামে ক্লিক করুন এবং ইন্টিগ্রেটেড টার্মিনালের ধাপগুলি অনুসরণ করুন।

SDK জেনারেশন কনফিগার করুন

একবার আপনি রান ফায়ারবেস ইনিট বোতামে ক্লিক করলে, ফায়ারবেস ডেটা কানেক্ট এক্সটেনশনটি আপনার জন্য একটি dataconnect/ ডিরেক্টরি শুরু করবে।

VS কোডে, dataconnect/connector/connector.yaml ফাইলটি খুলুন এবং আপনি ডিফল্ট কনফিগারেশন পাবেন। এই কোডল্যাবে কোড জেনারেশনকে ভিজ্যুয়ালাইজ করা সহজ করতে, movies কানেক্টরআইডি এবং প্যাকেজটিকে com.google.firebase.example.dataconnect.generated এ পরিবর্তন করুন:

connectorId: movies
generate:
  kotlinSdk:
    outputDir: ../../app/src/main/java
    package: com.google.firebase.example.dataconnect.generated

এগুলির প্রত্যেকটির অর্থ কী তা বোঝার জন্য:

  • connectorId - এই সংযোগকারীর জন্য একটি অনন্য নাম।
  • outputDir - পাথ যেখানে জেনারেট করা ডেটা কানেক্ট SDK সংরক্ষণ করা হবে। এই পথটি connector.yaml ফাইল ধারণকারী ডিরেক্টরির সাথে আপেক্ষিক।
  • প্যাকেজ - উৎপন্ন SDK-এ ব্যবহার করা প্যাকেজের নাম।

Firebase এমুলেটরগুলি শুরু করুন

VS কোডে, স্টার্ট এমুলেটর বোতামে ক্লিক করুন।

93fb67962e96a7cb.png

আপনি ইন্টিগ্রেটেড টার্মিনালে শুরু হওয়া এমুলেটর দেখতে পাবেন। যদি এটি সঠিকভাবে শুরু হয়, তাহলে আপনি একটি আউটপুট দেখতে পাবেন যা এইরকম দেখাচ্ছে:

8504ae0080923823.png

স্থানীয় এমুলেটর ব্যবহার করতে Android অ্যাপ কনফিগার করুন

  1. অ্যান্ড্রয়েড স্টুডিও খুলুন।
  2. অ্যান্ড্রয়েড স্টুডিওর স্বাগত স্ক্রিনে, ওপেন বোতামে ক্লিক করুন এবং codelab-dataconnect-android ডিরেক্টরি নির্বাচন করুন। Gradle সিঙ্ক করার জন্য অপেক্ষা করুন।
  3. Gradle সিঙ্ক সম্পূর্ণ হলে, app/src/main/java/com/google/firebase/example/dataconnect/MainActivity.kt ফাইল খুলুন এবং useEmulator() কল করুন :
import com.google.firebase.example.dataconnect.generated.MoviesConnector
import com.google.firebase.example.dataconnect.generated.instance

class MainActivity : ComponentActivity() {
  ...

  // Initialize Firebase Data Connect
  MoviesConnector.instance.dataConnect.useEmulator("10.0.2.2", 9399)

  ...
}

4. স্কিমা সংজ্ঞায়িত করুন এবং ডাটাবেস প্রাক-পপুলেট করুন

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

মূল সত্তা এবং সম্পর্ক

Movie ধরণে শিরোনাম, জেনার এবং ট্যাগের মতো মূল বিবরণ থাকে, যা অ্যাপটি অনুসন্ধান এবং মুভি প্রোফাইলের জন্য ব্যবহার করে। User ধরন ব্যবহারকারীর ইন্টারঅ্যাকশন ট্র্যাক করে, যেমন পর্যালোচনা এবং পছন্দ। Review ব্যবহারকারীদের সিনেমার সাথে সংযুক্ত করে, অ্যাপটিকে ব্যবহারকারীর তৈরি রেটিং এবং প্রতিক্রিয়া দেখাতে দেয়।

ব্যবহারকারী টেবিল

ব্যবহারকারীর ধরন এমন একটি ব্যবহারকারী সত্তাকে সংজ্ঞায়িত করে যারা পর্যালোচনা ছেড়ে বা সিনেমা পছন্দ করে সিনেমার সাথে ইন্টারঅ্যাক্ট করে।

VS কোডে, dataconnect/schema/schema.gql ফাইলটি খুলুন এবং User টেবিলের সংজ্ঞাটি আনকমেন্ট (বা যোগ করুন) করুন:

# Users
# Suppose a user can leave reviews for movies
# user  -> reviews is a one to many relationship,
# movie -> reviews is a one to many relationship
# movie <-> user is a many to many relationship
type User @table {
  id: String! @col(name: "user_auth")
  username: String! @col(name: "username", dataType: "varchar(50)")
  # The following are generated by the user: User! field in the Review table
  # reviews_on_user 
  # movies_via_Review
}

মুভি টেবিল

মুভির ধরন শিরোনাম, জেনার, রিলিজ ইয়ার এবং রেটিং এর মত ক্ষেত্র সহ একটি মুভি সত্তার জন্য মূল কাঠামোকে সংজ্ঞায়িত করে।

VS কোডে, dataconnect/schema/schema.gql ফাইলটি খুলুন এবং Movie টেবিলের সংজ্ঞাটি আনকমেন্ট (বা যোগ করুন) করুন:

# Movies
type Movie @table {
  # The below parameter values are generated by default with @table, and can be edited manually.
  # implies directive `@col(name: "movie_id")`, generating a column name
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

মুভি মেটাডেটা টেবিল

মুভি মেটাডেটা টাইপ মুভি টাইপের সাথে ওয়ান টু ওয়ান সম্পর্ক স্থাপন করে। এতে সিনেমার পরিচালকের মতো অতিরিক্ত ডেটা অন্তর্ভুক্ত রয়েছে।

VS কোডে, dataconnect/schema/schema.gql ফাইলটি খুলুন এবং MovieMetadata টেবিলের সংজ্ঞাটি আনকমেন্ট (বা যোগ করুন) করুন:

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # @unique indicates a 1-1 relationship
  movie: Movie! @unique 
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

পর্যালোচনা টেবিল

রিভিউ টাইপ রিভিউ সত্তার প্রতিনিধিত্ব করে এবং ইউজার এবং মুভির ধরনকে অনেক-থেকে-অনেক সম্পর্কের মধ্যে লিঙ্ক করে (একজন ব্যবহারকারী অনেক রিভিউ দিতে পারে এবং প্রতিটি মুভির অনেক রিভিউ থাকতে পারে)।

VS কোডে, dataconnect/schema/schema.gql ফাইলটি খুলুন এবং Review টেবিলের সংজ্ঞাটি আনকমেন্ট (বা যোগ করুন) করুন:

# Reviews
type Review @table(name: "Reviews", key: ["movie", "user"]) {
  id: UUID! @default(expr: "uuidV4()")
  user: User!
  movie: Movie!
  rating: Int
  reviewText: String
  reviewDate: Date! @default(expr: "request.time")
}

স্বয়ংক্রিয়ভাবে তৈরি ক্ষেত্র এবং ডিফল্ট

স্বয়ংক্রিয়ভাবে অনন্য আইডি এবং টাইমস্ট্যাম্প তৈরি করতে স্কিমা @default(expr: "uuidV4()") এর মত এক্সপ্রেশন ব্যবহার করে। উদাহরণ স্বরূপ, মুভি এবং রিভিউ প্রকারের আইডি ক্ষেত্রটি স্বয়ংক্রিয়ভাবে একটি UUID দিয়ে তৈরি হয় যখন একটি নতুন রেকর্ড তৈরি হয়।

উপহাস তথ্য সন্নিবেশ

স্কিমা সংজ্ঞায়িত করে, আপনি এখন পরীক্ষার জন্য উপহাস ডেটা সহ ডাটাবেসকে প্রাক-পপুলেট করতে পারেন।

  1. VS কোডে, dataconnect/moviedata_insert.gql খুলুন। Firebase Data Connect এক্সটেনশনের এমুলেটরগুলি চলছে তা নিশ্চিত করুন৷
  2. ফাইলের শীর্ষে আপনার একটি রান (স্থানীয়) বোতাম দেখতে হবে। আপনার ডাটাবেসে মক মুভি ডেটা সন্নিবেশ করতে এটিতে ক্লিক করুন।

b070f025e573ab9b.png

  1. ডেটা সফলভাবে যোগ করা হয়েছে তা নিশ্চিত করতে ডেটা কানেক্ট এক্সিকিউশন টার্মিনাল চেক করুন।

e2058cb4db857058.png

ডেটা থাকা অবস্থায়, ডেটা কানেক্টে কীভাবে প্রশ্ন তৈরি করতে হয় তা শিখতে পরবর্তী ধাপে যান।

5. মুভি তালিকা করতে একটি ক্যোয়ারী তৈরি করুন

সিনেমা তালিকাভুক্ত করার জন্য একটি ক্যোয়ারী তৈরি করে শুরু করুন। প্রতিটি সিনেমার জন্য, আপনি আইডি, শিরোনাম, imageUrl এবং জেনার আনবেন।

প্রশ্নটি সংজ্ঞায়িত করুন

VS কোডে, dataconnect/connector/queries.gql ফাইলটি খুলুন এবং ListMovies ক্যোয়ারীটি আনকমেন্ট (বা যোগ করুন) করুন:

query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

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

822bf32321df4716.png

অ্যান্ড্রয়েড অ্যাপ থেকে কল করুন

এখন আপনি ডেটা কানেক্ট এমুলেটরে ক্যোয়ারী পরীক্ষা করেছেন, এটি অ্যাপে যোগ করার সময়।

অ্যান্ড্রয়েড স্টুডিওতে, app/src/main/java/com/google/firebase/example/dataconnect/MoviesScreen.kt ফাইলটি খুলুন এবং একটি গ্রিড বিন্যাসে চলচ্চিত্রগুলির তালিকা প্রদর্শন করতে নিম্নলিখিত কোডটি যুক্ত করুন:

import com.google.firebase.example.dataconnect.generated.ListMoviesQuery
import com.google.firebase.example.dataconnect.generated.MoviesConnector
import com.google.firebase.example.dataconnect.generated.execute
import com.google.firebase.example.dataconnect.generated.instance

@Composable
fun MoviesScreen(
    onMovieClicked: (id: String) -> Unit
) {
    var movies by remember { mutableStateOf(emptyList<ListMoviesQuery.Data.MoviesItem>()) }
    LaunchedEffect(Unit) {
        // Queries need to be executed in a coroutine context
        try {
          movies = MoviesConnector.instance.listMovies.execute().data.movies
        } catch (e: Exception) {
          // Will be done at a later step
        }
    }
    LazyVerticalGrid(GridCells.Adaptive(150.dp)) {
        items(movies) { movie ->
            MovieCard(
                movieId = movie.id.toString(),
                movieTitle = movie.title,
                movieImageUrl = movie.imageUrl,
                movieGenre = movie.genre,
                onMovieClicked = {
                    onMovieClicked(movie.id.toString())
                }
            )
        }
    }
}

অ্যাপটি চালান

অ্যান্ড্রয়েড স্টুডিওতে, অ্যান্ড্রয়েড এমুলেটরে অ্যাপটি চালু করতে রান বোতামে ক্লিক করুন।

একবার অ্যাপটি চালু হলে, আপনি একটি স্ক্রীন দেখতে পাবেন যা এইরকম দেখাচ্ছে:

ddc52cd46f923cf1.png

6. মুভির বিস্তারিত প্রশ্ন তৈরি করুন

এখন যেহেতু অ্যাপটি সিনেমার তালিকা করতে পারে, আসুন প্রতিটি সিনেমার বিশদ বিবরণ দেখানোর জন্য একটি ক্যোয়ারী তৈরি করি।

প্রশ্নটি সংজ্ঞায়িত করুন

VS কোডে, dataconnect/connector/queries.gql ফাইলটি খুলুন এবং GetMovieById ক্যোয়ারীটি আনকমেন্ট (বা যোগ করুন) করুন:

# Get movie by id
query GetMovieById($id: UUID!) @auth(level: PUBLIC) {
  movie(id: $id) {
    id
    title
    imageUrl
    genre
    metadata: movieMetadata_on_movie {
      rating
      releaseYear
      description
    }
    reviews: reviews_on_movie {
      id
      reviewText
      reviewDate
      rating
      user {
        id
        username
      }
    }
  }
}

অ্যান্ড্রয়েড অ্যাপ থেকে কল করুন

অ্যান্ড্রয়েড স্টুডিওতে, app/src/main/java/com/google/firebase/example/dataconnect/MovieDetailScreen.kt ফাইলটি খুলুন এবং নিম্নলিখিত কোড যোগ করুন:

importcom.google.firebase.example.dataconnect.generated.GetMovieByIdQuery
importcom.google.firebase.example.dataconnect.generated.MoviesConnector
importcom.google.firebase.example.dataconnect.generated.execute
importcom.google.firebase.example.dataconnect.generated.instance

@Composable
fun MovieDetailScreen(
    movieId: String
) {
    var movie by remember { mutableStateOf<GetMovieByIdQuery.Data.Movie?>(null) }
    LaunchedEffect(Unit) {
        movie = MoviesConnector.instance.getMovieById.execute(
            UUID.fromString(movieId)
        ).data.movie
    }
    if (movie == null) {
        LoadingScreen()
    } else {
        MovieDetails(
            movieTitle = movie!!.title,
            movieImageUrl = movie!!.imageUrl,
            movieGenre = movie!!.genre,
            movieRating = movie!!.metadata?.rating,
            movieReleaseYear = movie!!.metadata?.releaseYear,
            movieDescription = movie!!.metadata?.description,
        )
    }
}

অ্যাপটি চালান

অ্যান্ড্রয়েড স্টুডিওতে, অ্যান্ড্রয়েড এমুলেটরে অ্যাপটি চালু করতে রান বোতামে ক্লিক করুন।

7. ব্যবহারকারীদের সন্নিবেশ করার জন্য একটি মিউটেশন তৈরি করুন

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

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

মিউটেশনের সংজ্ঞা দাও

VS কোডে, dataconnect/connector/mutations.gql ফাইলটি খুলুন এবং UpsertUser ক্যোয়ারীটি আনকমেন্ট (বা যোগ করুন) করুন:

# Upsert (update or insert) a user's username based on their auth.uid
mutation UpsertUser($username: String!) @auth(level: USER) {
  user_upsert(
    data: {
      id_expr: "auth.uid"
      username: $username
    }
  )
}

অ্যান্ড্রয়েড অ্যাপ থেকে কল করুন

অ্যান্ড্রয়েড স্টুডিওতে, app/src/main/java/com/google/firebase/example/dataconnect/MainActivity.kt ফাইলটি খুলুন এবং মিউটেশনটি কল করুন:

import com.google.firebase.example.dataconnect.generated.execute

LaunchedEffect(Unit) {
  // If there's no user signed in, sign in an anonymous user
  if (firebaseAuth.currentUser == null) {
    firebaseAuth.signInAnonymously().await()
    val newUsername = getRandomUsername()
    MoviesConnector.instance.upsertUser.execute(newUsername)
  }
}

অ্যাপটি চালান

অ্যান্ড্রয়েড স্টুডিওতে, অ্যান্ড্রয়েড এমুলেটরে অ্যাপটি চালু করতে রান বোতামে ক্লিক করুন।

8. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে একটি Android অ্যাপে Firebase Data Connect যোগ করেছেন!

এখন আপনি ডেটা কানেক্ট সেট আপ করতে, ক্যোয়ারী এবং মিউটেশন তৈরি করতে এবং ব্যবহারকারীর প্রমাণীকরণ পরিচালনা করতে প্রয়োজনীয় মূল পদক্ষেপগুলি জানেন৷

পরবর্তী কি

ঐচ্ছিক: উৎপাদনে স্থাপন

এখন পর্যন্ত এই অ্যাপটি শুধুমাত্র ফায়ারবেস এমুলেটর ব্যবহার করেছে। আপনি যদি এই অ্যাপটিকে একটি বাস্তব ফায়ারবেস প্রকল্পে কীভাবে স্থাপন করতে হয় তা শিখতে চান তাহলে পরবর্তী ধাপে যান।

9. (ঐচ্ছিক) আপনার অ্যাপ স্থাপন করুন

এখন পর্যন্ত এই অ্যাপটি সম্পূর্ণ স্থানীয়, সমস্ত ডেটা Firebase এমুলেটর স্যুটে রয়েছে। এই বিভাগে আপনি শিখবেন কীভাবে আপনার ফায়ারবেস প্রকল্প কনফিগার করবেন যাতে এই অ্যাপটি উৎপাদনে কাজ করে।

ফায়ারবেস প্রমাণীকরণ সক্ষম করুন৷

ফায়ারবেস কনসোলে, প্রমাণীকরণ বিভাগে যান এবং শুরু করুন ক্লিক করুন। সাইন-ইন পদ্ধতি ট্যাবে নেভিগেট করুন এবং প্রদানকারীদের থেকে বেনামী সাইন-ইন বিকল্পটি নির্বাচন করুন।

বেনামী সাইন-ইন পদ্ধতি সক্ষম করুন এবং সংরক্ষণ করুন ক্লিক করুন।

ফায়ারবেস ডেটা কানেক্ট স্কিমা স্থাপন করুন

গুরুত্বপূর্ণ: যদি আপনি প্রথমবার আপনার প্রকল্পে একটি স্কিমা স্থাপন করেন, তাহলে এই প্রক্রিয়াটি একটি Cloud SQL PostgreSQL উদাহরণ তৈরি করবে, যা প্রায় 15 মিনিট সময় নিতে পারে। ক্লাউড এসকিউএল ইনস্ট্যান্স প্রস্তুত না হওয়া পর্যন্ত এবং Firebase ডেটা কানেক্টের সাথে একত্রিত না হওয়া পর্যন্ত আপনি স্থাপন করতে পারবেন না।

  1. ফায়ারবেস ডেটা কানেক্ট VS কোড এক্সটেনশন UI-তে, উৎপাদনে স্থাপন করুন-এ ক্লিক করুন।
  2. আপনাকে স্কিমা পরিবর্তনগুলি পর্যালোচনা করতে এবং সম্ভাব্য ধ্বংসাত্মক পরিবর্তনগুলি অনুমোদন করতে হতে পারে৷ আপনাকে অনুরোধ করা হবে:
    • firebase dataconnect:sql:diff ব্যবহার করে স্কিমা পরিবর্তন পর্যালোচনা করুন
    • আপনি যখন পরিবর্তন নিয়ে সন্তুষ্ট হন, firebase dataconnect:sql:migrate দ্বারা শুরু হওয়া ফ্লো ব্যবহার করে প্রয়োগ করুন

PostgreSQL দৃষ্টান্তের জন্য আপনার ক্লাউড SQL চূড়ান্ত স্থাপন করা স্কিমা এবং ডেটা সহ আপডেট করা হবে। আপনি ফায়ারবেস কনসোলে স্ট্যাটাস নিরীক্ষণ করতে পারেন।

এখন আপনি ফায়ারবেস ডেটা কানেক্ট প্যানেলে রান (উৎপাদন) ক্লিক করতে পারেন, ঠিক যেমন আপনি স্থানীয় এমুলেটরগুলির সাথে করেছিলেন, উৎপাদন পরিবেশে ডেটা যোগ করতে।