আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস ফোন নম্বর যাচাইকরণ যোগ করুন

১. সংক্ষিপ্ত বিবরণ

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

ফায়ারবেস পিএনভি পপআপ ডায়ালগ

এই কোডল্যাবে আপনি শিখবেন কীভাবে একটি "রেস্তোরাঁ ফাইন্ডার" এআই ভয়েস এজেন্ট তৈরি করতে হয়, যা টেবিল রিজার্ভেশন নিশ্চিত করার আগে ব্যবহারকারীর ফোন নম্বর যাচাই করার জন্য ফায়ারবেস ফোন নম্বর ভেরিফিকেশন ব্যবহার করে।

পূর্বশর্ত

আপনি যা শিখবেন

  • Firebase PNV ব্যবহার করে একটি Firebase প্রজেক্ট সেট আপ করুন।
  • বিলিং অ্যাকাউন্ট বা আসল সিম ছাড়াই প্রোটোটাইপ তৈরি করতে ফায়ারবেস পিএনভি-এর টেস্ট মোড ব্যবহার করুন।
  • একটি অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস পিএনভি এসডিকে সংযুক্ত করুন।
  • সিঙ্গেল-কল এপিআই ব্যবহার করে একটি ফোন নম্বর যাচাই করুন।
  • (ঐচ্ছিকভাবে) আপনার অ্যাপটি প্রোডাকশনের জন্য প্রস্তুত করুন।

২. নমুনা প্রকল্পটি সেট আপ করুন।

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

  1. আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেস কনসোলে সাইন ইন করুন।
  2. নতুন প্রজেক্ট তৈরি করতে বাটনটিতে ক্লিক করুন এবং তারপর একটি প্রজেক্টের নাম লিখুন (উদাহরণস্বরূপ, Tera Bites )।
  3. চালিয়ে যান-এ ক্লিক করুন।
  4. অনুরোধ করা হলে, Firebase-এর শর্তাবলী পর্যালোচনা করে গ্রহণ করুন এবং তারপর 'চালিয়ে যান' (Continue ) বোতামে ক্লিক করুন।
  5. (ঐচ্ছিক) Firebase কনসোলে AI সহায়তা সক্রিয় করুন (Firebase-এ এটিকে "Gemini" বলা হয়)।
  6. এই কোডল্যাবের জন্য আপনার গুগল অ্যানালিটিক্স-এর প্রয়োজন নেই , তাই গুগল অ্যানালিটিক্স অপশনটি বন্ধ করে দিন
  7. Create project-এ ক্লিক করুন, আপনার প্রজেক্টটি প্রস্তুত হওয়া পর্যন্ত অপেক্ষা করুন, এবং তারপর Continue-তে ক্লিক করুন।

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

এই কোডল্যাবের নমুনা কোড ক্লোন করতে নিম্নলিখিত কমান্ডগুলো চালান:

git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android

অ্যান্ড্রয়েড স্টুডিওতে firebase-pnv-android ডিরেক্টরিটি খুলুন।

আপনার অ্যান্ড্রয়েড প্রজেক্টকে ফায়ারবেসের সাথে সংযুক্ত করুন

  1. ফায়ারবেস কনসোলে, প্রজেক্ট ওভারভিউ পেজের মাঝখানে থাকা অ্যান্ড্রয়েড আইকনে অথবা 'অ্যাড অ্যাপ'-এ ক্লিক করে অ্যাপ তৈরির ওয়ার্কফ্লো চালু করুন।
  2. অ্যান্ড্রয়েড প্যাকেজ নেম ফিল্ডে অ্যাপটির প্যাকেজ নেম লিখুন: com.google.firebase.example.fpnv
  3. অ্যাপটি রেজিস্টার করতে ক্লিক করুন।
  4. নির্দেশাবলী অনুসরণ করে google-services.json ফাইলটি ডাউনলোড করুন এবং এটিকে আপনার এইমাত্র ডাউনলোড করা কোডের app/ ডিরেক্টরিতে সরিয়ে নিন।
  5. পরবর্তী ধাপে যান।

ফায়ারবেস এআই লজিক সক্রিয় করুন

