בדף הזה מוסבר איך להתחיל להשתמש ב-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:35.0.1")) // 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") }
2. מאתחלים את הספרייה Firebase PNV במצב בדיקה
במסוף Firebase, נכנסים לכרטיסייה Security > אימות טלפוני > Testing.
לוחצים על יצירת טוקן.
באפליקציה, מפעילים את הלקוח של Firebase PNV כדי להשתמש בסשן בדיקה:
Kotlin
מייבאים את הספרייה:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationיוצרים מופע חדש של המחלקה
FirebasePhoneNumberVerificationומשתמשים בו לכל הקריאות ל-Firebase PNV.val fpnv = FirebasePhoneNumberVerification.getInstance()מפעילים סשן בדיקה באמצעות הטוקן שיצרתם בשלב הקודם:
fpnv.enableTestSession("COPIED_TOKEN_STRING")צריך להפעיל את ה-method הזו רק פעם אחת במופע של
FirebasePhoneNumberVerification. הפעלות נוספות יגרמו לשגיאה.
אורך החיים (TTL) של טוקנים לבדיקה הוא 7 ימים. אחרי התקופה הזו, תצטרכו ליצור טוקן חדש כדי להפעיל סשנים לבדיקה. אסימוני בדיקה פועלים במכשירים פיזיים ובאמולטורים, ולכן הם אידיאליים ליצירת אב טיפוס של חוויית המשתמש באפליקציה או לבדיקה ב-CI/CD.
3. מומלץ: לבדוק אם יש תמיכה ב-Firebase PNV
כדי לעזור לכם לקבוע מתי להציג את ממשק המשתמש להזנת מספר או את ממשק המשתמש להסבר, מומלץ לבדוק אם המכשיר וכרטיס ה-SIM שלו תומכים ב-Firebase PNV בזמן הפעלת האפליקציה. זו בדיקה מקדימה שלא דורשת הסכמה מהמשתמש. אתם יכולים להשתמש בתוצאה של הבדיקה הזו כדי להחליט אם להפעיל את התהליך של Firebase PNV או להשתמש בשיטה חלופית לאימות מספר הטלפון, כמו SMS.
כדי לבדוק אם המכשיר תואם, מפעילים את ה-method 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, צריך להפעיל את ה-method 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() מבצעת את כל תהליך האימות של מספר הטלפון, כולל:
- שימוש ב-Android Credential Manager כדי לקבל את הסכמת המשתמשים לשיתוף מספר הטלפון שלהם.
- שליחת הבקשה לקצה העורפי של Firebase PNV.
- החזרת אסימון שמכיל את מספר הטלפון המאומת של המכשיר (באפליקציה בסביבת ייצור, זה השלב שבו מתבצע החיוב).
השלבים הבאים
בדף הזה מוסבר איך לשלב את Firebase PNV באמצעות ה-API המאוחד לקריאה אחת. קריאה ל-method יחיד מטפלת בכל מסלול המשתמש ב-Firebase PNV, החל מקבלת הסכמה מהמשתמש ועד לביצוע הקריאות הנדרשות לרשת אל ה-backend של Firebase PNV. השיטה הזו מצמצמת את שלבי השילוב להפעלת method אחת.
ה-API הזה מומלץ לרוב המפתחים. עם זאת, אם יש לכם דרישות ספציפיות שהספרייה לא עונה עליהן, אתם יכולים לעיין בדף התאמה אישית של תהליך Firebase Phone Number Verification כדי לקבל מידע על הטמעה של תהליך מותאם אישית.
אם אתם משתמשים במספר הטלפון המאומת מחוץ ללקוח האפליקציה, כדאי להעביר את האסימון במקום את מספר הטלפון עצמו, כדי שתוכלו לאמת את התקינות שלו כשתשתמשו בו. אימות אסימוני Firebase PNV
אחרי שהטמעתם ובדקתם את תהליך ה-Firebase PNV של האפליקציה ואת השילוב עם ה-backend, אתם יכולים להעביר את האפליקציה לסביבת הייצור כדי להתחיל לקבל מספרי טלפון מאומתים אמיתיים. שדרוג למצב ייצור