1. סקירה כללית
אימות מספר טלפון ב-Firebase (Firebase PNV או FPNV) הוא שיטה מהירה ומאובטחת יותר לאימות מספרי טלפון. בניגוד לאימות שמבוסס על SMS, שבו משתמשי הקצה צריכים לקבל קוד מהודעת טקסט ולהזין אותו, אימות מספר הטלפון ב-Firebase פועל באמצעות קבלת מספר הטלפון שהוקצה לכרטיס ה-SIM במכשיר ישירות מהספק המחובר, בלחיצה אחת. כך חוויית המשתמש משתפרת, האמינות עולה כי לא תלויים במסירת הודעות SMS, ומוסרים וקטורים של ניצול לרעה שנעשה בהם שימוש נפוץ כשמשתמשים ב-SMS.

ב-codelab הזה תלמדו איך ליצור סוכן קולי מבוסס-AI לחיפוש מסעדות, שמשתמש באימות מספר הטלפון ב-Firebase כדי לאמת את מספר הטלפון של משתמש הקצה לפני אישור הזמנת שולחן.
דרישות מוקדמות
- הגרסה העדכנית של Android Studio
- מכשיר Android או אמולטור עם API ברמה 26 ומעלה
מה תלמדו
- הגדרת פרויקט Firebase עם Firebase PNV.
- אפשר להשתמש ב-PNV של Firebase במצב בדיקה כדי ליצור אב טיפוס בלי חשבון לחיוב או כרטיס SIM אמיתי.
- משלבים את Firebase PNV SDK באפליקציה ל-Android.
- אימות מספר טלפון באמצעות API של שיחה יחידה.
- (אופציונלי) הכנת האפליקציה לסביבת הייצור.
2. הגדרת פרויקט לדוגמה
יצירת פרויקט Firebase
- נכנסים למסוף Firebase באמצעות חשבון Google.
- לוחצים על הלחצן כדי ליצור פרויקט חדש, ואז מזינים שם לפרויקט (לדוגמה,
Tera Bites).
- לוחצים על המשך.
- אם מוצגת בקשה לעשות זאת, קוראים ומאשרים את התנאים של Firebase, ואז לוחצים על המשך.
- (אופציונלי) מפעילים את העזרה מבוססת-AI במסוף Firebase (שנקראת Gemini ב-Firebase).
- ב-codelab הזה לא צריך להשתמש ב-Google Analytics, ולכן משביתים את האפשרות Google Analytics.
- לוחצים על יצירת פרויקט, מחכים שהפרויקט יוקצה ולוחצים על המשך.
הורדת הקוד
מריצים את הפקודות הבאות כדי לשכפל את קוד לדוגמה של ה-codelab הזה:
git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android
פותחים את הספרייה firebase-pnv-android ב-Android Studio.
קישור פרויקט Android ל-Firebase
- במסוף Firebase, במרכז דף סקירה כללית של הפרויקט, לוחצים על הסמל Android או על Add app (הוספת אפליקציה) כדי להפעיל את תהליך יצירת האפליקציה.
- בשדה שם החבילה ב-Android, מזינים את שם החבילה של האפליקציה:
com.google.firebase.example.fpnv. - לוחצים על Register app (רישום האפליקציה).
- פועלים לפי ההוראות להורדת הקובץ
google-services.jsonומעבירים אותו לספרייהapp/של הקוד שהורדתם. - לוחצים על הבא.
הפעלת Firebase AI Logic
ב-Codelab הזה נעזר ב-Firebase AI Logic כדי להפעיל את הסוכן הקולי מבוסס-AI. כדי להפעיל את Firebase AI Logic בפרויקט Firebase:
- במסוף Firebase, עוברים אל AI Services (שירותי AI) > AI Logic (לוגיקת AI).
- לוחצים על שנתחיל?.
- כדי להשתמש ב-Gemini Developer API, לוחצים על Get started with this API (תחילת העבודה עם ה-API הזה).
- לוחצים על Enable API ומאשרים.
3. הגדרה של Firebase PNV במצב בדיקה
מצב בדיקה מאפשר לכם לאמת מספר טלפון 'מזויף' באמצעות אסימון בדיקה לפיתוח.
הצטרפות לתוכנית הבטא לציבור הרחב של שירותי המערכת של Google
כדי להשתמש במצב בדיקה, צריך לרשום את מכשיר הפיתוח לערוץ הבטא של שירותי המערכת של Google:
- עוברים לדף בדיקת אפליקציות ל-Android – שירותי מערכת של Google.
- לוחצים על הצטרפות לצוות הבודקים.
הצטרפתם לתוכנית הבטא של שירותי המערכת של Google.
הוספת התלות של Firebase PNV
בבסיס הקוד של פרויקט Android, יחסי התלות של ספריות Firebase PNV ו-Firebase AI Logic כבר מוגדרים בקובץ :
[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 של המודול (ברמת האפליקציה) (בדרך כלל ), מצהירים על התלות בספריית Firebase PNV:
dependencies {
// ... other dependencies
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.ai.logic)
// Add this line
implementation(libs.firebase.pnv)
// ...
}
יצירת טוקן לבדיקה
- במסוף Firebase, עוברים אל Security (אבטחה) > Phone Verification (אימות טלפוני).
- לוחצים על הכרטיסייה בדיקה.
- בוחרים את קוד המדינה של מספר הטלפון לבדיקה ולוחצים על יצירת טוקן.
- מעתיקים את מחרוזת הטוקן שנוצרה.
הפעלת סשן הבדיקה בקוד
- חוזרים לפרויקט Android, פותחים את הקובץ
ChatViewModel.ktומחפשים את הפונקציהverifyPhoneNumber(). - מפעילים את הלקוח
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 }
4. הפעלת האפליקציה
אחרי שמטמיעים את Firebase PNV, הגיע הזמן להפעיל את האפליקציה.
- ב-Android Studio, לוחצים על Run (הפעלה) כדי להפעיל את האפליקציה באמולטור של Android או במכשיר פיזי.
- אחרי שהאפליקציה תופעל, אמור להופיע מסך שנראה כך:

