अपने Android ऐप्लिकेशन में, Firebase की फ़ोन नंबर से पुष्टि करने की सुविधा जोड़ना

1. खास जानकारी

Firebase फ़ोन नंबर की पुष्टि करने की सुविधा (Firebase PNV या FPNV), फ़ोन नंबरों की पुष्टि करने का एक तेज़ और ज़्यादा सुरक्षित तरीका है. एसएमएस के ज़रिए पुष्टि करने की सुविधा में, उपयोगकर्ताओं को टेक्स्ट मैसेज से कोड पाना और उसे डालना पड़ता है. वहीं, Firebase PNV में, डिवाइस में मौजूद सिम कार्ड से जुड़ा फ़ोन नंबर, कनेक्ट किए गए ऑपरेटर से सीधे हासिल किया जाता है. इसके लिए, सिर्फ़ एक बार टैप करना होता है. इससे, उपयोगकर्ताओं को कम परेशानी होती है. साथ ही, एसएमएस मैसेज की डिलीवरी पर निर्भर न रहने की वजह से, यह ज़्यादा भरोसेमंद है. इसके अलावा, एसएमएस का इस्तेमाल करते समय होने वाली समस्याओं से भी बचा जा सकता है.

Firebase PNV पॉप-अप डायलॉग

इस कोडलैब में, "रेस्टोरेंट फ़ाइंडर" नाम का एआई वॉइस एजेंट बनाने का तरीका बताया गया है. यह एजेंट, टेबल रिज़र्वेशन की पुष्टि करने से पहले, Firebase फ़ोन नंबर की पुष्टि करने की सुविधा का इस्तेमाल करके, उपयोगकर्ता के फ़ोन नंबर की पुष्टि करता है.

ज़रूरी शर्तें

  • Android Studio का नया वर्शन
  • Android डिवाइस या एम्युलेटर, जिसमें एपीआई लेवल 26 या उससे ज़्यादा हो

आपको क्या-क्या सीखने को मिलेगा

  • Firebase PNV के साथ Firebase प्रोजेक्ट सेट अप करना.
  • बिलिंग खाता या असली सिम कार्ड के बिना प्रोटोटाइप बनाने के लिए, टेस्ट मोड में Firebase PNV का इस्तेमाल करना.
  • किसी Android ऐप्लिकेशन में, Firebase PNV SDK टूल को इंटिग्रेट करना.
  • सिंगल-कॉल एपीआई का इस्तेमाल करके, किसी फ़ोन नंबर की पुष्टि करना.
  • (ज़रूरी नहीं) अपने ऐप्लिकेशन को प्रोडक्शन के लिए तैयार करना.

2. सैंपल प्रोजेक्ट सेट अप करना

Firebase प्रोजेक्ट बनाना

  1. अपने Google खाते का इस्तेमाल करके, Firebase कंसोल में साइन इन करें.
  2. नया प्रोजेक्ट बनाने के लिए बटन पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम डालें. जैसे, Tera Bites.
  3. जारी रखें पर क्लिक करें.
  4. अगर आपसे Firebase की शर्तों की समीक्षा करने और उन्हें स्वीकार करने के लिए कहा जाता है, तो ऐसा करें. इसके बाद, जारी रखें पर क्लिक करें.
  5. (ज़रूरी नहीं) Firebase कंसोल में, एआई की मदद से काम करने वाले असिस्टेंट की सुविधा चालू करें. इसे "Firebase में Gemini" कहा जाता है.
  6. इस कोडलैब के लिए, आपको Google Analytics की ज़रूरत नहीं है. इसलिए, Google Analytics के विकल्प को बंद करें.
  7. प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, प्रोजेक्ट के लिए ज़रूरी संसाधन उपलब्ध होने का इंतज़ार करें. इसके बाद, जारी रखें पर क्लिक करें.

कोड डाउनलोड करना

इस कोडलैब के लिए, सैंपल कोड क्लोन करने के लिए, ये कमांड चलाएं:

git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android

Android Studio में, firebase-pnv-android डायरेक्ट्री खोलें.

अपने Android प्रोजेक्ट को Firebase से कनेक्ट करना

  1. Firebase कंसोल में, प्रोजेक्ट की खास जानकारी वाले पेज के बीच में, Android आइकॉन या ऐप्लिकेशन जोड़ें पर क्लिक करें. इससे, ऐप्लिकेशन बनाने का वर्कफ़्लो शुरू हो जाएगा.
  2. Android पैकेज का नाम फ़ील्ड में, ऐप्लिकेशन का पैकेज का नाम डालें: com.google.firebase.example.fpnv.
  3. ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
  4. google-services.json फ़ाइल डाउनलोड करने के लिए, निर्देशों का पालन करें. इसके बाद, इसे डाउनलोड किए गए कोड की app/ डायरेक्ट्री में ले जाएं.
  5. आगे बढ़ें पर क्लिक करें.

Firebase AI Logic की सुविधा चालू करना

