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

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

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

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

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

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

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

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

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

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 system services के बीटा चैनल में रजिस्टर करें:

  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 एम्युलेटर या किसी फ़िज़िकल डिवाइस पर ऐप्लिकेशन लॉन्च करने के लिए, Run पर क्लिक करें.
  2. ऐप्लिकेशन लॉन्च होने के बाद, आपको इस तरह की स्क्रीन दिखेगी:
    Firebase PNV ऐप्लिकेशन चल रहा है
  3. कॉल शुरू करें पर क्लिक करें और अपना परिचय दें.
    Firebase PNV ऐप्लिकेशन चल रहा है
  4. एआई वॉइस एजेंट को आपसे बुकिंग की जानकारी मांगनी चाहिए. जानकारी देने के बाद, आपको अपने फ़ोन नंबर की पुष्टि करने के लिए, स्क्रीन पर देखने का निर्देश मिलेगा:
    Firebase PNV ऐप्लिकेशन चल रहा है
  5. इसके बाद, आपको पुष्टि पूरी होने की स्क्रीन दिखेगी:
    Firebase PNV ऐप्लिकेशन चल रहा है
  6. कॉल खत्म करने के लिए, सेशन खत्म करें पर क्लिक करें.

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

Firebase का प्राइसिंग प्लान अपग्रेड करना

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

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

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

  1. Firebase कंसोल में जाकर, अपने प्लान को अपग्रेड करें को चुनें.
  2. Blaze प्लान चुनें. अपने प्रोजेक्ट से क्लाउड बिलिंग खाता लिंक करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
    • अगर इस कोडलैब के लिए 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 को Agent Platform का इस्तेमाल करने के लिए माइग्रेट करना

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

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

6. बधाई हो!

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

हमने क्या-क्या शामिल किया है

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

अगले चरण