আপনার Android অ্যাপে Firebase ফোন নম্বর যাচাইকরণ যোগ করা

১. এক নজরে

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

Firebase PNV পপ-আপ ডায়ালগ

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

পূর্বশর্ত

  • Android Studio-র লেটেস্ট ভার্সন
  • API লেভেল ২৬ বা তার পরের যেকোনও ভার্সন সহ Android ডিভাইস বা এমুলেটর

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

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

২. স্যাম্পেল প্রোজেক্ট সেট-আপ করা

Firebase প্রোজেক্ট তৈরি করা

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

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

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

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

Android Studio-তে firebase-pnv-android ডিরেক্টরি খুলুন।

Firebase-এর সাথে আপনার Android প্রোজেক্ট কানেক্ট করা

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

Firebase AI Logic চালু করা

এই কোডল্যাব AI ভয়েস এজেন্টকে আরও শক্তিশালী করতে Firebase AI Logic ব্যবহার করে। আপনার Firebase প্রোজেক্টে Firebase AI Logic চালু করতে:

  1. Firebase কনসোলে, AI পরিষেবা > AI Logic বিকল্পে যান।
  2. শুরু করুন বিকল্পে ক্লিক করুন।
  3. এই API ব্যবহার করা শুরু করুন বিকল্পে ক্লিক করে Gemini Developer API ব্যবহার করার বিকল্প বেছে নিন।
  4. নির্দেশিত সেট-আপ ওয়ার্কফ্লোর বাকি ধাপগুলি সম্পূর্ণ করুন।

৩. টেস্ট মোডে Firebase PNV সেট-আপ করা

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

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

টেস্ট মোড ব্যবহার করতে, আপনার ডেভেলপমেন্ট ডিভাইসকে Google সিস্টেম পরিষেবা বিটা চ্যানেলে এনরোল করুন:

  1. Android অ্যাপ টেস্টিং - Google সিস্টেম সার্ভিস পৃষ্ঠায় ব্রাউজ করুন।
  2. টেস্টার হন বিকল্পে ক্লিক করুন।

আপনি এখন Google সিস্টেম পরিষেবার বিটা টেস্টার।

Firebase PNV ডিপেন্ডেন্সি যোগ করুন

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

[versions]
# ... other dependencies
firebaseBom = "34.13.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" }

আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত /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 কনসোলে, নিরাপত্তা > ফোন নম্বর যাচাইকরণ বিকল্পে যান।
  2. পরীক্ষা ট্যাব বেছে নিন।
  3. আপনার পরীক্ষার ফোন নম্বরের জন্য দেশের কোড বেছে নিন এবং টোকেন তৈরি করুন বিকল্পে ক্লিক করুন।
  4. জেনারেট করা টোকেন স্ট্রিং কপি করুন।

আপনার কোডে টেস্ট সেশন চালু করুন

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

৪. অ্যাপ চালান

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

  1. Android Studio-তে, Android এমুলেটর বা কোনও ফিজিক্যাল ডিভাইসে অ্যাপ লঞ্চ করতে, রান করুন বিকল্পে ক্লিক করুন।
  2. অ্যাপ লঞ্চ হয়ে গেলে, আপনাকে এই ধরনের একটি স্ক্রিন দেখানো হবে:
    Firebase PNV অ্যাপ চলছে
  3. কল শুরু করুন বিকল্পে ক্লিক করে নিজের পরিচয় দিন।
    Firebase PNV অ্যাপ চলছে
  4. AI ভয়েস এজেন্টকে রিজার্ভেশনের বিবরণ জানতে আপনাকে প্রম্পট করতে হবে। আপনি বিবরণ দেওয়ার পরে, আপনার ফোন নম্বর যাচাই করার জন্য স্ক্রিনের দিকে তাকানোর জন্য আপনাকে প্রম্পট করা হবে:
    Firebase PNV অ্যাপ চলছে
  5. এটি হয়ে গেলে, আপনি যাচাইকরণ সম্পূর্ণ হওয়ার স্ক্রিন দেখতে পাবেন:
    Firebase PNV অ্যাপ চলছে
  6. কল শেষ করতে সেশন শেষ করুন বিকল্পে ক্লিক করুন।

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