इस कोडलैब में, एआई वॉइस एजेंट को चलाने के लिए, Firebase AI Logic का इस्तेमाल किया गया है. अपने Firebase प्रोजेक्ट में Firebase AI Logic की सुविधा चालू करने के लिए:

  1. Firebase कंसोल में, एआई सेवाएं > एआई लॉजिक पर जाएं.
  2. शुरू करें पर क्लिक करें.
  3. Gemini Developer API का इस्तेमाल करने के लिए, इस एपीआई का इस्तेमाल शुरू करें पर क्लिक करें.
  4. सेटअप के लिए दिए गए निर्देशों के बाकी चरणों को पूरा करें.

3. टेस्ट मोड में Firebase PNV सेट अप करना

टेस्ट मोड में, डेवलपमेंट के लिए टेस्ट टोकन का इस्तेमाल करके, "फ़ेक" फ़ोन नंबर की पुष्टि की जा सकती है.

Google सिस्टम सर्विस के सार्वजनिक बीटा प्रोग्राम में शामिल होना

टेस्ट मोड का इस्तेमाल करने के लिए, डेवलपमेंट डिवाइस को Google सिस्टम सर्विस के बीटा चैनल में शामिल करें:

  1. Android ऐप्लिकेशन की टेस्टिंग - Google सिस्टम सर्विस पेज पर जाएं.
  2. परीक्षण करने वाला बनें पर क्लिक करें.

अब आप Google सिस्टम सर्विस के बीटा परीक्षक हैं.

Firebase PNV की डिपेंडेंसी जोड़ना

आपके Android प्रोजेक्ट के कोडबेस में, Firebase PNV और Firebase AI Logic की लाइब्रेरी के लिए डिपेंडेंसी, /gradle/versions.toml फ़ाइल में पहले से तय की गई हैं:

