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’ डेटासेट को,
@gcp-sa-firebasesegmentation.iam.gserviceaccount.comडोमेन वाले Firebase सेवा खाते के साथ भी शेयर किया जाता है. - Firebase, इस डेटासेट से डेटा पढ़ने के लिए कम से कम हर 12 घंटे में एक बार कोई जॉब चलाता है. हालांकि, यह 12 घंटे से ज़्यादा बार भी डेटा इंपोर्ट कर सकता है.
BigQuery में डेटा इंपोर्ट करना
SegmentMemberships और SegmentMetadata टेबल में डेटा भरने के लिए, 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 की ओर से शुरू किए गए किसी भी रीड के लिए, आपसे कोई शुल्क नहीं लिया जाएगा.
इंटिग्रेशन बंद करना
इस इंटिग्रेशन को बंद करने के लिए, BigQuery इंटिग्रेशन वाले पेज पर जाएं और Firebase कंसोल में कस्टम सेगमेंट टॉगल को बंद करें.
इंपोर्ट किए गए सेगमेंट का इस्तेमाल करना
डेटा इकट्ठा हो जाने के बाद, यह Firebase कंसोल में उपलब्ध होगा. इसका इस्तेमाल, रिमोट कॉन्फ़िगरेशन या इन-ऐप्लिकेशन मैसेज सुविधा जैसी सेवाओं के साथ टारगेट करने के लिए किया जा सकेगा. यह, प्रॉपर्टी या Google Analytics ऑडियंस के साथ टारगेट करने की तरह ही काम करता है.

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