- לוחצים על התחלת שיחה ומציגים את עצמכם.

- הסוכן הקולי מבוסס-ה-AI יבקש מכם פרטים לגבי ההזמנה. אחרי שתזינו את הפרטים, תופיע בקשה להסתכל על המסך כדי לאמת את מספר הטלפון:

- אחרי שתסיימו, יוצג מסך עם אישור שהאימות הושלם:

- כדי לסיים את השיחה, לוחצים על סיום הסשן.
5. (אופציונלי) שדרוג למצב ייצור
שדרוג תוכנית התשלומים של Firebase
כדי להשתמש ב-PNV ב-Firebase במצב הפקה, הפרויקט ב-Firebase צריך להיות בתוכנית התמחור 'תשלום לפי שימוש' (Blaze), כלומר הוא צריך להיות מקושר לחשבון לחיוב ב-Cloud.
- בחשבון לחיוב ב-Cloud צריך להגדיר אמצעי תשלום, כמו כרטיס אשראי.
- אם אתם חדשים ב-Firebase וב-Google Cloud, כדאי לבדוק אם אתם עומדים בדרישות לקבלת קרדיט בשווי 300$ותקופת ניסיון בחינם בחשבון לחיוב ב-Cloud.
- אם אתם משתתפים ב-Codelab כחלק מאירוע, כדאי לשאול את מארגן האירוע אם יש קרדיטים ל-Cloud.
כדי לשדרג את הפרויקט לתוכנית Blaze, פועלים לפי השלבים הבאים:
- במסוף Firebase, בוחרים באפשרות שדרוג התוכנית.
- בוחרים בתוכנית Blaze. פועלים לפי ההוראות במסך כדי לקשר חשבון לחיוב ב-Cloud לפרויקט.
אם הייתם צריכים ליצור חשבון לחיוב ב-Cloud כחלק מהשדרוג, יכול להיות שתצטרכו לחזור לתהליך השדרוג במסוף Firebase כדי להשלים את השדרוג.
הפעלת מצב הייצור של Firebase PNV
- מוסיפים את טביעת האצבע מסוג SHA-256 של האפליקציה:
- במסוף Firebase, עוברים אל Settings (הגדרות) > General (כללי).
- גוללים למטה לכרטיס האפליקציות שלך ומוצאים את אפליקציית Android.
- בשדה SHA certificate fingerprints (טביעות אצבע לאישור SHA), מוסיפים את טביעת האצבע מסוג SHA-256. פרטים על האופן שבו מקבלים את טביעת האצבע מסוג SHA-256 של האפליקציה זמינים במאמר בנושא אימות הלקוח.
- חוזרים אל אבטחה > אימות הטלפון.
- לוחצים על הגדרת הפקה. תוצג רשימה של האפליקציות בפרויקט שיופעלו בסביבת הייצור, ותהיה לכם אפשרות להוסיף אפליקציות נוספות.
- שולחים את האפליקציה לאימות מותג OAuth ולבדיקת עמידה במדיניות הפרטיות. Google Cloud תאמת שזיהיתם את האפליקציה ואת מדיניות הפרטיות שלה בצורה ברורה ומדויקת.
כדי להתחיל בבדיקה, לוחצים על המשך ב-Google Cloud. לפעמים התהליך הזה נמשך 24 שעות או יותר. - בזמן שאתם מחכים לאימות המותג, כדאי לעיין בתנאים הספציפיים של שירות PNV ב-Firebase, שאליהם יש קישור במסוף.
- אחרי שהאפליקציה עוברת את אימות המותג, מסמנים את התיבה כדי לאשר את התנאים הספציפיים לשירות ולוחצים על הפעלה.
התכונה 'אימות מספר טלפון' ב-Firebase פעילה עכשיו במצב ייצור.
הסרת קוד בדיקה
בפרויקט Android, מוחקים את השורה fpnv.enableTestSession(...).
העברת Firebase AI Logic לשימוש ב-Vertex AI
אם אתם משתמשים בקרדיטים בחשבון לחיוב, לא תוכלו להשתמש בהם ב-Gemini Developer API. אבל אפשר להשתמש בהם עם Vertex AI Gemini API.
- במסוף Firebase, עוברים אל AI Services (שירותי AI) > AI Logic (לוגיקת AI).
- לחץ על הגדרות.
- בקטע Vertex AI Gemini API, לוחצים על Enable (הפעלה).
- בפרויקט Android, משנים את ההגדרה של Firebase AI Logic כך שישתמש ב-Vertex AI backend במקום ב-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 PNV.
- שימוש במצב בדיקה ליצירת אב טיפוס.
- הטמעה של Firebase PNV single-call API.
- שדרוג למצב ייצור.