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

۱. مرور کلی

تأیید شماره تلفن فایربیس (Firebase PNV یا FPNV) روشی سریع‌تر و امن‌تر برای تأیید شماره تلفن‌ها است. برخلاف تأیید مبتنی بر پیامک که نیاز به دریافت و وارد کردن کد از طریق پیامک توسط کاربران نهایی دارد، Firebase PNV با دریافت شماره تلفن اختصاص داده شده به سیم‌کارت در دستگاه، مستقیماً از اپراتور متصل و تنها با یک لمس، کار می‌کند. این امر باعث کاهش اصطکاک برای کاربر نهایی، بهبود قابلیت اطمینان با عدم وابستگی به نحوه‌ی دریافت پیامک و حذف مسیرهای سوءاستفاده‌ای می‌شود که معمولاً هنگام استفاده از پیامک مورد سوءاستفاده قرار می‌گیرند.

پنجره پاپ‌آپ Firebase PNV

در این آزمایشگاه کد، یاد خواهید گرفت که چگونه یک عامل صوتی هوش مصنوعی «رستوران‌یاب» بسازید که از تأیید شماره تلفن Firebase برای تأیید شماره تلفن کاربر نهایی قبل از تأیید رزرو میز استفاده می‌کند.

پیش‌نیازها

آنچه یاد خواهید گرفت

  • یک پروژه Firebase با Firebase PNV راه‌اندازی کنید.
  • از Firebase PNV در حالت آزمایشی برای نمونه‌سازی اولیه بدون حساب صورتحساب یا سیم‌کارت واقعی استفاده کنید.
  • کیت توسعه نرم‌افزار Firebase PNV را در یک برنامه اندروید ادغام کنید.
  • با استفاده از API تک-تماس، شماره تلفن را تأیید کنید.
  • (اختیاری) برنامه خود را برای تولید آماده کنید.

۲. پروژه نمونه را تنظیم کنید

ایجاد یک پروژه فایربیس

  1. با استفاده از حساب گوگل خود وارد کنسول فایربیس شوید.
  2. برای ایجاد یک پروژه جدید، روی دکمه کلیک کنید و سپس نام پروژه را وارد کنید (برای مثال، Tera Bites ).
  3. روی ادامه کلیک کنید.
  4. در صورت درخواست، شرایط Firebase را مرور و قبول کنید و سپس روی ادامه کلیک کنید.
  5. (اختیاری) دستیار هوش مصنوعی را در کنسول Firebase (با نام "Gemini در Firebase") فعال کنید.
  6. برای این codelab، به گوگل آنالیتیکس نیاز ندارید ، بنابراین گزینه گوگل آنالیتیکس را غیرفعال کنید .
  7. روی ایجاد پروژه کلیک کنید، منتظر بمانید تا پروژه شما آماده شود و سپس روی ادامه کلیک کنید.

کد را دانلود کنید

دستورات زیر را برای کلون کردن کد نمونه برای این codelab اجرا کنید:

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. روی بعدی کلیک کنید.

فعال کردن منطق هوش مصنوعی فایربیس

این آزمایشگاه کد از Firebase AI Logic برای تقویت عامل صوتی هوش مصنوعی استفاده می‌کند. برای فعال کردن Firebase AI Logic در پروژه Firebase خود:

  1. در کنسول فایربیس، به بخش سرویس‌های هوش مصنوعی > منطق هوش مصنوعی بروید.
  2. روی شروع به کار کلیک کنید.
  3. با کلیک روی « شروع با این API» ، استفاده از رابط برنامه‌نویسی نرم‌افزار Gemini Developer API را انتخاب کنید.
  4. روی فعال کردن API کلیک کنید و تأیید کنید.

۳. Firebase PNV را در حالت آزمایشی تنظیم کنید

حالت آزمایشی به شما امکان می‌دهد یک شماره تلفن «جعلی» را با استفاده از یک توکن آزمایشی برای توسعه، تأیید کنید.

به برنامه بتای عمومی سرویس‌های سیستمی گوگل بپیوندید

برای استفاده از حالت آزمایشی، دستگاه توسعه‌دهنده خود را در کانال بتای سرویس‌های سیستم گوگل ثبت کنید:

  1. به صفحه «آزمایش برنامه اندروید - خدمات سیستم گوگل» بروید.
  2. روی «آزمایشگر شوید» کلیک کنید.

شما اکنون یک آزمایش‌کننده بتا برای سرویس‌های سیستم گوگل هستید.

وابستگی Firebase PNV را اضافه کنید

در کدبیس پروژه اندروید شما، وابستگی‌های مربوط به کتابخانه‌های Firebase PNV و Firebase AI Logic از قبل در ... تعریف شده‌اند. /gradle/versions.toml فایل /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" }

در فایل 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. در کنسول فایربیس، به مسیر Security > Phone Verification بروید.
  2. برگه «آزمایش» را انتخاب کنید.
  3. کد کشور را برای شماره تلفن آزمایشی خود انتخاب کنید و روی «ایجاد توکن» کلیک کنید.
  4. رشته توکن تولید شده را کپی کنید.

