Cloud Functions की मदद से, डेवलपर Firebase और Google Cloud इवेंट ऐक्सेस कर सकते हैं. साथ ही, उन्हें इन इवेंट के जवाब में कोड चलाने के लिए, ज़रूरत के हिसाब से कंप्यूटिंग पावर भी मिलती है. Firebase ऐप्लिकेशन, अपनी ज़रूरतों के हिसाब से Cloud Functions का इस्तेमाल अलग-अलग तरीकों से कर सकते हैं. हालांकि, आम तौर पर इनका इस्तेमाल इन कामों के लिए किया जाता है:
- उपयोगकर्ताओं को दिलचस्प जानकारी मिलने पर सूचनाएं भेजना.
- डेटाबेस को साफ़ करना और उसका रखरखाव करना.
- ज़्यादा संसाधन इस्तेमाल करने वाले टास्क को अपने ऐप्लिकेशन के बजाय, क्लाउड में चलाना.
- तीसरे पक्ष की सेवाओं और एपीआई के साथ इंटिग्रेट करना.
अपनी दिलचस्पी के हिसाब से, हर कैटगरी के इस्तेमाल के उदाहरण और तरीके देखें. इसके बाद, हमारे शुरू करने का तरीका ट्यूटोरियल पर जाएं. इसके अलावा, खास निर्देशों वाली गाइड भी देखी जा सकती हैं जैसे कि पुष्टि करने वाले इवेंट, Analytics इवेंट वगैरह के लिए.
उपयोगकर्ताओं को दिलचस्प जानकारी मिलने पर सूचनाएं भेजना
डेवलपर, Cloud Functions का इस्तेमाल करके, उपयोगकर्ताओं को किसी ऐप्लिकेशन के बारे में काम की जानकारी देकर उन्हें जोड़े रख सकते हैं. उदाहरण के लिए, ऐसे ऐप्लिकेशन के बारे में सोचें जिसमें उपयोगकर्ता एक-दूसरे की गतिविधियों को फ़ॉलो कर सकते हैं. जब भी कोई उपयोगकर्ता, किसी दूसरे उपयोगकर्ता को फ़ॉलो करने के लिए खुद को जोड़ता है, तो Realtime Database में एक एंट्री होती है. इसके बाद, इस एंट्री वाले इवेंट से एक फ़ंक्शन ट्रिगर हो सकता है. इससे Firebase Cloud Messaging (FCM) की सूचनाएं बनाई जा सकती हैं. इन सूचनाओं से, सही उपयोगकर्ताओं को यह पता चलता है कि उन्हें नए फ़ॉलोअर मिले हैं.

- यह फ़ंक्शन, Realtime Database पाथ पर एंट्री होने पर ट्रिगर होता है जहां फ़ॉलोअर की जानकारी सेव की जाती है.
- यह फ़ंक्शन, FCM के ज़रिए भेजने के लिए एक मैसेज बनाता है.
- FCM, सूचना वाला मैसेज उपयोगकर्ता के डिवाइस पर भेजता है.
काम करने वाला कोड देखने के लिए, GitHub में मौजूद सैंपल कोड देखें:
- Node.js: fcm-notifications
- Python: fcm-notifications
सूचनाएं भेजने के अन्य दिलचस्प उदाहरण
- न्यूज़लेटर की सदस्यता लेने वाले उपयोगकर्ताओं को पुष्टि के ईमेल भेजना.
- साइनअप पूरा करने पर, उपयोगकर्ता को वेलकम ईमेल भेजना.
- नया खाता बनाने पर, उपयोगकर्ता को पुष्टि करने वाला एसएमएस भेजना.
डेटाबेस को साफ़ करना और उसका रखरखाव करना
Cloud Functions डेटाबेस इवेंट हैंडलिंग की मदद से, उपयोगकर्ता के व्यवहार के हिसाब से Realtime Database या Cloud Firestore में बदलाव किया जा सकता है. इससे सिस्टम को अपनी ज़रूरत के हिसाब से बनाए रखा जा सकता है. उदाहरण के लिए, एंट्री वाले इवेंट की निगरानी की जा सकती है और उपयोगकर्ताओं के मैसेज में मौजूद कुछ स्ट्रिंग का फ़ॉर्मैट बदला जा सकता है. जैसे, सभी स्ट्रिंग को अंग्रेज़ी के बड़े अक्षरों में बदला जा सकता है. यह सुविधा इस तरह काम करती है:

