1. نظرة عامة
ميزة "التحقّق من رقم الهاتف في Firebase" (Firebase PNV أو FPNV) هي طريقة أسرع وأكثر أمانًا للتحقّق من أرقام الهواتف. على عكس عملية التحقّق المستندة إلى الرسائل القصيرة، والتي تتطلّب من المستخدمين النهائيين تلقّي رمز وإدخاله من رسالة نصية، تعمل ميزة "التحقّق من رقم الهاتف في Firebase" من خلال الحصول على رقم الهاتف المخصّص لشريحة SIM في الجهاز مباشرةً من مشغّل شبكة الجوّال المتصل بنقرة واحدة. يقلّل ذلك من العقبات التي تواجه المستخدم النهائي، ويحسّن الموثوقية من خلال عدم الاعتماد على تسليم الرسائل القصيرة، ويزيل أساليب إساءة الاستخدام التي يتم استغلالها عادةً عند استخدام الرسائل القصيرة.

في هذا الدرس التطبيقي حول الترميز، ستتعرّف على كيفية إنشاء وكيل صوتي مستنِد إلى الذكاء الاصطناعي باسم "أداة البحث عن المطاعم" تستخدم ميزة "التحقّق من رقم الهاتف في Firebase" للتحقّق من رقم هاتف المستخدم النهائي قبل تأكيد حجز طاولة.
المتطلبات الأساسية
- أحدث إصدار من "استوديو Android"
- جهاز Android أو محاكي بمستوى واجهة برمجة التطبيقات 26 أو أعلى
أهداف الدورة التعليمية
- إعداد مشروع على Firebase باستخدام ميزة "التحقّق من رقم الهاتف في Firebase"
- استخدام ميزة "التحقّق من رقم الهاتف في Firebase" في وضع الاختبار لإنشاء نموذج أولي بدون حساب فوترة أو شريحة SIM حقيقية
- دمج حزمة تطوير البرامج (SDK) الخاصة بميزة "التحقّق من رقم الهاتف في Firebase" في تطبيق Android
- التحقّق من رقم هاتف باستخدام واجهة برمجة التطبيقات ذات الاتصال الواحد
- (اختياري) إعداد تطبيقك للإصدار العلني
2. إعداد نموذج المشروع
إنشاء مشروع على Firebase
- سجِّل الدخول إلى وحدة تحكُّم Firebase باستخدام حسابك على Google.
- انقر على الزر لإنشاء مشروع جديد، ثم أدخِل اسم مشروع (على سبيل المثال،
Tera Bites).
- انقر على متابعة.
- إذا طُلب منك ذلك، راجِع بنود Firebase واقبلها، ثم انقر على متابعة.
- (اختياري) فعِّل المساعدة المستندة إلى الذكاء الاصطناعي في "وحدة تحكُّم Firebase" (المعروفة باسم "Gemini في Firebase").
- بالنسبة إلى هذا الدرس التطبيقي حول الترميز، لا تحتاج إلى "إحصاءات Google"، لذا أوقِف خيار "إحصاءات Google".
- انقر على إنشاء مشروع، وانتظِر إلى أن يتم توفير مشروعك، ثم انقر على متابعة.
تنزيل الرمز
نفِّذ الأوامر التالية لاستنساخ نموذج الرمز البرمجي لهذا الدرس التطبيقي حول الترميز:
git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android
افتح الدليل firebase-pnv-android في "استوديو Android".
ربط مشروع Android بمنصّة Firebase
- في "وحدة تحكُّم Firebase"، في منتصف صفحة نظرة عامة على المشروع، انقر على رمز Android أو إضافة تطبيق لبدء عملية إنشاء التطبيق.
- في حقل اسم حزمة Android ، أدخِل اسم حزمة التطبيق:
com.google.firebase.example.fpnv. - انقر على تسجيل التطبيق.
- اتّبِع التعليمات لتنزيل ملف
google-services.jsonونقله إلى الدليلapp/للرمز الذي نزّلته للتو. - انقر على التالي.
تفعيل Firebase AI Logic
يستخدم هذا الدرس التطبيقي حول الترميز Firebase AI Logic لتشغيل الوكيل الصوتي المستنِد إلى الذكاء الاصطناعي. لتفعيل Firebase AI Logic في مشروعك على Firebase:
- في "وحدة تحكُّم Firebase"، انتقِل إلى خدمات الذكاء الاصطناعي > Firebase AI Logic.
- انقر على البدء.
- اختَر استخدام Gemini Developer API من خلال النقر على البدء باستخدام واجهة برمجة التطبيقات هذه.
- واصِل تنفيذ الخطوات المتبقّية من عملية الإعداد الموجّهة.
3. إعداد ميزة "التحقّق من رقم الهاتف في Firebase" في وضع الاختبار
يتيح لك وضع الاختبار التحقّق من رقم هاتف "وهمي" باستخدام رمز اختبار مميّز لأغراض التطوير.
الانضمام إلى الإصدار التجريبي المتاح للجميع من خدمات النظام من Google
سجِّل جهازك المخصّص للتطوير في قناة الإصدار التجريبي من خدمات النظام من Google لاستخدام وضع الاختبار:
- انتقِل إلى صفحة اختبار تطبيقات Android - خدمات النظام من Google.
- انقر على الانضمام إلى برنامج الاستخدام التجريبي.
أصبحت الآن مستخدِمًا تجريبيًا لخدمات النظام من Google.
إضافة تبعية ميزة "التحقّق من رقم الهاتف في Firebase"
في قاعدة رموز مشروع Android، تم تحديد تبعيات مكتبتَي "التحقّق من رقم الهاتف في Firebase" وFirebase AI Logic في الملف :
[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 الخاص بالوحدة (على مستوى التطبيق) (عادةً )، حدِّد تبعية مكتبة "التحقّق من رقم الهاتف في Firebase":
dependencies {
// ... other dependencies
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.ai.logic)
// Add this line
implementation(libs.firebase.pnv)
// ...
}
إنشاء رمز اختبار مميّز
- في "وحدة تحكُّم Firebase"، انتقِل إلى الأمان > التحقّق من رقم الهاتف.
- انقر على علامة التبويب الاختبار.
- اختَر رمز البلد لرقم هاتف الاختبار وانقر على إنشاء رمز مميّز.
- انسخ سلسلة الرمز المميّز التي تم إنشاؤها.
تفعيل جلسة الاختبار في الرمز
- ارجِع إلى مشروع Android، وافتح الملف
ChatViewModel.kt، وابحث عن الدالةverifyPhoneNumber(). - ابدأ عميل
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 }
4. تشغيل التطبيق
بعد تنفيذ ميزة "التحقّق من رقم الهاتف في Firebase"، حان وقت تشغيل التطبيق.
- في "استوديو Android"، انقر على تشغيل لبدء التطبيق في محاكي Android أو على جهاز فعلي.
- بعد بدء التطبيق، من المفترض أن تظهر شاشة مشابهة لما يلي:

