شروع به کار با «درستی‌سنجی شماره تلفن Firebase» در Android

این صفحه نحوه شروع استفاده از Firebase Phone Number Verification را در برنامه Android شرح می‌دهد. برای شرح کلی این ویژگی، به نمای کلی مراجعه کنید.

با دنبال کردن مراحل این صفحه، می‌توانید به‌سرعت پیاده‌سازی جریان‌های کاربر را برای Firebase PNV شروع کنید. برای اهداف آزمایشی، یک توکن فقط آزمایشی تولید خواهید کرد که به یک شماره تلفن جعلی منتهی می‌شود. بااستفاده از این کد آزمایشی، می‌توانید بدون نیاز به حساب صورت‌حساب یا دستگاهی با سیم‌کارت واقعی، Firebase PNV را به برنامه‌تان اضافه کنید.

وقتی از تجربه کاربری Firebase PNV در برنامه‌تان راضی بودید، می‌توانید چند مرحله دیگر را برای تولیدی کردن برنامه‌تان دنبال کنید.

قبل از شروع

۱. کتابخانه Firebase PNV را به برنامه‌تان اضافه کنید

در فایل Gradle (سطح برنامه) (معمولاً <project>/<app-module>/build.gradle.kts یا <project>/<app-module>/build.gradle)، وابستگی کتابخانه Firebase Phone Number Verification را برای Android اضافه کنید. توصیه می‌کنیم از Firebase Android BoM برای کنترل نسخه‌بندی کتابخانه استفاده کنید.

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

    // 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 استفاده خواهد کرد.

(جایگزین)  افزودن وابستگی‌های کتابخانه Firebase بدون استفاده از 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:17.0.0")
}

۲. مقداردهی اولیه کتابخانه Firebase PNV در حالت آزمایشی

  1. در کنسول Firebase، به برگه امنیت > درستی‌سنجی تلفنی > آزمایش بروید.

  2. روی تولید کردن کد کلیک کنید.

    انجام داد.
  3. در برنامه‌تان، کارخواه Firebase PNV را برای استفاده از جلسه آزمایشی مقداردهی اولیه کنید:

    Kotlin

    کتابخانه را وارد کنید:

    import com.google.firebase.pnv.FirebasePhoneNumberVerification
    

    نمونه جدیدی از کلاس FirebasePhoneNumberVerification ایجاد کنید و از این نمونه برای همه تماس‌های Firebase PNV استفاده کنید.

    val fpnv = FirebasePhoneNumberVerification.getInstance()
    

    بااستفاده از کدی که در مرحله قبل تولید کردید، جلسه آزمایشی را فعال کنید:

    fpnv.enableTestSession("COPIED_TOKEN_STRING")
    

    این روش را باید فقط یک‌بار در نمونه‌ای از FirebasePhoneNumberVerification فراخوانی کنید؛ فراخوانی‌های بعدی خطا ایجاد خواهد کرد.

توکن‌های آزمایشی دارای TTL‏ ۷ روزه هستند؛ پس‌از این دوره، برای فعال کردن جلسه‌های آزمایشی باید توکن جدیدی تولید کنید. کدهای آزمایشی در دستگاه‌های فیزیکی و شبیه‌سازها کار می‌کنند و برای نمونه‌سازی اولیه تجربه کاربری در برنامه یا آزمایش در CI/CD ایده‌آل هستند.

۳. توصیه‌شده: بررسی کنید که Firebase PNV پشتیبانی می‌شود یا نه

برای کمک به شما در تعیین زمان نمایش میانای کاربری ورود شماره یا میانای کاربری توضیح‌دهنده، توصیه می‌شود هنگام راه‌اندازی برنامه بررسی کنید که آیا دستگاه و سیم‌کارت آن از Firebase PNV پشتیبانی می‌کنند یا نه. این یک پیش‌بررسی است که به رضایت کاربر نیاز ندارد. می‌توانید از نتیجه این آزمایش برای تصمیم‌گیری درباره شروع جریان Firebase PNV یا استفاده از روش جایگزین برای درستی‌سنجی شماره تلفن، مانند پیامک، استفاده کنید.

برای بررسی سازگاری دستگاه، روش 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(this@MainActivity)
.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() کل جریان درستی‌سنجی شماره تلفن را انجام می‌دهد، ازجمله:

  • استفاده از Credential Manager در Android برای کسب رضایت کاربر جهت هم‌رسانی شماره تلفن او.
  • درحال ارسال درخواست به پسای Firebase PNV.
  • برگرداندن یک کد حاوی شماره تلفن تأییدشده برای دستگاه (در یک برنامه تولید، این زمانی است که صورت‌حساب صادر می‌شود).

مراحل بعدی

  • این صفحه نحوه ادغام با Firebase PNV را بااستفاده از میانای برنامه‌سازی کاربردی تک‌فراخوانی یکپارچه شرح می‌دهد. فراخوانی یک روش واحد کل جریان کاربر Firebase PNV را مدیریت می‌کند، از دریافت رضایت کاربر تا برقراری تماس‌های شبکه لازم به باطن Firebase PNV. بااستفاده از این روش، مراحل ادغام را به یک فراخوانی روش کاهش می‌دهید.

    این میانای برنامه‌سازی کاربردی برای اکثر توسعه‌دهندگان توصیه می‌شود؛ بااین‌حال، اگر الزامات خاصی دارید که توسط کتابخانه برآورده نمی‌شود، برای اطلاعات درباره پیاده‌سازی جریان سفارشی، به صفحه سفارشی‌سازی جریان Firebase Phone Number Verification مراجعه کنید.

  • اگر از شماره تلفن درستی‌سنجی‌شده در خارج از کارخواه برنامه استفاده می‌کنید، باید به‌جای خود شماره تلفن، از کد استفاده کنید تا بتوانید هنگام استفاده از آن، یکپارچگی آن را درستی‌سنجی کنید. درستی‌سنجی کردن نشان‌های Firebase PNV را ببینید.

  • پس‌از پیاده‌سازی و آزمایش جریان Firebase PNV برنامه و ادغام با پس‌زمینه، می‌توانید برنامه را در مرحله تولید قرار دهید تا دریافت شماره تلفن‌های درستی‌سنجی‌شده واقعی را شروع کنید. ارتقا دادن به حالت تولید را ببینید.