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

इंटिग्रेशन चालू होने के बाद:
- Firebase, BigQuery में एक डेटासेट बनाता है. इसका मालिकाना हक आपके पास होता है, लेकिन Firebase के पास इसे पढ़ने का ऐक्सेस होता है.
- Firebase, डेटा को समय-समय पर इकट्ठा करता है. इससे अपडेट किए गए सेगमेंट, टारगेटिंग के लिए Firebase कंसोल में उपलब्ध हो जाते हैं.
- Firebase के पास इस डेटा को सिर्फ़ पढ़ने का ऐक्सेस है. Firebase, इस डेटा की कॉपी को अपने इंटरनल स्टोरेज में सेव रखता है.
- BigQuery डेटा सेट से मिटाया गया डेटा, Firebase डेटा स्टोरेज से भी मिट जाता है.
BigQuery में डेटा इंपोर्ट करने की सुविधा चालू करना
- Firebase कंसोल में, BigQuery इंटिग्रेशन पेज पर जाएं.
- अगर आपने पहले BigQuery इंटिग्रेशन सेट अप नहीं किया है, तो BigQuery को चालू करने के लिए स्क्रीन पर दिए गए निर्देशों का पालन करें.
Firebase कंसोल"> - इंपोर्ट किए गए सेगमेंट टॉगल को चालू करें.

BigQuery से सेगमेंट इंपोर्ट करने की सुविधा चालू करने पर:
- Firebase,
firebase_imported_segmentsनाम का नया BigQuery डेटा सेट अपने-आप बनाता है. इस डेटासेट में,SegmentMembershipsऔरSegmentMetadataनाम वाली खाली टेबल मौजूद हैं. - ‘firebase_imported_segments’ डेटासेट को Firebase सेवा खाते के साथ भी शेयर किया जाता है. इसका डोमेन
@gcp-sa-firebasesegmentation.iam.gserviceaccount.comहै. - Firebase, इस डेटासेट से डेटा पढ़ने के लिए कम से कम हर 12 घंटे में एक बार जॉब चलाता है. साथ ही, यह 12 घंटे से ज़्यादा बार डेटा इंपोर्ट कर सकता है.
BigQuery में डेटा इंपोर्ट करना
SegmentMemberships और SegmentMetadata टेबल में डेटा भरने के लिए, BigQuery में डेटा लोड करने के लिए, किसी भी ऐसे तरीके का इस्तेमाल किया जा सकता है जो BigQuery के साथ काम करता हो. डेटा को यहां दिए गए स्कीमा के हिसाब से होना चाहिए:
SegmentMemberships
[
{
"name": "instance_id",
"type": "STRING"
},
{
"name": "segment_labels",
"type": "STRING",
"mode": "REPEATED"
},
{
"name": "update_time",
"type": "TIMESTAMP"
}
]
instance_id: यह किसी ऐप्लिकेशन के इंस्टॉलेशन के लिए Firebase इंस्टॉलेशन आईडी होता है. आपको सेगमेंट में शामिल किए जाने वाले हर ऐप्लिकेशन इंस्टॉल के लिए, इंस्टॉलेशन आईडी वापस पाना होगा. साथ ही, उन वैल्यू का इस्तेमाल करके इस फ़ील्ड को भरना होगा.
segment_labels: वे सेगमेंट जिनमें डिवाइस ("instance_id") शामिल हैं. ये टैग, इंसानों के हिसाब से होने ज़रूरी नहीं हैं. साथ ही, BigQuery के स्टोरेज का इस्तेमाल कम करने के लिए, इन्हें छोटा रखा जा सकता है. यहां इस्तेमाल किए गए हर "segment_labels" के लिए, SegmentMetadata टेबल में एक एंट्री होनी चाहिए. ध्यान दें कि यह प्लूरल है, जबकि SegmentMetadata टेबल में "segment_label" है.
update_time: फ़िलहाल, Firebase इसका इस्तेमाल नहीं करता. हालांकि, इसका इस्तेमाल BigQuery से सेगमेंट की उन पुरानी मेंबरशिप को मिटाने के लिए किया जा सकता है जिनका अब इस्तेमाल नहीं किया जाता.
SegmentMetadata
[
{
"name": "segment_label",
"type": "STRING"
},
{
"name": "display_name",
"type": "STRING"
}
]
segment_label: इससे किसी सेगमेंट की पहचान होती है. इस टेबल में, SegmentMembershipsटेबल में दिए गए हर सेगमेंट के लिए एक एंट्री होनी चाहिए. ध्यान दें कि यह एकवचन है, जबकि SegmentMemberships टेबल में "segment_labels" है.
display_name: यह सेगमेंट का ऐसा नाम होता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है और जो यूज़र इंटरफ़ेस (यूआई) के हिसाब से सही हो. इसका इस्तेमाल, Firebase कंसोल में आपके सेगमेंट को लेबल करने के लिए किया जाता है.
BigQuery के लिए बिलिंग सेट अप करना
अगर आपको बहुत कम इंस्टॉल वाले ऐप्लिकेशन के लिए नई सुविधा आज़मानी है, तो आपको सिर्फ़ BigQuery सैंडबॉक्स सेट अप करना पड़ सकता है.
हालांकि, अगर इसका इस्तेमाल प्रोडक्शन ऐप्लिकेशन के लिए किया जा रहा है और उसके कई उपयोगकर्ता हैं, तो आपको BigQuery के इस्तेमाल के लिए बिलिंग सेट अप करनी होगी. इससे स्टोरेज के साथ-साथ, BigQuery में डेटा लोड करने के लिए इस्तेमाल किए गए मेकेनिज़्म के लिए भी पेमेंट किया जा सकेगा. Firebase की ओर से शुरू किए गए किसी भी रीड ऑपरेशन के लिए, आपसे शुल्क नहीं लिया जाएगा.
इंटिग्रेशन बंद करना
इस इंटिग्रेशन को बंद करने के लिए, Firebase कंसोल में BigQuery इंटिग्रेशन पेज पर जाएं. इसके बाद, कस्टम सेगमेंट टॉगल को बंद करें.
इंपोर्ट किए गए सेगमेंट का इस्तेमाल करना
डेटा इकट्ठा होने के बाद, यह Firebase कंसोल में उपलब्ध होगा. इसका इस्तेमाल रिमोट कॉन्फ़िगरेशन या इन-ऐप्लिकेशन मैसेज सुविधा जैसी सेवाओं के साथ टारगेटिंग के लिए किया जा सकता है. यह प्रॉपर्टी या Google Analytics ऑडियंस को टारगेट करने की तरह ही काम करता है.

