شروع به کار با تأیید شماره تلفن Firebase در اندروید کنید

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

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

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

قبل از اینکه شروع کنی

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

در فایل Gradle ماژول (سطح برنامه) خود (معمولاً <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 استفاده خواهد کرد.

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

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

  1. در تب Testing از بخش Phone Verification کنسول Firebase ، روی دکمه Generate token کلیک کنید.

  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 فراخوانی کنید؛ فراخوانی‌های بعدی منجر به خطا خواهند شد.

توکن‌های آزمایشی (TTL) دارای مدت زمان ماندگاری ۷ روزه هستند؛ پس از این مدت، برای فعال کردن جلسات آزمایشی، باید یک توکن جدید ایجاد کنید. توکن‌های آزمایشی روی دستگاه‌های فیزیکی و شبیه‌سازها کار می‌کنند و همین امر آنها را برای نمونه‌سازی اولیه UX در برنامه شما یا آزمایش در 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()
  .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() کل جریان تأیید شماره تلفن را انجام می‌دهد، از جمله:

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

مراحل بعدی

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

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

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

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