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

এই পৃষ্ঠায় একটি অ্যান্ড্রয়েড অ্যাপে Firebase Phone Number Verification ব্যবহার শুরু করার পদ্ধতি বর্ণনা করা হয়েছে। এই ফিচারটির সাধারণ বিবরণের জন্য ওভারভিউ দেখুন।

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

আপনার অ্যাপে Firebase PNV ইউজার এক্সপেরিয়েন্স নিয়ে সন্তুষ্ট হয়ে গেলে, অ্যাপটিকে প্রোডাকশনের জন্য প্রস্তুত করতে আপনি আরও কিছু ধাপ অনুসরণ করতে পারেন।

শুরু করার আগে

১. আপনার অ্যাপে Firebase PNV লাইব্রেরিটি যুক্ত করুন

আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts অথবা <project>/<app-module>/build.gradle ), অ্যান্ড্রয়েডের জন্য Firebase Phone Number Verification লাইব্রেরির ডিপেন্ডেন্সি যোগ করুন। লাইব্রেরির ভার্সনিং নিয়ন্ত্রণের জন্য আমরা Firebase Android BoM ব্যবহার করার পরামর্শ দিই।

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.12.0"))

    // Add the dependencies for the Firebase Phone Number Verification libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-pnv")
}

Firebase Android BoM ব্যবহার করলে, আপনার অ্যাপ সর্বদা Firebase Android লাইব্রেরিগুলোর সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

(বিকল্প) BoM ব্যবহার না করে ফায়ারবেস লাইব্রেরি নির্ভরতা যোগ করুন

আপনি যদি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে প্রতিটি Firebase লাইব্রেরির ভার্সন তার ডিপেন্ডেন্সি লাইনে উল্লেখ করতে হবে।

মনে রাখবেন, আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরির ভার্সনগুলো পরিচালনা করার জন্য BoM অফ মেটেরিয়ালস) ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করি, যা সব ভার্সনের সামঞ্জস্যতা নিশ্চিত করে।

dependencies {
    // Add the dependencies for the Firebase Phone Number Verification libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-pnv:16.0.0")
}

২. টেস্ট মোডে Firebase PNV লাইব্রেরিটি চালু করুন।

  1. Firebase কনসোলের ফোন ভেরিফিকেশন সেকশনের টেস্টিং ট্যাবে, জেনারেট টোকেন বাটনে ক্লিক করুন।

  2. আপনার অ্যাপে, একটি টেস্ট সেশন ব্যবহার করার জন্য Firebase PNV ক্লায়েন্টটি চালু করুন:

    Kotlin

    লাইব্রেরিটি ইম্পোর্ট করুন:

    import com.google.firebase.pnv.FirebasePhoneNumberVerification
    

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

    val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)
    

    পূর্ববর্তী ধাপে আপনার তৈরি করা টোকেনটি ব্যবহার করে একটি টেস্ট সেশন চালু করুন:

    fpnv.enableTestSession("COPIED_TOKEN_STRING")
    

    আপনাকে অবশ্যই FirebasePhoneNumberVerification এর কোনো ইনস্ট্যান্সে এই মেথডটি শুধুমাত্র একবার কল করতে হবে; পরবর্তী কলগুলো একটি এরর দেখাবে।

টেস্ট টোকেনের মেয়াদ ৭ দিন; এই সময় শেষে টেস্ট সেশন চালু করার জন্য আপনাকে একটি নতুন টোকেন তৈরি করতে হবে। টেস্ট টোকেন ফিজিক্যাল ডিভাইস এবং এমুলেটর উভয় ডিভাইসেই কাজ করে, যা আপনার অ্যাপের ইউএক্স (UX) প্রোটোটাইপিং বা সিআই/সিডি (CI/CD) টেস্টিং-এর জন্য এটিকে একটি আদর্শ মাধ্যম করে তোলে।

৩. সুপারিশকৃত: Firebase PNV সমর্থনের জন্য যাচাই করুন।

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

ডিভাইসটির সামঞ্জস্যতা যাচাই করতে getVerificationSupportInfo() মেথডটি কল করুন। আপনার টেস্ট সেশন সক্রিয় থাকা অবস্থায়, এই মেথডটি আপনার প্রোজেক্টে সক্রিয় থাকা প্রতিটি টেস্ট টোকেনের একটি তালিকা ফেরত দেবে। পরবর্তীতে, আপনার অ্যাপটি প্রোডাকশনে আনার পর, এই মেথডটি ডিভাইসের প্রতিটি সিমের জন্য একটি ফলাফল ফেরত দেবে।

