Firebase, उपयोगकर्ताओं के ग्रुप को टारगेट करके, उनकी दिलचस्पी के हिसाब से अनुभव देने के लिए टूल उपलब्ध कराता है. इसके लिए, Remote Config, Cloud Messaging, और इन-ऐप्लिकेशन मैसेजिंग जैसी 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 कंसोल में Remote Config या इन-ऐप्लिकेशन मैसेजिंग जैसी सेवाओं के साथ टारगेट करने के लिए उपलब्ध होगा. यह, प्रॉपर्टी या Google Analytics ऑडियंस के साथ टारगेट करने की तरह ही काम करता है.

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