توضّح هذه الصفحة كيفية بدء استخدام Firebase Phone Number Verification في تطبيق Android. راجِع نظرة عامة للحصول على وصف عام لهذه الميزة.
من خلال اتّباع الخطوات الواردة في هذه الصفحة، يمكنك البدء بسرعة في تنفيذ مسارات المستخدمين الخاصة بـ Firebase PNV. لأغراض الاختبار، عليك إنشاء رمز مميّز مخصّص للاختبار فقط، ويؤدي إلى رقم هاتف وهمي. باستخدام رمز الاختبار هذا، يمكنك البدء في إضافة Firebase PNV إلى تطبيقك بدون الحاجة إلى حساب فوترة أو جهاز مزوّد بشريحة SIM حقيقية.
بعد أن تصبح راضيًا عن Firebase PNV تجربة المستخدم في تطبيقك، يمكنك اتّباع بعض الخطوات الإضافية لتجهيز تطبيقك للإصدار.
قبل البدء
أضِف Firebase إلى مشروع Android إذا لم يسبق لك إجراء ذلك.
لاستخدام وضع الاختبار، يجب تسجيل الجهاز الذي يشغّل تطبيقك في برنامج الإصدار التجريبي المتاح للجميع من خدمات نظام التشغيل Google. يُرجى الانتقال إلى الصفحة المرتبطة للتعرّف على كيفية التسجيل.
1. إضافة مكتبة 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: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.
(بديل) أضِف تبعيات مكتبة 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") }
2. تهيئة مكتبة Firebase PNV في وضع الاختبار
في علامة التبويب الاختبار ضمن قسم Firebase إثبات ملكية الهاتف في وحدة التحكّم، انقر على الزر إنشاء رمز مميّز.
في تطبيقك، ابدأ إعداد عميل 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، وإلا سيتم عرض خطأ.
تبلغ مدة البقاء على قيد الحياة للرموز المميزة الاختبارية 7 أيام، وبعد هذه المدة، عليك إنشاء رمز مميز جديد لتفعيل جلسات الاختبار. تعمل الرموز المميزة الاختبارية على الأجهزة الفعلية والمحاكيات، ما يجعلها مثالية لإنشاء نماذج أولية لتجربة المستخدم في تطبيقك أو الاختبار في عملية الدمج المتواصل/التسليم المتواصل.
3- يُفضّل: التحقّق من توفّر Firebase PNV
لمساعدتك في تحديد الوقت المناسب لعرض واجهة مستخدم إدخال الرقم أو واجهة مستخدم الشرح، ننصحك بالتحقّق عند تشغيل التطبيق مما إذا كان الجهاز وشريحة SIM متوافقَين مع Firebase PNV. هذا هو الفحص الأوّلي الذي لا يتطلّب موافقة المستخدم. يمكنك استخدام نتيجة هذا الاختبار لتحديد ما إذا كنت تريد بدء تدفّق Firebase PNV أو استخدام طريقة بديلة لإثبات رقم الهاتف، مثل الرسائل القصيرة.
للتحقّق من توافق الجهاز، استخدِم طريقة getVerificationSupportInfo(). أثناء نشاط جلسة اختبار، ستعرض هذه الطريقة قائمة بكل رموز الاختبار النشطة في مشروعك. بعد إعداد تطبيقك للإنتاج، ستعرض هذه الطريقة نتيجة لكل شريحة SIM في الجهاز.
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.
}
4. بدء مسار عملية التحقّق
لبدء مسار 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 للحصول على موافقة المستخدم على مشاركة رقم هاتفه
- إرسال الطلب إلى الخلفية Firebase PNV
- إرجاع رمز مميّز يحتوي على رقم الهاتف الذي تم تأكيده للجهاز (في تطبيق متاح للإنتاج، يحدث ذلك عند إصدار الفواتير)
الخطوات التالية
توضّح هذه الصفحة كيفية الدمج مع Firebase PNV باستخدام واجهة برمجة التطبيقات الموحّدة ذات الطلب الفردي. يؤدي استدعاء طريقة واحدة إلى التعامل مع تدفّق المستخدم بالكامل في Firebase PNV، بدءًا من الحصول على موافقة المستخدم إلى إجراء طلبات الشبكة اللازمة إلى الخلفية في Firebase PNV. باستخدام هذه الطريقة، يمكنك تقليل خطوات الدمج إلى طلب إجراء واحد.
ننصح معظم المطوّرين باستخدام واجهة برمجة التطبيقات هذه، ولكن إذا كانت لديك متطلبات معيّنة لا تستوفيها المكتبة، يمكنك الاطّلاع على صفحة تخصيص مسار Firebase Phone Number Verification للحصول على معلومات حول تنفيذ مسار مخصّص.
إذا كنت تستخدم رقم الهاتف الذي تم تأكيده خارج تطبيق العميل، عليك تمرير الرمز المميز بدلاً من رقم الهاتف نفسه حتى تتمكّن من التحقّق من سلامته عند استخدامه. اطّلِع على إثبات صحة رموز Firebase PNV المميزة.
بعد تنفيذ مسار Firebase PNV في تطبيقك واختباره ودمجه مع الخلفية، يمكنك طرح تطبيقك في مرحلة الإنتاج لبدء الحصول على أرقام هواتف حقيقية تم إثبات صحتها. اطّلِع على الترقية إلى وضع الإنتاج.