[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 फ़ाइल (आम तौर पर /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. Firebase कंसोल में, सुरक्षा > फ़ोन नंबर की पुष्टि पर जाएं.
  2. टेस्टिंग टैब चुनें.
  3. टेस्टिंग के लिए इस्तेमाल किए जाने वाले फ़ोन नंबर के लिए, देश का कोड चुनें. इसके बाद, टोकन जनरेट करें पर क्लिक करें.
  4. जनरेट किए गए टोकन स्ट्रिंग को कॉपी करें.

अपने कोड में टेस्ट सेशन की सुविधा चालू करना

  1. अपने Android प्रोजेक्ट पर वापस जाएं. इसके बाद, ChatViewModel.kt फ़ाइल खोलें और verifyPhoneNumber() फ़ंक्शन ढूंढें.
  2. 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 PNV को लागू कर दिया है. इसलिए, अब ऐप्लिकेशन चलाने का समय आ गया है.

  1. Android Studio में, चलाएं पर क्लिक करें. इससे, Android एम्युलेटर या किसी असली डिवाइस पर ऐप्लिकेशन लॉन्च हो जाएगा.
  2. ऐप्लिकेशन लॉन्च होने के बाद, आपको यह स्क्रीन दिखेगी:
    Firebase PNV ऐप्लिकेशन चल रहा है
  3. **कॉल शुरू करें** पर क्लिक करें और अपना परिचय दें.
    Firebase PNV ऐप्लिकेशन चल रहा है
  4. एआई वॉइस एजेंट, आपसे रिज़र्वेशन की जानकारी मांगेगा. जानकारी देने के बाद, वह आपसे फ़ोन नंबर की पुष्टि करने के लिए, स्क्रीन पर देखने के लिए कहेगा:
    Firebase PNV ऐप्लिकेशन चल रहा है
  5. इसके बाद, आपको पुष्टि पूरी होने की स्क्रीन दिखेगी:
    Firebase PNV ऐप्लिकेशन चल रहा है
  6. कॉल खत्म करने के लिए, सेशन खत्म करें पर क्लिक करें.

5. (ज़रूरी नहीं) प्रोडक्शन मोड पर अपग्रेड करना

Firebase के लिए तय की गई कीमतों वाले प्लान को अपग्रेड करना

प्रोडक्शन मोड में Firebase PNV का इस्तेमाल करने के लिए, आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले (Blaze) प्लान पर होना चाहिए. इसका मतलब है कि यह किसी Cloud Billing खाते से लिंक होना चाहिए.

  • Cloud Billing खाते के लिए, क्रेडिट कार्ड जैसे किसी पेमेंट मेथड की ज़रूरत होती है.
  • खास प्रमोशन के दौरान या किसी इवेंट के तहत इस कोडलैब को पूरा करने पर, Google Cloud के क्रेडिट उपलब्ध हो सकते हैं.
  • अगर आपने Firebase और Google Cloud का इस्तेमाल पहली बार किया है, तो देखें कि क्या आपके पास 300 डॉलर का क्रेडिट और मुफ़्त में आज़माने के लिए Cloud Billing खाता पाने की ज़रूरी शर्तें पूरी होती हैं.

अपने प्रोजेक्ट को Blaze प्लान पर अपग्रेड करने के लिए, यह तरीका अपनाएं:

  1. Firebase कंसोल में, अपना प्लान अपग्रेड करने का विकल्प चुनें.
  2. Blaze प्लान चुनें. अपने प्रोजेक्ट को Cloud Billing खाते से लिंक करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
    • अगर इस कोडलैब के लिए Google Cloud के क्रेडिट का इस्तेमाल किया जा रहा है, तो बिलिंग खाते को Google Cloud Platform Trial Billing Account या My Billing Account कहा जा सकता है.
    • अगर इस अपग्रेड के तहत, आपको Cloud Billing खाता बनाना पड़ा है, तो अपग्रेड पूरा करने के लिए, Firebase कंसोल में अपग्रेड के फ़्लो पर वापस जाना पड़ सकता है.

Firebase PNV के प्रोडक्शन मोड की सुविधा चालू करना

  1. अपने ऐप्लिकेशन का SHA-256 फ़िंगरप्रिंट जोड़ें:
    1. Firebase कंसोल में, सेटिंग > सामान्य पेज पर जाएं.
    2. नीचे की ओर स्क्रोल करके, आपके ऐप्लिकेशन कार्ड पर जाएं और अपना Android ऐप्लिकेशन ढूंढें.
    3. SHA सर्टिफ़िकेट फ़िंगरप्रिंट फ़ील्ड में, अपना SHA-256 फ़िंगरप्रिंट जोड़ें. अपने ऐप्लिकेशन का SHA-256 फ़िंगरप्रिंट पाने के तरीके के बारे में जानने के लिए, क्लाइंट की पुष्टि करना लेख पढ़ें.
  2. सुरक्षा > फ़ोन नंबर की पुष्टि पर वापस जाएं.
  3. प्रोडक्शन सेट अप करें पर क्लिक करें. आपको अपने प्रोजेक्ट में मौजूद उन ऐप्लिकेशन की सूची दिखेगी जिनके लिए प्रोडक्शन की सुविधा चालू की जाएगी. साथ ही, आपके पास अन्य ऐप्लिकेशन जोड़ने का विकल्प भी होगा.
  4. OAuth ब्रैंड की पुष्टि और निजता नीति की समीक्षा के लिए, अपना ऐप्लिकेशन सबमिट करें. Google Cloud, इस बात की पुष्टि करेगा कि आपने अपने ऐप्लिकेशन और उसकी निजता नीति की पहचान साफ़ तौर पर और सही तरीके से की है.
    समीक्षा शुरू करने के लिए, Google Cloud में आगे बढ़ें पर क्लिक करें. इस प्रोसेस में कभी-कभी 24 घंटे या उससे ज़्यादा समय लग सकता है.
  5. ब्रैंड की पुष्टि होने का इंतज़ार करते समय, Firebase PNV की सेवा से जुड़ी खास शर्तें देखें. ये शर्तें, कंसोल में लिंक की गई हैं.
  6. ब्रैंड की पुष्टि होने के बाद, सेवा से जुड़ी खास शर्तों को स्वीकार करने के लिए बॉक्स पर सही का निशान लगाएं. इसके बाद, चालू करें पर क्लिक करें.

Firebase PNV अब प्रोडक्शन मोड में चालू है.

टेस्ट कोड हटाना

अपने Android प्रोजेक्ट में, fpnv.enableTestSession(...) वाली लाइन मिटाएं.

Firebase AI Logic को Vertex AI का इस्तेमाल करने के लिए माइग्रेट करना

अगर बिलिंग खाते में क्रेडिट का इस्तेमाल किया जा रहा है, तो Gemini Developer API के साथ उनका इस्तेमाल नहीं किया जा सकेगा. हालांकि, Vertex AI Gemini API के साथ उनका इस्तेमाल किया जा सकता है.

  1. Firebase कंसोल में, एआई सेवाएं > एआई लॉजिक पर जाएं.
  2. सेटिंग पर क्लिक करें.
  3. Vertex AI Gemini API में जाकर, चालू करें पर क्लिक करें.
  4. अपने Android प्रोजेक्ट में, Firebase AI Logic के इनिशलाइज़ेशन में बदलाव करें. इसके लिए, Google AI के बजाय Vertex AI बैकएंड का इस्तेमाल करें:
    val model = Firebase.ai(
        backend = GenerativeBackend.vertexAI(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

6. बधाई हो!

आपने किसी Android ऐप्लिकेशन में, Firebase फ़ोन नंबर की पुष्टि करने की सुविधा को इंटिग्रेट कर लिया है!

हमने क्या-क्या कवर किया है

  • Firebase PNV के लिए प्रोजेक्ट सेट अप करना.
  • प्रोटोटाइप बनाने के लिए, टेस्ट मोड का इस्तेमाल करना.
  • Firebase PNV के सिंगल-कॉल एपीआई को लागू करना.
  • प्रोडक्शन मोड पर अपग्रेड करना.

अगले चरण