# खिलाड़ी डेटा एकत्र करें

Pushwoosh को यह जानना ज़रूरी है कि आपके खिलाड़ी कौन हैं और वे गेम में क्या करते हैं। इवेंट कार्रवाइयों को रिकॉर्ड करते हैं, और टैग हर खिलाड़ी की मौजूदा स्थिति सहेजते हैं।

<Aside type="tip" title="AI Assistant से इवेंट और टैग बनवाएं">
[AI Assistant](/hi/product/pushwoosh-ai/ai-assistant/) आपके एप्लिकेशन में इस पेज के इवेंट और टैग बना सकता है। उसे इस पेज का लिंक भेजें और टैग को User-specific बनाने के लिए कहें। हर बदलाव को मंज़ूर करने से पहले जांच लें।
</Aside>

<span id="identify-players-by-user-id" />

## User ID से खिलाड़ियों की पहचान करें

<Aside type="caution" icon="setting" title="डेवलपर सहायता की आवश्यकता है">
User ID सेट करना आपके गेम के कोड में एक बदलाव है। कृपया [User ID एकत्र करना](/hi/developer/first-steps/collecting-user-ids/#setuserid-sdk-method) अपने डेवलपर्स के साथ साझा करें।
</Aside>

Pushwoosh किसी खिलाड़ी के सभी डिवाइस को एक User ID से जोड़ता है, ताकि आपके सेगमेंट और Journey एक व्यक्ति को एक ही खिलाड़ी मानें। खिलाड़ी के लॉग इन करने से पहले किसी डिवाइस ने जो इवेंट और User-specific टैग रिकॉर्ड किए थे, वे उसकी पिछली ID के साथ रहते हैं। Device-specific टैग डिवाइस के साथ चलते हैं।

डिफ़ॉल्ट रूप से, Pushwoosh हर डिवाइस की हार्डवेयर ID (HWID) को उसकी User ID के रूप में इस्तेमाल करता है। ऐसे में दो डिवाइस पर खेलने वाला एक खिलाड़ी दो खिलाड़ियों के रूप में गिना जाता है। लॉग इन करने वाले खिलाड़ियों के लिए इससे बचने के लिए, अपनी खुद की अकाउंट ID को उनकी User ID के रूप में सेट करें:

1. इस्तेमाल करने के लिए ID चुनें। वह अकाउंट ID लें जो आपका गेम पहले से हर खिलाड़ी को देता है।
2. अपने डेवलपर्स से कहें कि जब खिलाड़ी लॉग इन करे, तो इस ID के साथ `setUserId` कॉल करें।
3. नतीजा जांचें। किसी टेस्ट डिवाइस पर गेम में लॉग इन करें, फिर **ऑडियंस** → **उपयोगकर्ता एक्सप्लोरर** खोलें, **उपयोगकर्ता Id** से खोजें और अकाउंट ID डालें। खिलाड़ी की प्रोफ़ाइल खुल जाती है।

जो खिलाड़ी कभी लॉग इन नहीं करते, उनकी User ID के रूप में HWID बनी रहती है, और Pushwoosh इसे उनके लिए सेट करता है।

User ID और डिवाइस के आपसी संबंध के बारे में ज़्यादा जानने के लिए, [उपयोगकर्ता (यूज़र आईडी)](/hi/product/pushwoosh-knowledge-hub/users-userids/) देखें।

<span id="set-up-the-events-to-track" />

## ट्रैक करने के लिए इवेंट सेट करें

इवेंट के ज़रिए Pushwoosh जानता है कि खिलाड़ी क्या करता है। इन्हें सबसे पहले बनाएं: [सेगमेंट](/hi/tutorials/industry-playbooks/mobile-games/build-the-segments/) खिलाड़ियों को उनके ट्रिगर किए गए इवेंट के आधार पर समूहों में बांटते हैं, और [Journey](/hi/tutorials/industry-playbooks/mobile-games/build-the-journeys/) किसी इवेंट के होने पर शुरू होती हैं।

कुछ भी बनाने से पहले इवेंट और उनके एट्रिब्यूट, दोनों की योजना बनाएं। [गेमिंग ऐप्स के लिए अनुशंसित इवेंट्स](/hi/product/audience-data-and-segmentation/events/recommended-events-for-gaming-apps/) में एट्रिब्यूट के साथ तैयार गेमिंग इवेंट दिए गए हैं, और [कस्टम इवेंट्स](/hi/product/audience-data-and-segmentation/events/custom-events/) में बताया गया है कि अपने खुद के इवेंट कैसे तय करें।

इवेंट दो तरह के होते हैं:

* [डिफ़ॉल्ट इवेंट](#default-events): डिवाइस रजिस्ट्रेशन, ऐप खोलना, खरीदारी और कुछ अन्य। SDK इन्हें भेजता है, और आप इन्हें कंट्रोल पैनल में नहीं बनाते।
* [कस्टम इवेंट](#custom-events): लेवल पूरा हुआ, रिवॉर्ड लिया गया, स्टोर खोला गया और अन्य। आपके डेवलपर्स [इन्हें गेम से भेजते हैं](#send-the-events-from-the-game), और Pushwoosh हर इवेंट को उसके पहली बार आने पर बनाता है। एट्रिब्यूट के टाइप खुद चुनने के लिए, पहले कंट्रोल पैनल में इवेंट बनाएं। [कस्टम इवेंट्स](/hi/product/audience-data-and-segmentation/events/custom-events/) और [अपने आप बनने वाले इवेंट](/hi/product/audience-data-and-segmentation/events/#events-created-automatically) देखें।

<span id="default-events" />

### डिफ़ॉल्ट इवेंट

SDK ये इवेंट आपके लिए भेजता है। इस प्लेबुक की ज़्यादातर Journey के लिए आपको इनकी ज़रूरत है: ऑनबोर्डिंग, विन-बैक और खरीदारी के ऑफ़र।

* [`PW_DeviceRegistered`](/hi/product/audience-data-and-segmentation/events/default-events/#pw_deviceregistered): किसी डिवाइस को उसका पहला पुश टोकन मिला। SDK टोकन का अनुरोध तभी करता है जब गेम `registerForPushNotifications` कॉल करता है, जो iOS पर अनुमति का प्रॉम्प्ट भी दिखाता है, और खिलाड़ी चाहे जो जवाब दे, टोकन आ जाता है। अगर गेम पहली बार लॉन्च होने के बाद अनुमति मांगता है, तो इवेंट उसी समय फ़ायर होता है, इंस्टॉल के समय नहीं। नए खिलाड़ियों को पकड़ने के लिए, इसके बजाय `Tutorial started` इवेंट का इस्तेमाल करें।
* [`PW_ApplicationOpen`](/hi/product/audience-data-and-segmentation/events/default-events/#pw_applicationopen): किसी खिलाड़ी ने गेम खोला। आपको इसकी ज़रूरत उन खिलाड़ियों को ढूंढने के लिए है जो अब भी खेल रहे हैं और जिन्होंने खेलना बंद कर दिया है, ताकि आप उन्हें वापस ला सकें।
* [`PW_InAppPurchase`](/hi/product/audience-data-and-segmentation/events/default-events/#pw_inapppurchase): किसी खिलाड़ी ने गेम में कुछ खरीदा। आपको इसकी ज़रूरत भुगतान करने वाले और भुगतान न करने वाले खिलाड़ियों में फ़र्क करने के लिए है, जैसे पहली खरीदारी का ऑफ़र सिर्फ़ उन खिलाड़ियों को देना जिन्होंने कभी भुगतान नहीं किया। आपके डेवलपर्स iOS SDK में खरीदारी ट्रैकिंग चालू करते हैं या कोड से खरीदारी भेजते हैं, और Android पर वे इन्हें हमेशा कोड से भेजते हैं। iOS पर, यह सिर्फ़ App Store Connect में कॉन्फ़िगर किए गए प्रोडक्ट के लिए फ़ायर होता है।
* वैकल्पिक: [`PW_UserIdle`](/hi/product/audience-data-and-segmentation/events/default-events/#pw_useridle): तब फ़ायर होता है जब कोई खिलाड़ी आपके तय किए गए समय तक, जो कम से कम 30 सेकंड हो, स्क्रीन को छूना बंद कर देता है। यह एक Journey शुरू करता है जो खिलाड़ी के अटकने पर in-app संकेत दिखाती है। आपके डेवलपर्स इसे SDK कॉन्फ़िगरेशन में चालू करते हैं।
* वैकल्पिक: [`PW_ApplicationExit`](/hi/product/audience-data-and-segmentation/events/default-events/#pw_applicationexit): तब फ़ायर होता है जब कोई खिलाड़ी गेम छोड़ देता है और 10 से 30 सेकंड के भीतर वापस नहीं आता। यह बीच में छोड़कर जाने वाले खिलाड़ियों के लिए विन-बैक Journey शुरू करता है। आपके डेवलपर्स इसे SDK कॉन्फ़िगरेशन में चालू करते हैं।

SDK के पहली बार भेजने के बाद इवेंट **ऑडियंस** → **इवेंट** में दिखाई देता है।

किसी अन्य डिफ़ॉल्ट इवेंट को सूची में पहले से जोड़ने के लिए, जैसे गेम अपडेट लाइव होने से पहले सेगमेंट बनाने के लिए:

1. **ऑडियंस** → **इवेंट** खोलें और **इवेंट बनाएं** पर क्लिक करें।
2. **डिफ़ॉल्ट इवेंट** चुनें।
3. इवेंट चुनें और **सक्रिय करें** पर क्लिक करें।

चरण 3 की सूची में `PW_UserIdle` और `PW_ApplicationExit` शामिल नहीं हैं। ये **ऑडियंस** → **इवेंट** में तभी दिखाई देते हैं जब SDK इन्हें पहली बार भेजता है।


इन और अन्य डिफ़ॉल्ट इवेंट के बारे में विस्तार से जानने के लिए, [डिफ़ॉल्ट इवेंट्स](/hi/product/audience-data-and-segmentation/events/default-events/) देखें।

<span id="custom-events" />

### कस्टम इवेंट

कस्टम इवेंट रिकॉर्ड करते हैं कि आपके गेम में क्या होता है, जैसे कोई लेवल पूरा करना। आप चुनते हैं कि गेम को कौन-से इवेंट चाहिए, आपके डेवलपर्स उन्हें भेजते हैं, और आप जांचते हैं कि वे पहुंच रहे हैं।

<span id="choose-the-events-to-track" />

#### ट्रैक करने के लिए इवेंट चुनें

वे इवेंट चुनें जिनकी आपके गेम को ज़रूरत है, और हर इवेंट के साथ जाने वाले एट्रिब्यूट भी, जैसे `Level completed` के लिए `level_id`। तालिका में उदाहरण दिए गए हैं: इन्हें जैसे हैं वैसे इस्तेमाल करें, इनका नाम बदलें या अपने खुद के जोड़ें। सिर्फ़ वही इवेंट ट्रैक करें जिनकी ज़रूरत आपकी लॉन्च की जाने वाली Journey को है।

| इवेंट | कब फ़ायर होता है | मुख्य एट्रिब्यूट | किसमें काम आता है |
| --- | --- | --- | --- |
| [New level](/hi/product/audience-data-and-segmentation/events/recommended-events-for-gaming-apps/#new-level) | खिलाड़ी नए लेवल पर पहुंचता है | `level_id` (String) | वैकल्पिक: माइलस्टोन पर आधारित आपके अपने सेगमेंट |
| [Level completed](/hi/product/audience-data-and-segmentation/events/recommended-events-for-gaming-apps/#level-completed) | खिलाड़ी कोई लेवल पूरा करता है | `level_id` (String) | एंगेज्ड नॉन-पेयर और अटके हुए खिलाड़ियों के सेगमेंट, अटके हुए खिलाड़ियों के लिए मदद वाली Journey |
| Level failed | खिलाड़ी किसी लेवल में विफल होता है | `level_id` (String) | अटके हुए खिलाड़ियों का सेगमेंट और Journey |
| Tutorial started | खिलाड़ी गेम का ट्यूटोरियल शुरू करता है | `tutorial_name` (String) | ऑनबोर्डिंग Journey, ट्यूटोरियल छोड़ने वालों का सेगमेंट |
| [Tutorial completed](/hi/product/audience-data-and-segmentation/events/recommended-events-for-gaming-apps/#tutorial-completed) | खिलाड़ी गेम का ट्यूटोरियल पूरा करता है | `tutorial_name` (String), `completion` (Boolean) | ऑनबोर्डिंग Journey, पुश अनुमति फ़्लो |
| [Virtual currency earned](/hi/product/audience-data-and-segmentation/events/recommended-events-for-gaming-apps/#virtual-currency-earned) | खिलाड़ी का इन-गेम करेंसी बैलेंस बढ़ता है | `currency_name` (String), `quantity` (Integer) | वैकल्पिक: करेंसी पर आधारित आपके अपने सेगमेंट |
| [Achievement unlocked](/hi/product/audience-data-and-segmentation/events/recommended-events-for-gaming-apps/#achievement-unlocked) | खिलाड़ी कोई अचीवमेंट अनलॉक करता है | `achievement_name` (String), `level` (Integer) | अचीवमेंट हंटर्स सेगमेंट |
| Daily reward claimed | खिलाड़ी डेली रिवॉर्ड लेता है | `day_number` (Integer) | डेली रिवॉर्ड रिमाइंडर Journey |
| Live event joined | खिलाड़ी किसी लाइव इवेंट में शामिल होता है | `event_id` (String) | लाइव इवेंट Journey का कन्वर्ज़न लक्ष्य |
| Store opened | खिलाड़ी इन-गेम स्टोर खोलता है | `section` (String) | स्टोर छोड़ने वालों की Journey |

<Aside type="tip" title="आपके गेम में ट्यूटोरियल नहीं है?">
इस प्लेबुक में जहां भी `Tutorial started` और `Tutorial completed` का ज़िक्र है, वहां इनके बजाय हर नए खिलाड़ी की पहली दो कार्रवाइयों के लिए अपने खुद के इवेंट इस्तेमाल करें, जैसे पहला लेवल शुरू करना और पूरा करना।

* पहला इवेंट ऑनबोर्डिंग Journey शुरू करता है, और दूसरा उसे बताता है कि खिलाड़ी ने पूरा कर लिया है। `Tutorial completed` के साथ आने वाली `completion` शर्त छोड़ दें।
* SDK अपना कोई फ़र्स्ट-लॉन्च इवेंट नहीं भेजते, इसलिए दोनों ऐसे कस्टम इवेंट होने चाहिए जिन्हें आपका गेम भेजे।
</Aside>

<span id="send-the-events-from-the-game" />

#### गेम से इवेंट भेजें

<Aside type="caution" icon="setting" title="डेवलपर सहायता की आवश्यकता है">
इवेंट भेजना आपके गेम के कोड में एक बदलाव है। कृपया [डेवलपर्स के लिए इवेंट](/hi/developer/guides/audience-and-segmentation/events/) और [गेमिंग इवेंट के उदाहरण](/hi/developer/guides/audience-and-segmentation/events/custom-events-examples#gaming-apps) अपने डेवलपर्स के साथ साझा करें। वे हर इवेंट को कार्रवाई होते ही `postEvent` के साथ भेजते हैं। खरीदारी और रिवॉर्ड देने के इवेंट खिलाड़ी के `userId` के साथ गेम सर्वर से आने चाहिए।
</Aside>

अपने डेवलपर्स के साथ तय करें कि गेम कौन-से इवेंट भेजता है और हर इवेंट के साथ कौन-से एट्रिब्यूट जाते हैं। इवेंट और एट्रिब्यूट के नाम बिल्कुल मेल खाने चाहिए।

उदाहरण के लिए, गेम `Level completed` को उसके `level_id` एट्रिब्यूट के साथ ऐसे भेजता है:

<Tabs>
<TabItem label="Android">
```java
TagsBundle attributes = new TagsBundle.Builder()
    .putString("level_id", "12")
    .build();

InAppManager.getInstance().postEvent("Level completed", attributes);
```
</TabItem>
<TabItem label="iOS">
```swift
PWInAppManager.shared().postEvent("Level completed", withAttributes: ["level_id": "12"])
```
</TabItem>
</Tabs>

अगर कोई इवेंट ऐसे सर्वर पर होता है जो पहले से अपने वेबहुक भेजता है, जैसे आपका गेम बैकएंड या टूर्नामेंट सर्विस, तो वह `postEvent` के बजाय [इनबाउंड वेबहुक](/hi/product/integrations/inbound-webhook/) के ज़रिए Pushwoosh तक पहुंच सकता है। आप कंट्रोल पैनल में उसके भेजे गए फ़ील्ड को किसी Pushwoosh इवेंट से मैप करते हैं, और वह इवेंट किसी भी दूसरे इवेंट की तरह Journey शुरू कर सकता है।

यह जांचने के लिए कि इवेंट पहुंचा या नहीं, **ऑडियंस** → **उपयोगकर्ता एक्सप्लोरर** खोलें, किसी टेस्ट खिलाड़ी को ढूंढें, और **इवेंट इतिहास** टैब खोलें।


<span id="track-revenue-as-pw_conversion" />

### PW_Conversion के रूप में रेवेन्यू ट्रैक करें

`PW_Conversion` हर खरीदारी की राशि और मुद्रा को एक ही फ़ॉर्मेट में रिकॉर्ड करता है। आपको इसकी ज़रूरत Journey में रेवेन्यू लक्ष्य के लिए और [RFM सेगमेंटेशन](/hi/product/audience-data-and-segmentation/segmentation/rfm-segmentation/) में खर्च के स्तरों के लिए है, जो खिलाड़ियों को इस आधार पर समूहों में बांटता है कि उन्होंने कितनी हाल में, कितनी बार और कितनी खरीदारी की।

iOS SDK जिन खरीदारियों को ट्रैक करता है, वे अपने आप `PW_Conversion` तक पहुंचती हैं, क्योंकि उनमें `__amount` और `__currency` एट्रिब्यूट होते हैं। Android की खरीदारियों के लिए इनमें से एक की ज़रूरत है:

* अगर आपका गेम iOS और Android दोनों पर चलता है, तो अपने डेवलपर्स से कहें कि वे Android खरीदारियों को SDK की खरीदारी मेथड के बजाय `postEvent` के ज़रिए संख्यात्मक `__amount` और `__currency` एट्रिब्यूट वाले `PW_InAppPurchase` के रूप में भेजें। तब एक ही ऑटोमैटिक मैपिंग दोनों प्लैटफ़ॉर्म को कवर करती है।
* अगर आपका गेम सिर्फ़ Android पर चलता है, तो बिना नए कोड के खरीदारियों को खुद मैप करें। एक इवेंट में एक ही मैपिंग रहती है, इसलिए iOS खरीदारियों वाले गेम में मैन्युअल मैपिंग ऑटोमैटिक मैपिंग की जगह ले लेगी।

खरीदारियों को खुद मैप करने के लिए:

1. **ऑडियंस** → **इवेंट** खोलें और कन्वर्ज़न इवेंट सेटिंग्स खोलें।
2. `PW_InAppPurchase` को कन्वर्ज़न इवेंट के रूप में जोड़ें।
3. वे एट्रिब्यूट चुनें जिनमें इसकी **कीमत** और **मुद्रा** होती है।
4. **लागू करें** पर क्लिक करें।

<Aside type="caution">
हर लेन-देन के लिए सिर्फ़ एक तरीका इस्तेमाल करें। अगर आपका कोड उसी खरीदारी के लिए `PW_Conversion` भी भेजता है, तो Pushwoosh दो अलग-अलग कन्वर्ज़न इवेंट रिकॉर्ड करता है।
</Aside>

सेटअप के सभी विकल्पों के लिए, [कन्वर्जन इवेंट्स](/hi/product/audience-data-and-segmentation/events/conversion-events/) देखें।

<span id="track-subscriptions-from-the-stores" />

### स्टोर से सब्सक्रिप्शन ट्रैक करें

अगर आपका गेम सब्सक्रिप्शन बेचता है, जैसे VIP पास या बैटल पास, तो Pushwoosh को App Store और Google Play से उनके स्टेटस में होने वाले बदलाव मिलते हैं। हर बदलाव एक `PW_Subscription*` इवेंट के रूप में आता है, जैसे:

* `PW_SubscriptionStart`: कोई खिलाड़ी सब्सक्राइब करता है।
* `PW_SubscriptionCancel`: कोई खिलाड़ी ऑटो-रिन्यूअल बंद करता है।
* `PW_SubscriptionBillingIssue`: रिन्यूअल का भुगतान विफल होता है।

इन इवेंट का इस्तेमाल Journey शुरू करने के लिए करें, जैसे रद्द किए गए पास की समय-सीमा खत्म होने से पहले रिमाइंडर।

<Aside type="caution" icon="setting" title="डेवलपर सहायता की आवश्यकता है">
गेम को हर खरीदारी के साथ खिलाड़ी का Pushwoosh HWID पास करना होगा:

* iOS पर, `appAccountToken` के रूप में।
* Android पर, `obfuscatedAccountId` के रूप में। गेम SDK के `getSubscriptionAccountId()` का मान पास करता है, जो Application Code और HWID दोनों को मिलाकर बनता है, सिर्फ़ HWID नहीं।

इसके बिना, Pushwoosh को नोटिफ़िकेशन तो मिलता है, लेकिन कोई इवेंट रिकॉर्ड नहीं होता, और पहले खरीदे गए सब्सक्रिप्शन बाद में मैच नहीं किए जा सकते। कृपया [ऐप स्टोर सब्सक्रिप्शन ट्रैकिंग](/hi/product/integrations/app-store-subscription-tracking/) और [Google Play सब्सक्रिप्शन ट्रैकिंग](/hi/product/integrations/google-play-subscription-tracking/) अपने डेवलपर्स के साथ साझा करें।
</Aside>

ये इवेंट सिर्फ़ सब्सक्रिप्शन को कवर करते हैं। एक बार की खरीदारी, जैसे कॉइन पैक, अब भी `PW_InAppPurchase` के रूप में आती है।

<span id="store-player-data-in-tags" />

## खिलाड़ी डेटा को टैग में स्टोर करें

[टैग](/hi/product/audience-data-and-segmentation/user-data-tags/) एक मान है जिसे Pushwoosh खिलाड़ी की प्रोफ़ाइल पर सहेजता है, जैसे खिलाड़ी का लेवल या खिलाड़ी ने भुगतान किया है या नहीं। इवेंट रिकॉर्ड करता है कि क्या हुआ, और टैग मौजूदा स्थिति सहेजता है। टैग आपकी इनमें मदद करते हैं:

* सिर्फ़ किसी खास मान वाले खिलाड़ियों को संदेश भेजना, जैसे सिर्फ़ भुगतान करने वाले खिलाड़ियों को ऑफ़र।
* मान को संदेश के टेक्स्ट में डालना, जैसे खिलाड़ी का लेवल। [Journey बनाएं](/hi/tutorials/industry-playbooks/mobile-games/build-the-journeys/) देखें।

टैग वैकल्पिक हैं। इस प्लेबुक की Journey इवेंट पर और उन डिफ़ॉल्ट टैग पर चलती हैं जिन्हें Pushwoosh खुद सेट करता है, इसलिए शुरुआत में आप अपने खुद के टैग छोड़ सकते हैं। जब आप खिलाड़ियों को समूहों में बांटने के और तरीके चाहें, तब इन्हें जोड़ें। [टैग के आधार पर सेगमेंट](/hi/tutorials/industry-playbooks/mobile-games/build-the-segments/#segments-by-tags) देखें।

### आपके अपने टैग

आपके डेवलपर्स गेम से टैग के मान भेजते हैं, या आप [उन्हें CSV फ़ाइल से इंपोर्ट](/hi/product/audience-data-and-segmentation/user-data-tags/update-tags-via-csv/) कर सकते हैं। जब आपके डेवलपर्स किसी टैग को पहली बार भेजते हैं, तो Pushwoosh उसे User-specific टैग के रूप में बनाता है। अगर आप उसका टाइप खुद चुनना चाहते हैं, तो पहले कंट्रोल पैनल में टैग बनाएं। [टैग के साथ उपयोगकर्ता डेटा प्रबंधित करें](/hi/product/audience-data-and-segmentation/user-data-tags/tags/) देखें।

ये टैग उदाहरण हैं। अपने गेम की शब्दावली के अनुसार इनका नाम बदलें, और अपने खुद के टैग जोड़ें:

| टैग | टाइप | उदाहरण | किसमें काम आता है |
| --- | --- | --- | --- |
| `player_level` | Integer | `12` | संदेशों को प्रोग्रेस के स्तर के अनुसार फ़िल्टर करना |
| `is_paying_user` | Boolean | `true` | भुगतान करने वाले और न करने वाले खिलाड़ियों के संदेश अलग करना |
| `soft_currency_balance` | Integer | `1500` | कम बैलेंस वाले खिलाड़ियों को करेंसी पैक ऑफ़र करना |
| `vip_tier` | String | `gold` | VIP खिलाड़ियों को उनके अपने ऑफ़र और अर्ली एक्सेस देना |
| `favorite_mode` | String | `pvp` | खिलाड़ी के पसंदीदा मोड के लिए लाइव इवेंट की घोषणा करना |

जब आप कंट्रोल पैनल में कोई टैग बनाएं, तो [**उपयोगकर्ता-विशिष्ट**](/hi/product/audience-data-and-segmentation/user-data-tags/tags/#tag-scope-general-vs-user-specific) को चालू रखें, जैसा कि यह डिफ़ॉल्ट रूप से होता है। तब Pushwoosh हर User ID के लिए एक मान रखता है, ताकि मान खिलाड़ी का हो, न कि उसके किसी एक डिवाइस का। **उपयोगकर्ता-विशिष्ट** बंद होने पर, हर डिवाइस अपना अलग मान रखता है। [User ID से खिलाड़ियों की पहचान करें](/hi/tutorials/industry-playbooks/mobile-games/collect-player-data/#identify-players-by-user-id) देखें।

### डिफ़ॉल्ट टैग

Pushwoosh हर डिवाइस के लिए ये [डिफ़ॉल्ट टैग](/hi/product/audience-data-and-segmentation/user-data-tags/tags/#default-tags) सहेजता है, इसलिए आपको इन्हें बनाना नहीं पड़ता:

* **Language**: डिवाइस की भाषा। Pushwoosh इसका इस्तेमाल हर खिलाड़ी को उसकी अपनी भाषा में संदेश भेजने के लिए करता है।
* **Last Application Open**: डिवाइस पर गेम आखिरी बार कब खोला गया। इसका इस्तेमाल उन खिलाड़ियों को ढूंढने के लिए करें जिन्होंने खेलना बंद कर दिया है।
* **Push Alerts Enabled**: डिवाइस की सेटिंग्स में नोटिफ़िकेशन की अनुमति है या नहीं। इसका इस्तेमाल in-app संदेश सिर्फ़ उन खिलाड़ियों को दिखाने के लिए करें जिन्होंने अभी तक अनुमति नहीं दी है।
* **First Install**: डिवाइस पर गेम पहली बार कब इंस्टॉल किया गया। इसका इस्तेमाल इंस्टॉल की वर्षगांठ के लिए करें।
* **Country**: डिवाइस का देश। इसका इस्तेमाल कोई ऑफ़र या लाइव इवेंट की घोषणा सिर्फ़ किसी एक क्षेत्र के खिलाड़ियों को भेजने के लिए करें।