"इंपोर्ट किए गए सेगमेंट" को टारगेट किए जा सकने वाले एट्रिब्यूट के तौर पर इस्तेमाल किया जा सकता है. साथ ही, इंपोर्ट किए गए सेगमेंट को चुनने का विकल्प भी उपलब्ध होगा. इनमें, हर सेगमेंट से जुड़े ऐप्लिकेशन इंस्टेंस की संख्या का अनुमान भी शामिल होता है.
टारगेटिंग की पूरी शर्त से मेल खाने वाले इंस्टेंस की संख्या का अनुमान भी उपलब्ध है. टारगेटिंग की शर्तों में कोई भी बदलाव करने पर, यह अपडेट हो जाता है.
इस्तेमाल के उदाहरण
टारगेट किए गए उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, इंपोर्ट किए गए सेगमेंट का इस्तेमाल कई तरीकों से किया जा सकता है. इस सेक्शन में, कुछ सामान्य स्थितियां बताई गई हैं. इनमें आपको इस सुविधा का इस्तेमाल करना पड़ सकता है.
उपयोगकर्ताओं के किसी ग्रुप को सूचनाएं भेजना
मान लें कि आपके पास एक ऐसा ऐप्लिकेशन है जिसमें शॉपिंग कार्ट की मदद से इन-ऐप्लिकेशन खरीदारी की जा सकती है. आपके पास, कस्टम तौर पर बनाए गए या तीसरे पक्ष के ऐसे विश्लेषण समाधानों का इस्तेमाल करने का विकल्प भी होता है जो Google Analytics की मदद से काम नहीं करते. इनकी मदद से, आपके ऐप्लिकेशन में उपयोगकर्ता के व्यवहार से जुड़ी अलग-अलग मेट्रिक इकट्ठा की जा सकती हैं. इन मेट्रिक का इस्तेमाल करके, ऐसे उपयोगकर्ताओं के ग्रुप की पहचान की जा सकती है जिन्होंने कार्ट में आइटम जोड़े हैं, लेकिन चेकआउट पूरा नहीं किया है.
अब मान लें कि आपको Firebase Cloud Messaging का इस्तेमाल करके, इन उपयोगकर्ताओं को सूचना भेजनी है. इससे उन्हें याद दिलाया जा सकेगा कि उनके कार्ट में आइटम मौजूद हैं. "अधूरा चेकआउट" नाम का सेगमेंट बनाया जा सकता है. इसमें उन उपयोगकर्ताओं को शामिल किया जा सकता है जिनकी पहचान उनके Firebase इंस्टॉलेशन आईडी से की गई है. इसके बाद, इसे BigQuery पर अपलोड करके Firebase के साथ शेयर किया जा सकता है.
Firebase इस डेटा को प्रोसेस करने के बाद, यह सूचना कंपोज़र में उपलब्ध होता है. यहां "अधूरा चेकआउट" को टारगेट करने वाला नया सूचना कैंपेन बनाया जा सकता है. इससे उपयोगकर्ताओं को एक मैसेज भेजा जा सकता है, ताकि वे चेकआउट पूरा कर सकें.
उपयोगकर्ताओं के किसी सबसेट के लिए ऐप्लिकेशन को कॉन्फ़िगर करना
मान लें कि आपने इन-हाउस एनालिटिक्स सॉल्यूशन का इस्तेमाल किया है. इससे पता चलता है कि कुछ लोगों को ऐप्लिकेशन इस्तेमाल करने में समस्या आ रही है. इन लोगों की मदद करने के लिए, आपको ऐप्लिकेशन के व्यवहार को कॉन्फ़िगर करना है, ताकि इसमें एक छोटा ट्यूटोरियल वीडियो शामिल किया जा सके.
अपने ऐप्लिकेशन में Remote Config को शामिल किया जा सकता है. साथ ही, "needs_help" जैसे नाम वाले पैरामीटर का इस्तेमाल करके, ट्यूटोरियल वीडियो को शर्त के हिसाब से दिखाया जा सकता है.
अपने Analytics डेटा का इस्तेमाल करके, "troubled-users" नाम का एक सेगमेंट बनाएं. साथ ही, Firebase इंस्टॉलेशन आईडी से पहचाने गए सही उपयोगकर्ताओं को शामिल करें. इसके बाद, इस सेगमेंट और इसके सदस्यों को BigQuery में अपलोड करें, ताकि इसे Firebase के साथ शेयर किया जा सके.
Firebase में यह डेटा इकट्ठा होने के बाद, इसे Remote Config के लिए टारगेटिंग सेगमेंट के तौर पर उपलब्ध कराया जाता है. इसके बाद, "troubled-users" को टारगेट करने वाली कोई शर्त बनाई जा सकती है. साथ ही, इस शर्त के लिए "needs_help" पैरामीटर को सही पर सेट किया जा सकता है. हालांकि, डिफ़ॉल्ट रूप से यह गलत पर सेट होता है. इस कॉन्फ़िगरेशन को पब्लिश करने के बाद, ऐप्लिकेशन ट्यूटोरियल वीडियो सिर्फ़ "troubled-users" सेगमेंट के उपयोगकर्ताओं को दिखाता है.
सभी डिवाइसों पर उपयोगकर्ता के इस्तेमाल को फ़ॉलो करना
मान लें कि आपने Firebase और Google Analytics का इस्तेमाल करके, रेस्टोरेंट की समीक्षा करने वाला एक ऐप्लिकेशन बनाया है. इकट्ठी की गई मेट्रिक का इस्तेमाल करके, आपको पता चलता है कि उपयोगकर्ता अक्सर मोबाइल डिवाइस और टैबलेट, दोनों से ऐप्लिकेशन को ऐक्सेस करते हैं. आपको यह भी पता चलता है कि आपके ऐप्लिकेशन का इस्तेमाल करने वाले लोग, टैबलेट पर समीक्षाएं लिखना पसंद करते हैं. हालांकि, वे किसी भी डिवाइस से समीक्षाएं पढ़ सकते हैं.
कुछ लोग अपने फ़ोन पर समीक्षा लिखना शुरू करते हैं, लेकिन वे उसे पूरा नहीं करते. ऐसा शायद छोटे फ़ॉर्म फ़ैक्टर की वजह से होता है. आपको ऐसे उपयोगकर्ताओं को उनके टैबलेट पर सूचना भेजनी है, ताकि वे अपनी समीक्षाएं पूरी कर सकें.
इसके लिए, साइन-इन किए हुए उपयोगकर्ताओं के लिए, Google Analytics का इस्तेमाल करके, संगठन के अंदर जनरेट किए गए reviewerId को UserId के तौर पर सेट किया जा सकता है. साथ ही, रद्द की गई समीक्षाओं की पहचान करने के लिए, किसी इवेंट को ट्रिगर किया जा सकता है. इसके बाद, अपने ऐप्लिकेशन के Google Analytics डेटा को BigQuery में एक्सपोर्ट किया जा सकता है.
BigQuery में इस डेटा का विश्लेषण करके, उन उपयोगकर्ताओं के लिए Firebase इंस्टॉलेशन आईडी का पता लगाया जा सकता है जिन्होंने अपने फ़ोन पर समीक्षा लिखना पूरा नहीं किया. इस ग्रुप का नाम "tablets-of-users-who-cancelled-on-phone" रखा जा सकता है. साथ ही, सदस्यों की सूची को Firebase के साथ शेयर करने के लिए, सेगमेंट को BigQuery पर अपलोड किया जा सकता है.
Firebase में यह डेटा शामिल होने के बाद, सूचना कंपोज़र में यह टारगेट किए जा सकने वाले सेगमेंट के तौर पर उपलब्ध होता है. इसके बाद, "फ़ोन पर सदस्यता रद्द करने वाले उपयोगकर्ताओं के टैबलेट" को टारगेट करने वाला नया सूचना कैंपेन बनाया जा सकता है. इससे इन उपयोगकर्ताओं को एक मैसेज भेजा जा सकेगा, ताकि वे अपने टैबलेट पर समीक्षा पूरी कर सकें.