এই কোডল্যাবটি এআই ভয়েস এজেন্টকে চালনা করতে ফায়ারবেস এআই লজিক ব্যবহার করে। আপনার ফায়ারবেস প্রোজেক্টে ফায়ারবেস এআই লজিক সক্রিয় করতে:

  1. Firebase কনসোলে, AI Services > AI Logic- এ যান।
  2. শুরু করতে ক্লিক করুন।
  3. Gemini Developer API ব্যবহার করতে চাইলে , Get started with this API-তে ক্লিক করুন।
  4. Enable API-তে ক্লিক করুন এবং নিশ্চিত করুন।

৩. টেস্ট মোডে ফায়ারবেস পিএনভি সেট আপ করুন।

টেস্ট মোড আপনাকে উন্নয়নের উদ্দেশ্যে একটি টেস্ট টোকেন ব্যবহার করে একটি 'নকল' ফোন নম্বর যাচাই করার সুযোগ দেয়।

গুগল সিস্টেম সার্ভিসেস পাবলিক বিটা প্রোগ্রামে যোগদান করুন

টেস্ট মোড ব্যবহার করার জন্য আপনার ডেভেলপমেন্ট ডিভাইসটিকে গুগল সিস্টেম সার্ভিসেস বিটা চ্যানেলে নথিভুক্ত করুন:

  1. Android App Testing - Google system services পেজটিতে যান।
  2. পরীক্ষক হতে ক্লিক করুন।

আপনি এখন গুগল সিস্টেম সার্ভিসেস-এর একজন বিটা টেস্টার।

Firebase PNV নির্ভরতা যোগ করুন

আপনার অ্যান্ড্রয়েড প্রজেক্টের কোডবেসে, Firebase PNV এবং Firebase AI Logic লাইব্রেরিগুলোর ডিপেন্ডেন্সিগুলো ইতিমধ্যেই সংজ্ঞায়িত করা আছে। /gradle/versions.toml ফাইল:

[versions]
# ... other dependencies
firebaseBom = "34.12.0"

[libraries]
# ... other libraries
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-ai-logic = { module = "com.google.firebase:firebase-ai" }
firebase-pnv = { module = "com.google.firebase:firebase-pnv" }

আপনার মডিউল (অ্যাপ-স্তরের) গ্রেডল ফাইলে (সাধারণত /app/build.gradle.kts ), Firebase PNV লাইব্রেরির জন্য নির্ভরতা ঘোষণা করুন:

dependencies {
  // ... other dependencies
  implementation(platform(libs.firebase.bom))
  implementation(libs.firebase.ai.logic)

  // Add this line
  implementation(libs.firebase.pnv)

  // ...
}

একটি পরীক্ষার টোকেন তৈরি করুন

  1. Firebase কনসোলে, Security > Phone Verification- এ যান।
  2. টেস্টিং ট্যাবটি নির্বাচন করুন।
  3. আপনার টেস্টিং ফোন নম্বরের জন্য দেশের কোড নির্বাচন করুন এবং 'Generate token'-এ ক্লিক করুন।
  4. তৈরি হওয়া টোকেন স্ট্রিংটি কপি করুন।

আপনার কোডে টেস্ট সেশনটি সক্রিয় করুন।

  1. আপনার অ্যান্ড্রয়েড প্রজেক্টে ফিরে গিয়ে ChatViewModel.kt ফাইলটি খুলুন এবং verifyPhoneNumber() ফাংশনটি খুঁজুন।
  2. Firebase কনসোল থেকে কপি করা টোকেনটি পেস্ট করে FirebasePhoneNumberVerification ক্লায়েন্টটি ইনিশিয়ালাইজ করুন এবং টেস্ট সেশনটি চালু করুন:
    suspend fun verifyPhoneNumber(): String {
        // Initialize Firebase Phone Number Verification
        val fpnv = FirebasePhoneNumberVerification.getInstance(context!!)
    
        // Enable Test session
        fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP")
    
        // Trigger the Firebase PNV pop up
        val response = fpnv.getVerifiedPhoneNumber().await()
        val phoneNumber = response.getPhoneNumber()
    
        return phoneNumber
    }
    

৪. অ্যাপটি চালান।