جلسه تست را در کد خود فعال کنید

  1. به پروژه اندروید خود برگردید، فایل ChatViewModel.kt را باز کنید و تابع verifyPhoneNumber() را پیدا کنید.
  2. کلاینت FirebasePhoneNumberVerification را مقداردهی اولیه کنید و جلسه تست را فعال کنید، و توکنی را که از کنسول Firebase کپی کرده‌اید، در آن قرار دهید:
    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. پس از اجرای برنامه، باید صفحه‌ای شبیه به این را ببینید:
    اجرای برنامه Firebase PNV
  3. روی شروع تماس کلیک کنید و خودتان را معرفی کنید.
    اجرای برنامه Firebase PNV
  4. دستیار صوتی هوش مصنوعی باید از شما جزئیات رزرو را بخواهد. پس از ارائه جزئیات، از شما خواسته می‌شود که برای تأیید شماره تلفن خود به صفحه نمایش خود نگاه کنید:
    اجرای برنامه Firebase PNV
  5. پس از اتمام این کار، صفحه تکمیل تأیید را مشاهده خواهید کرد:
    اجرای برنامه Firebase PNV
  6. برای پایان دادن به تماس، روی «پایان جلسه» کلیک کنید.

۵. (اختیاری) ارتقا به حالت تولید

طرح قیمت‌گذاری فایربیس خود را ارتقا دهید

برای استفاده از Firebase PNV در حالت تولید ، پروژه Firebase شما باید در طرح قیمت‌گذاری pay-as-you-go (Blaze) باشد، به این معنی که به یک حساب Cloud Billing متصل باشد.

  • یک حساب Cloud Billing به یک روش پرداخت، مانند کارت اعتباری، نیاز دارد.
  • اگر در استفاده از فایربیس و گوگل کلود تازه‌کار هستید، بررسی کنید که آیا واجد شرایط دریافت اعتبار ۳۰۰ دلاری و یک حساب کاربری رایگان ابری هستید یا خیر.
  • اگر این codelab را به عنوان بخشی از یک رویداد انجام می‌دهید، از برگزارکننده خود بپرسید که آیا امکان استفاده از فضای ابری (Cloud credits) وجود دارد یا خیر.

برای ارتقاء پروژه خود به طرح Blaze، مراحل زیر را دنبال کنید:

  1. در کنسول Firebase، گزینه ارتقاء پلن خود را انتخاب کنید.
  2. طرح Blaze را انتخاب کنید. دستورالعمل‌های روی صفحه را دنبال کنید تا یک حساب Cloud Billing به پروژه شما متصل شود.
    اگر به عنوان بخشی از این ارتقا نیاز به ایجاد یک حساب Cloud Billing داشتید، ممکن است لازم باشد برای تکمیل ارتقا، به روند ارتقا در کنسول Firebase برگردید.

فعال کردن حالت تولید Firebase PNV

  1. اثر انگشت SHA-256 برنامه خود را اضافه کنید:
    1. در کنسول فایربیس، به صفحه تنظیمات > عمومی بروید.
    2. به پایین اسکرول کنید تا به کارت «برنامه‌های شما» برسید و برنامه اندروید خود را پیدا کنید.
    3. در فیلد اثر انگشت گواهی SHA ، اثر انگشت SHA-256 خود را اضافه کنید. برای جزئیات بیشتر در مورد نحوه دریافت اثر انگشت SHA-256 برنامه خود، به بخش «احراز هویت کلاینت» مراجعه کنید.
  2. بازگشت به امنیت > تأیید تلفن .
  3. روی راه‌اندازی تولید کلیک کنید. فهرستی از برنامه‌های موجود در پروژه خود را که برای تولید فعال خواهند شد، مشاهده خواهید کرد و می‌توانید برنامه‌های بیشتری اضافه کنید.
  4. برنامه خود را برای تأیید برند OAuth و بررسی سیاست حفظ حریم خصوصی ارسال کنید. Google Cloud تأیید می‌کند که شما به طور واضح و دقیق برنامه خود و سیاست حفظ حریم خصوصی آن را معرفی می‌کنید.
    برای شروع بررسی، روی «ادامه در Google Cloud» کلیک کنید. این فرآیند گاهی اوقات می‌تواند ۲۴ ساعت یا بیشتر طول بکشد.
  5. در حالی که منتظر تأیید برند هستید، شرایط خاص سرویس Firebase PNV را که در کنسول به آنها پیوند داده شده است، مرور کنید.
  6. پس از اینکه برنامه شما تأیید برند را پشت سر گذاشت، کادر تأیید شرایط خاص سرویس را علامت بزنید و سپس روی فعال کردن کلیک کنید.

Firebase PNV اکنون در حالت تولید فعال است.

حذف کد آزمایشی

در پروژه اندروید خود، خط fpnv.enableTestSession(...) را حذف کنید.

منطق هوش مصنوعی فایربیس را برای استفاده از هوش مصنوعی ورتکس (Vertex AI) منتقل کنید

اگر در حساب صورتحساب خود از اعتبار استفاده می‌کنید، نمی‌توانید از آنها با رابط برنامه‌نویسی نرم‌افزار Gemini Developer API استفاده کنید. اما می‌توانید از آنها با رابط برنامه‌نویسی نرم‌افزار Vertex AI Gemini API استفاده کنید.

  1. در کنسول فایربیس، به بخش سرویس‌های هوش مصنوعی > منطق هوش مصنوعی بروید.
  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 را در یک برنامه اندروید ادغام کردید!

آنچه ما پوشش داده‌ایم

  • راه‌اندازی یک پروژه برای Firebase PNV.
  • استفاده از حالت تست برای نمونه‌سازی اولیه
  • پیاده‌سازی API تک فراخوانی Firebase PNV.
  • ارتقا به حالت تولید.

مراحل بعدی