- انقر على بدء المكالمة، وقدِّم نفسك.

- من المفترض أن يطلب منك الوكيل الصوتي المستنِد إلى الذكاء الاصطناعي تفاصيل الحجز. بعد تقديم التفاصيل، من المفترض أن يطلب منك النظر إلى شاشتك للتحقّق من رقم هاتفك:

- بعد الانتهاء من ذلك، ستظهر شاشة اكتمال عملية التحقّق:

- انقر على إنهاء الجلسة لإنهاء المكالمة.
5. (اختياري) الترقية إلى وضع الإصدار العلني
ترقية خطة أسعار Firebase
لاستخدام ميزة "التحقّق من رقم الهاتف في Firebase" في وضع الإصدار العلني، يجب أن يكون مشروعك على Firebase ضمن خطة الأسعار "الدفع حسب الاستخدام" (Blaze)، ما يعني أنّه مرتبط بـ حساب "فوترة على Cloud".
- يتطلّب حساب "فوترة على Cloud" طريقة دفع، مثل بطاقة الائتمان.
- أثناء العروض الترويجية الخاصة أو إذا كنت تجري هذا الدرس التطبيقي حول الترميز كجزء من فعالية، قد تتوفّر أرصدة Google Cloud.
- إذا كنت جديدًا على Firebase وGoogle Cloud، تحقَّق مما إذا كنت مؤهلاً للحصول على رصيد بقيمة 300 دولار أمريكي وحساب "فوترة على Cloud" لفترة تجريبية مجانية.
لترقية مشروعك إلى خطة Blaze، اتّبِع الخطوات التالية:
- في "وحدة تحكُّم Firebase"، اختَر ترقية خطتك.
- اختَر خطة Blaze. اتّبِع التعليمات التي تظهر على الشاشة لربط حساب "فوترة على Cloud" بمشروعك.
- إذا كنت تستخدم أرصدة Google Cloud لهذا الدرس التطبيقي حول الترميز، من المحتمل أن يُطلق على حساب الفوترة
Google Cloud Platform Trial Billing AccountأوMy Billing Account. - إذا احتجت إلى إنشاء حساب "فوترة على Cloud" كجزء من هذه الترقية، قد تحتاج إلى الرجوع إلى عملية الترقية في "وحدة تحكُّم Firebase" لإكمال الترقية.
- إذا كنت تستخدم أرصدة Google Cloud لهذا الدرس التطبيقي حول الترميز، من المحتمل أن يُطلق على حساب الفوترة
تفعيل وضع الإصدار العلني لميزة "التحقّق من رقم الهاتف في Firebase"
- أضِف الملف المرجعي لمعيار SHA-256 لتطبيقك:
- في "وحدة تحكُّم Firebase"، انتقِل إلى الإعدادات > صفحة عام.
- انتقِل إلى بطاقة تطبيقاتك ، وابحث عن تطبيق Android.
- في حقل الملفات المرجعية لشهادات SHA ، أضِف الملف المرجعي لمعيار SHA-256. راجِع مقالة مصادقة العميل للحصول على تفاصيل حول كيفية الحصول على الملف المرجعي لمعيار SHA-256 لتطبيقك.
- ارجِع إلى الأمان > التحقّق من رقم الهاتف.
- انقر على إعداد الإصدار العلني. ستظهر قائمة بالتطبيقات في مشروعك التي سيتم تفعيلها للإصدار العلني، وستتاح لك فرصة إضافة تطبيقات إضافية.
- أرسِل تطبيقك للتحقّق من العلامة التجارية لبروتوكول OAuth ومراجعة سياسة الخصوصية. ستتحقّق Google Cloud من أنّك تحدّد تطبيقك وسياسة الخصوصية بوضوح ودقة.
لبدء المراجعة، انقر على المتابعة في Google Cloud. قد تستغرِق هذه العملية أحيانًا 24 ساعة أو أكثر. - أثناء انتظار التحقّق من العلامة التجارية، راجِع بنود الخدمة الخاصة بميزة "التحقّق من رقم الهاتف في Firebase"، والتي يتم ربطها في "وحدة التحكّم".
- بعد اجتياز تطبيقك عملية التحقّق من العلامة التجارية، ضَع علامة في المربّع للإقرار ببنود الخدمة الخاصة، ثم انقر على تفعيل.
أصبحت ميزة "التحقّق من رقم الهاتف في Firebase" نشطة الآن في وضع الإصدار العلني.
إزالة رمز الاختبار
في مشروع Android، احذف السطر fpnv.enableTestSession(...).
نقل Firebase AI Logic لاستخدام Vertex AI
إذا كنت تستخدم أرصدة في حساب الفوترة، لن تتمكّن من استخدامها مع Gemini Developer API. ولكن يمكنك استخدامها مع Vertex AI Gemini API.
- في "وحدة تحكُّم Firebase"، انتقِل إلى خدمات الذكاء الاصطناعي > Firebase AI Logic.
- انقر على الإعدادات.
- ضمن Vertex AI Gemini API، انقر على تفعيل.
- في مشروع Android، غيِّر عملية بدء Firebase AI Logic لاستخدام واجهة Vertex AI الخلفية بدلاً من Google AI:
val model = Firebase.ai( backend = GenerativeBackend.vertexAI(location = "us-central1") ).liveModel( modelName = "gemini-live-2.5-flash-native-audio", // ... other configuration )
6. تهانينا!
لقد نجحت في دمج ميزة "التحقّق من رقم الهاتف في Firebase" في تطبيق Android.
المواضيع التي تحدثنا عنها
- إعداد مشروع لميزة "التحقّق من رقم الهاتف في Firebase"
- استخدام وضع الاختبار لإنشاء نموذج أولي
- تنفيذ واجهة برمجة التطبيقات ذات الاتصال الواحد لميزة "التحقّق من رقم الهاتف في Firebase"
- الترقية إلى وضع الإصدار العلني
الخطوات التالية
- تعرَّف على كيفية تخصيص عملية "التحقّق من رقم الهاتف في Firebase".
- تعرَّف على كيفية التحقّق من رموز "التحقّق من رقم الهاتف في Firebase".
- اطّلِع على الأسعار والحصص.