এখন যেহেতু আপনি Firebase PNV প্রয়োগ করেছেন, অ্যাপটি চালানোর সময় হয়েছে।

  1. অ্যান্ড্রয়েড স্টুডিওতে, অ্যান্ড্রয়েড এমুলেটর বা কোনো ফিজিক্যাল ডিভাইসে অ্যাপটি চালু করতে রান (Run)- এ ক্লিক করুন।
  2. অ্যাপটি চালু হলে, আপনি এইরকম একটি স্ক্রিন দেখতে পাবেন:
    ফায়ারবেস পিএনভি অ্যাপ চলছে
  3. স্টার্ট কল-এ ক্লিক করুন এবং নিজের পরিচয় দিন।
    ফায়ারবেস পিএনভি অ্যাপ চলছে
  4. এআই ভয়েস এজেন্ট আপনার কাছে রিজার্ভেশনের বিবরণ জানতে চাইবে। আপনি বিবরণ দেওয়ার পরে, এটি আপনার ফোন নম্বর যাচাই করার জন্য আপনাকে স্ক্রিনের দিকে তাকাতে বলবে।
    Firebase PNV app running
  5. একবার সেটি সম্পন্ন হলে, আপনি একটি যাচাইকরণ সম্পন্ন হওয়ার স্ক্রিন দেখতে পাবেন:
    ফায়ারবেস পিএনভি অ্যাপ চলছে
  6. কলটি শেষ করতে ‘সেশন শেষ করুন’ এ ক্লিক করুন।

৫. (ঐচ্ছিক) প্রোডাকশন মোডে আপগ্রেড করুন

আপনার ফায়ারবেস প্রাইসিং প্ল্যান আপগ্রেড করুন

প্রোডাকশন মোডে Firebase PNV ব্যবহার করতে হলে, আপনার Firebase প্রজেক্টটিকে পে-অ্যাজ-ইউ-গো (Blaze) প্রাইসিং প্ল্যানে থাকতে হবে, যার অর্থ হলো এটি একটি ক্লাউড বিলিং অ্যাকাউন্টের সাথে লিঙ্ক করা থাকবে।

  • ক্লাউড বিলিং অ্যাকাউন্টের জন্য ক্রেডিট কার্ডের মতো একটি পেমেন্ট পদ্ধতি প্রয়োজন।
  • আপনি যদি Firebase এবং Google Cloud-এ নতুন হন, তাহলে যাচাই করে দেখুন আপনি $300 ক্রেডিট এবং একটি ফ্রি ট্রায়াল ক্লাউড বিলিং অ্যাকাউন্টের জন্য যোগ্য কিনা।
  • আপনি যদি কোনো ইভেন্টের অংশ হিসেবে এই কোডল্যাবটি করে থাকেন, তাহলে আপনার আয়োজককে জিজ্ঞাসা করুন কোনো ক্লাউড ক্রেডিট পাওয়া যাবে কিনা।

আপনার প্রজেক্টটি ব্লেজ প্ল্যানে আপগ্রেড করতে, এই ধাপগুলো অনুসরণ করুন:

  1. Firebase কনসোলে, আপনার প্ল্যান আপগ্রেড করতে নির্বাচন করুন।
  2. ব্লেজ প্ল্যানটি নির্বাচন করুন। আপনার প্রোজেক্টের সাথে একটি ক্লাউড বিলিং অ্যাকাউন্ট লিঙ্ক করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।
    এই আপগ্রেডের অংশ হিসেবে যদি আপনার একটি ক্লাউড বিলিং অ্যাকাউন্ট তৈরি করার প্রয়োজন হয়ে থাকে, তাহলে আপগ্রেডটি সম্পন্ন করার জন্য আপনাকে ফায়ারবেস কনসোলের আপগ্রেড ফ্লো-তে ফিরে যেতে হতে পারে।