আপনার Firebase দামের প্ল্যান আপগ্রেড করা

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

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

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

  1. Firebase কনসোলে, আপনার প্ল্যান আপগ্রেড করুন বিকল্প বেছে নিন।
  2. Blaze প্ল্যান বেছে নিন। আপনার প্রোজেক্টের সাথে Cloud বিলিং অ্যাকাউন্ট লিঙ্ক করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
    • এই কোডল্যাবের জন্য Google Cloud ক্রেডিট ব্যবহার করলে, বিলিং অ্যাকাউন্টের নাম সম্ভবত Google Cloud Platform Trial Billing Account বা My Billing Account হবে।
    • এই আপগ্রেডের অংশ হিসেবে আপনাকে Cloud Billing অ্যাকাউন্ট তৈরি করতে হলে, আপগ্রেড সম্পূর্ণ করার জন্য আপনাকে Firebase কনসোলে আপগ্রেড ফ্লোতে ফিরে যেতে হতে পারে।

Firebase PNV প্রোডাকশন মোড চালু করা

  1. আপনার অ্যাপের SHA-256 ফিঙ্গারপ্রিন্ট যোগ করুন:
    1. Firebase কনসোলে, সেটিংস > সাধারণ পৃষ্ঠায় যান।
    2. নিচের দিকে স্ক্রল করে আপনার অ্যাপ কার্ডে যান এবং আপনার Android অ্যাপ খুঁজে নিন।
    3. SHA সার্টিফিকেট ফিঙ্গারপ্রিন্ট ফিল্ডে, আপনার SHA-256 ফিঙ্গারপ্রিন্ট যোগ করুন। আপনার অ্যাপের SHA-256 ফিঙ্গারপ্রিন্ট কীভাবে পাবেন সেই বিষয়ে বিস্তারিত জানতে আপনার ক্লায়েন্টকে যাচাই করা দেখুন।
  2. নিরাপত্তা > ফোন নম্বর যাচাইকরণ বিকল্পে ফিরে যান।
  3. প্রোডাকশন সেট-আপ করুন বিকল্পে ক্লিক করুন। আপনার প্রোজেক্টে প্রোডাকশনের জন্য চালু করা হবে এমন অ্যাপের তালিকা দেখতে পাবেন এবং অতিরিক্ত অ্যাপ যোগ করার সুযোগ পাবেন।
  4. OAuth ব্র্যান্ড যাচাইকরণ ও গোপনীয়তা নীতি পর্যালোচনার জন্য আপনার অ্যাপ জমা দিন। Google Cloud যাচাই করে দেখবে যে আপনি নিজের অ্যাপ ও তার গোপনীয়তা নীতি স্পষ্টভাবে ও সঠিকভাবে শনাক্ত করছেন কিনা।
    পর্যালোচনা শুরু করতে, Google Cloud-এ এগিয়ে যান বিকল্পে ক্লিক করুন। এই প্রসেস সম্পূর্ণ হতে কখনও কখনও ২৪ ঘণ্টা বা তার বেশি সময় লাগতে পারে।
  5. ব্র্যান্ড যাচাইকরণের জন্য অপেক্ষা করার সময়, কনসোলে লিঙ্ক করা Firebase PNV পরিষেবার নির্দিষ্ট শর্তাবলী পর্যালোচনা করুন।
  6. আপনার অ্যাপ ব্র্যান্ড যাচাইকরণ প্রসেস সম্পূর্ণ করার পরে, পরিষেবা-নির্দিষ্ট শর্তাবলীতে সম্মতি জানানোর জন্য বক্সে টিকচিহ্ন দিন এবং তারপরে চালু করুন বিকল্পে ক্লিক করুন।

Firebase PNV এখন প্রোডাকশন মোডে অ্যাক্টিভ আছে।

টেস্ট কোড সরিয়ে দেওয়া

আপনার Android প্রোজেক্টে, fpnv.enableTestSession(...) লাইনটি মুছে দিন।

এজেন্ট প্ল্যাটফর্ম ব্যবহার করার জন্য Firebase AI Logic মাইগ্রেট করা

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

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

৬. অভিনন্দন!

আপনি Android অ্যাপে Firebase ফোন নম্বর যাচাইকরণ সফলভাবে ইন্টিগ্রেট করেছেন!

আমরা কী কী কভার করেছি

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

পরবর্তী ধাপ