- डेटाबेस इवेंट हैंडलर, किसी खास पाथ पर एंट्री वाले इवेंट की निगरानी करता है. साथ ही, मैसेज के टेक्स्ट वाला इवेंट डेटा वापस लेता है.
- यह फ़ंक्शन, टेक्स्ट को प्रोसेस करके स्ट्रिंग को अंग्रेज़ी के बड़े अक्षरों में बदलता है.
- यह फ़ंक्शन, अपडेट किए गए टेक्स्ट को वापस डेटाबेस में लिखता है.
काम करने वाला कोड देखने के लिए, GitHub में मौजूद सैंपल कोड देखें:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
डेटाबेस को साफ़ करने और उसका रखरखाव करने के अन्य उदाहरण
- Realtime Database से, मिटाए गए उपयोगकर्ता का कॉन्टेंट हटाना.
- Firebase डेटाबेस में चाइल्ड नोड की संख्या सीमित करना.
- Realtime Database सूची में मौजूद एलिमेंट की संख्या ट्रैक करना.
- Realtime Database से Google Cloud BigQuery में डेटा कॉपी करना.
- टेक्स्ट को इमोजी में बदलना.
- डेटाबेस रिकॉर्ड के लिए, कंप्यूट किया गया मेटाडेटा मैनेज करना.
ज़्यादा संसाधन इस्तेमाल करने वाले टास्क को अपने ऐप्लिकेशन के बजाय, क्लाउड में चलाना
आप Google Cloud पर ज़्यादा संसाधन इस्तेमाल करने वाले काम (ज़्यादा सीपीयू या नेटवर्किंग) को ऑफ़लोड करने के लिए Cloud Functions का फ़ायदा ले सकते हैं. ऐसा उपयोगकर्ता के डिवाइस पर काम करने के बजाय किया जा सकता है. इससे आपके ऐप्लिकेशन की परफ़ॉर्मेंस बेहतर होती है. उदाहरण के लिए, Cloud Storage पर इमेज अपलोड होने पर, उसकी निगरानी करने के लिए एक फ़ंक्शन लिखा जा सकता है. इसके बाद, इमेज को उस इंस्टेंस पर डाउनलोड किया जा सकता है जिस पर फ़ंक्शन चल रहा है. साथ ही, उसमें बदलाव करके उसे वापस Cloud Storage पर अपलोड किया जा सकता है. आपके बदलावों में, sharp या Pillow जैसे टूल की मदद से इमेज का साइज़ बदलना, उन्हें काटना या उनका फ़ॉर्मैट बदलना शामिल हो सकता है.

- Cloud Storage पर इमेज फ़ाइल अपलोड होने पर, एक फ़ंक्शन ट्रिगर होता है.Cloud Storage
- यह फ़ंक्शन, इमेज डाउनलोड करता है और उसका थंबनेल वर्शन बनाता है.
- यह फ़ंक्शन, डेटाबेस में थंबनेल की जगह की जानकारी लिखता है, ताकि क्लाइंट ऐप्लिकेशन उसे ढूंढकर इस्तेमाल कर सके.
- यह फ़ंक्शन, थंबनेल को नई जगह पर वापस Cloud Storage पर अपलोड करता है.
- ऐप्लिकेशन, थंबनेल का लिंक डाउनलोड करता है.
इमेज प्रोसेसिंग के उदाहरण के बारे में जानने के लिए, इवेंट को मैनेज करने की गाइड देखें.Cloud Storage
Firebase क्लाउड में बैच जॉब के अन्य उदाहरण
- समय-समय पर, इस्तेमाल न किए जा रहे Firebase खातों को मिटाना Node.js | Python.
- अपलोड की गई इमेज का अपने-आप बैकअप लेना Node.js | Python.
- उपयोगकर्ताओं को बल्क में ईमेल भेजना.
- समय-समय पर डेटा को इकट्ठा करना और उसकी खास जानकारी देना.
- पूरे न किए गए काम की सूची को प्रोसेस करना.
तीसरे पक्ष की सेवाओं और एपीआई के साथ इंटिग्रेट करना
Cloud Functions वेब एपीआई को कॉल करके और उन्हें दिखाकर, आपके ऐप्लिकेशन को अन्य सेवाओं के साथ बेहतर तरीके से काम करने में मदद कर सकता है. उदाहरण के लिए, डेवलपमेंट में सहयोग के लिए इस्तेमाल किया जाने वाला कोई ऐप्लिकेशन, GitHub कमिट को वर्कग्रुप चैट रूम में पोस्ट कर सकता है.

- कोई उपयोगकर्ता, GitHub रेपो में कमिट पुश करता है.
- GitHub वेबहुक एपीआई के ज़रिए, एक एचटीटीपीएस फ़ंक्शन ट्रिगर होता है.
- यह फ़ंक्शन, टीम के Slack चैनल पर कमिट की सूचना भेजता है.
तीसरे पक्ष की सेवाओं और एपीआई के साथ इंटिग्रेट करने के अन्य तरीके
- अपलोड की गई इमेज का विश्लेषण करने और उन्हें टैग करने के लिए, Google Cloud Vision API का इस्तेमाल करना.
- Google Translate का इस्तेमाल करके मैसेज का अनुवाद करना.
- उपयोगकर्ताओं को साइन इन करने के लिए, कस्टम ऑथ का इस्तेमाल करना.
- एंट्री होने पर, वेबहुक को अनुरोध भेजना.Realtime Database
- Realtime Database एलिमेंट पर, पूरे टेक्स्ट में खोजने की सुविधा चालू करना.
- उपयोगकर्ताओं से पेमेंट प्रोसेस करना.
- फ़ोन कॉल और एसएमएस मैसेज के लिए, अपने-आप जवाब देने की सुविधा बनाना.
- Google Assistant का इस्तेमाल करके, चैटबॉट बनाना.