Kotlin

// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
  .addOnSuccessListener { results ->
    if (results.any { it.isSupported() }) {
      // At least one SIM is supported; okay to call getVerifiedPhoneNumber
      // (see the next step).
    } else {
      // No SIMs are supported, so fall back to SMS verification.
    }
  }
  .addOnFailureListener { e ->
    // Handle error.
  }

৪. যাচাইকরণ প্রক্রিয়া শুরু করুন।

Firebase PNV ফ্লো শুরু করতে, getVerifiedPhoneNumber() মেথডটি কল করুন:

Kotlin

fpnv.getVerifiedPhoneNumber()
  .addOnSuccessListener { result ->
    // In test mode, this phone number will have a valid country code,
    // followed by all zeros.
    val phoneNumber = result.getPhoneNumber()
    val token = result.getToken()

    // Verification successful. Send token to your backend. (See Next Steps.)
  }
  .addOnFailureListener { e ->
    // Handle failures, such as the user declining consent or a network error.
  }

getVerifiedPhoneNumber() মেথডটি ফোন নম্বর যাচাইকরণের সম্পূর্ণ প্রক্রিয়াটি সম্পন্ন করে, যার মধ্যে অন্তর্ভুক্ত রয়েছে:

  • ব্যবহারকারীর ফোন নম্বর শেয়ার করার জন্য তার সম্মতি নিতে অ্যান্ড্রয়েড ক্রেডেনশিয়াল ম্যানেজার ব্যবহার করা।
  • Firebase PNV ব্যাকএন্ডে অনুরোধটি পাঠানো হচ্ছে।
  • ডিভাইসটির জন্য যাচাইকৃত ফোন নম্বর সম্বলিত একটি টোকেন ফেরত দেওয়া হচ্ছে (প্রোডাকশন অ্যাপের ক্ষেত্রে, এই সময়েই বিলিং করা হয়)।

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

  • এই পৃষ্ঠায় ইউনিফাইড, সিঙ্গেল-কল এপিআই ব্যবহার করে Firebase PNV সাথে ইন্টিগ্রেট করার পদ্ধতি বিস্তারিতভাবে বর্ণনা করা হয়েছে। একটিমাত্র মেথড কল করার মাধ্যমেই ব্যবহারকারীর সম্মতি গ্রহণ থেকে শুরু করে Firebase PNV ব্যাকএন্ডে প্রয়োজনীয় নেটওয়ার্ক কল করা পর্যন্ত সম্পূর্ণ Firebase PNV ইউজার ফ্লো সম্পন্ন হয়। এই পদ্ধতি ব্যবহার করে আপনি ইন্টিগ্রেশনের ধাপগুলোকে একটিমাত্র মেথড কলে কমিয়ে আনতে পারেন।

    বেশিরভাগ ডেভেলপারের জন্য এই এপিআই-টি সুপারিশ করা হয়; তবে, লাইব্রেরিতে পূরণ হয় না এমন কোনো নির্দিষ্ট চাহিদা আপনার থাকলে, একটি কাস্টম ফ্লো বাস্তবায়নের তথ্যের জন্য “Customize the Firebase Phone Number Verification flow” পৃষ্ঠাটি দেখুন।

  • আপনি যদি অ্যাপ ক্লায়েন্টের বাইরে যাচাইকৃত ফোন নম্বরটি ব্যবহার করেন, তবে সরাসরি ফোন নম্বরের পরিবর্তে টোকেনটি ব্যবহার করুন, যাতে ব্যবহারের সময় আপনি এর অখণ্ডতা যাচাই করতে পারেন। Firebase PNV টোকেন যাচাইকরণ দেখুন।

  • আপনার অ্যাপের Firebase PNV ফ্লো এবং ব্যাকএন্ড ইন্টিগ্রেশন বাস্তবায়ন ও পরীক্ষা করার পর, আপনি আসল যাচাইকৃত ফোন নম্বর পেতে আপনার অ্যাপটিকে প্রোডাকশনে আনতে পারেন। প্রোডাকশন মোডে আপগ্রেড দেখুন।