ফায়ারবেস পিএনভি প্রোডাকশন মোড সক্রিয় করুন

  1. আপনার অ্যাপের SHA-256 ফিঙ্গারপ্রিন্ট যোগ করুন:
    1. Firebase কনসোলে, সেটিংস > সাধারণ পৃষ্ঠায় যান।
    2. নিচে স্ক্রল করে 'Your apps' কার্ড পর্যন্ত যান এবং আপনার অ্যান্ড্রয়েড অ্যাপটি খুঁজুন।
    3. SHA সার্টিফিকেট ফিঙ্গারপ্রিন্টস ফিল্ডে আপনার SHA-256 ফিঙ্গারপ্রিন্ট যোগ করুন। আপনার অ্যাপের SHA-256 ফিঙ্গারপ্রিন্ট কীভাবে পাবেন, সে সম্পর্কে বিস্তারিত জানতে “আপনার ক্লায়েন্টকে প্রমাণীকরণ” অংশটি দেখুন।
  2. নিরাপত্তা > ফোন যাচাইকরণ- এ ফিরে যান।
  3. ‘সেট আপ প্রোডাকশন’- এ ক্লিক করুন। আপনি আপনার প্রোজেক্টের সেই অ্যাপগুলির একটি তালিকা দেখতে পাবেন যেগুলি প্রোডাকশনের জন্য সক্রিয় করা হবে, এবং অতিরিক্ত অ্যাপ যোগ করার সুযোগ পাবেন।
  4. OAuth ব্র্যান্ড যাচাইকরণ এবং গোপনীয়তা নীতি পর্যালোচনার জন্য আপনার অ্যাপটি জমা দিন। গুগল ক্লাউড যাচাই করবে যে আপনি আপনার অ্যাপ এবং এর গোপনীয়তা নীতি স্পষ্টভাবে ও নির্ভুলভাবে চিহ্নিত করছেন কিনা।
    পর্যালোচনা শুরু করতে, গুগল ক্লাউডে ‘প্রসিড’ (Proceed) বোতামে ক্লিক করুন। এই প্রক্রিয়াটিতে কখনও কখনও ২৪ ঘণ্টা বা তার বেশি সময় লাগতে পারে।
  5. ব্র্যান্ড যাচাইকরণের জন্য অপেক্ষা করার সময়, Firebase PNV পরিষেবার নির্দিষ্ট শর্তাবলী পর্যালোচনা করুন, যেগুলোর লিঙ্ক কনসোলে দেওয়া আছে।
  6. আপনার অ্যাপের ব্র্যান্ড যাচাইকরণ সম্পন্ন হলে, পরিষেবা-সংক্রান্ত শর্তাবলী স্বীকার করে বক্সটিতে টিক দিন এবং তারপর 'সক্ষম করুন' (Enable ) বোতামে ক্লিক করুন।

Firebase PNV এখন প্রোডাকশন মোডে সক্রিয়।

টেস্ট কোড সরান

আপনার অ্যান্ড্রয়েড প্রজেক্ট থেকে fpnv.enableTestSession(...) লাইনটি মুছে ফেলুন।

Vertex AI ব্যবহার করার জন্য Firebase AI লজিক স্থানান্তর করুন

আপনি যদি আপনার বিলিং অ্যাকাউন্টে ক্রেডিট ব্যবহার করেন, তাহলে আপনি সেগুলি Gemini Developer API-এর সাথে ব্যবহার করতে পারবেন না। কিন্তু আপনি সেগুলি Vertex AI Gemini API-এর সাথে ব্যবহার করতে পারবেন।

  1. Firebase কনসোলে, AI Services > AI Logic- এ যান।
  2. সেটিংস-এ ক্লিক করুন।
  3. Vertex AI Gemini API-এর অধীনে, Enable-এ ক্লিক করুন।
  4. আপনার অ্যান্ড্রয়েড প্রজেক্টে, গুগল এআই-এর পরিবর্তে ভার্টেক্স এআই ব্যাকএন্ড ব্যবহার করার জন্য ফায়ারবেস এআই লজিক ইনিশিয়ালাইজেশন পরিবর্তন করুন:
    val model = Firebase.ai(
        backend = GenerativeBackend.vertexAI(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

৬. অভিনন্দন!

আপনি সফলভাবে একটি অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস ফোন নম্বর যাচাইকরণ যুক্ত করেছেন!

আমরা যা আলোচনা করেছি

  • Firebase PNV-এর জন্য একটি প্রজেক্ট সেট আপ করা।
  • প্রোটোটাইপিংয়ের জন্য টেস্ট মোড ব্যবহার করা।
  • ফায়ারবেস পিএনভি সিঙ্গেল-কল এপিআই বাস্তবায়ন করা।
  • প্রোডাকশন মোডে আপগ্রেড করা হচ্ছে।

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