# इवेंट्स कैसे सेट अप करें

**इवेंट्स** का उपयोग ऐप में उपयोगकर्ताओं द्वारा किए गए विभिन्न कार्यों को ट्रैक करने के लिए किया जाता है। इवेंट्स से डेटा ऐतिहासिक रूप से संग्रहीत किया जाता है, जिससे उपयोगकर्ता के व्यवहार की एक टाइमलाइन बनती है। इवेंट के बारे में सभी प्रासंगिक जानकारी को एट्रिब्यूट्स और उनके मानों के एक सेट के रूप में पास किया जा सकता है।

एक बार ठीक से एकत्र हो जाने पर, इस डेटा का उपयोग इसके लिए किया जा सकता है:

* व्यवहार-आधारित संदेशों को ट्रिगर करना;
* उनके व्यवहार के आधार पर कस्टमर जर्नी के भीतर उपयोगकर्ता संचार प्रवाह को संशोधित करना;
* उन उपयोगकर्ताओं के सेगमेंट बनाना जो ऐप में एक विशिष्ट कार्रवाई करते हैं;
* उपयोगकर्ता प्रवाह, उपयोग मेट्रिक्स और अन्य सांख्यिकीय डेटा के बारे में जानकारी प्राप्त करना।

## इवेंट्स के प्रकार

Pushwoosh में दो प्रकार के इवेंट्स होते हैं:
- डिफ़ॉल्ट इवेंट्स
- कस्टम इवेंट्स

### डिफ़ॉल्ट इवेंट्स
डिफ़ॉल्ट इवेंट्स वे बुनियादी इंटरैक्शन हैं जो उपयोगकर्ता ऐप्स या वेबसाइटों में करते हैं, चाहे उनका उद्योग या कार्यक्षमता कुछ भी हो। ये प्रमुख उपयोगकर्ता क्रियाएं ग्राहक संचार का मूल बनती हैं और किसी भी उत्पाद और ग्राहक के लिए ग्राहक जीवनचक्र के किसी भी चरण में इसका लाभ उठाया जा सकता है।
डिफ़ॉल्ट इवेंट्स नवीनतम SDK संस्करणों के साथ बॉक्स से बाहर उपलब्ध हैं और [PW_InAppPurchase](/hi/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase) को छोड़कर, किसी अतिरिक्त सेटअप की आवश्यकता नहीं है।

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

### कस्टम इवेंट्स
डिफ़ॉल्ट इवेंट्स के विपरीत, जो कई ऐप्स और क्षेत्रों में सार्वभौमिक हैं, कस्टम इवेंट्स वे इवेंट्स हैं जिन्हें आप विशेष रूप से अपने ऐप के लिए बनाते हैं। ये इवेंट्स आपकी आवश्यकताओं के लिए अद्वितीय विशिष्ट क्रियाओं को ट्रैक करते हैं, जैसे कि वर्कआउट पूरा करना या सदस्यता बढ़ाना, और आपको यह समझने में मदद करते हैं कि उपयोगकर्ता आपकी विशिष्ट सुविधाओं के साथ कैसे इंटरैक्ट करते हैं।

कस्टम इवेंट्स के लिए आपको उन्हें अपनी तरफ से लागू करने की आवश्यकता होती है।

## कस्टम इवेंट्स का कार्यान्वयन

### 1. इवेंट्स बनाएं और एट्रिब्यूट्स सेट करें

आपके ऐप द्वारा भेजे गए सभी इवेंट्स को पहले Pushwoosh में एट्रिब्यूट्स और उनके प्रकारों के सेट के साथ बनाया जाना चाहिए; अन्यथा, Pushwoosh उन्हें नहीं पहचानेगा।

आप अपनी मार्केटिंग टीम से सीधे [Pushwoosh कंट्रोल पैनल](/hi/product/audience-data-and-segmentation/events#1-create-events-in-pushwoosh-control-panel) में इवेंट्स बनाने के लिए कह सकते हैं या [createEvent](/hi/developer/api-reference/events#createevent) API विधि का उपयोग कर सकते हैं। इसमें इवेंट का नाम और कोई भी संबंधित डेटा जिसे आप ट्रैक करना चाहते हैं, निर्दिष्ट करना शामिल है।

### 2. /postEvent API को कॉल करें

जब आपके ऐप में कोई ऐसा इवेंट होता है जिसे आप ट्रैक करना चाहते हैं, तो इस इवेंट को Pushwoosh पर भेजने के लिए [`/postEvent`](/hi/developer/api-reference/user-centric-api#postevent) API को कॉल करें।

#### iOS

Pushwoosh को एक इवेंट भेजने के लिए [`postEvent`](/hi/developer/api-reference/user-centric-api#postevent) को कॉल करें:

<Tabs>
<TabItem label="Swift">
```swift
PWInAppManager.shared().postEvent("eventName", withAttributes: nil)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:@{}];
```
</TabItem>
</Tabs>

इवेंट के बारे में विवरण जोड़ने के लिए (एट्रिब्यूट्स का संदर्भ), एट्रिब्यूट्स पैरामीटर का इस प्रकार उपयोग करें:

<Tabs>
<TabItem label="Swift">
```swift
let attributes: [String : Any] = ["AttributedString" : "someString",
                                  "AttributeInt" : 42,
                                  "AttributeList" : [123, 456, "someString"],
                                  "AttributeBool" : true,
                                  "AttributeDate" : NSDate()]

PWInAppManager.shared().postEvent("eventName", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
NSDictionary *attributes = @{ 
  @"AttributeString" : @"someString",
  @"AttributeInt" : @(42),
  @"AttributeList" : @[ @(123), @(456), @"someString" ],
  @"AttributeBool" : @YES,
  @"AttributeDate" : [NSDate date] 
};

[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:attributes];
```
</TabItem>
</Tabs>

#### Android

जब आपके Android ऐप में कोई इवेंट होता है, तो इस इवेंट को Pushwoosh पर भेजने के लिए निम्नलिखित निर्देशों का उपयोग करें।

Pushwoosh को एक इवेंट भेजने के लिए [`postEvent`](/hi/developer/api-reference/user-centric-api#postevent) को कॉल करें:

```java
PushwooshInApp.getInstance().postEvent("eventName");
```

इवेंट के बारे में विवरण जोड़ने के लिए (एट्रिब्यूट्स का संदर्भ), एट्रिब्यूट्स पैरामीटर का इस प्रकार उपयोग करें:

```java
TagsBundle attributes = new TagsBundle.Builder()
				.putInt("AttributeInt", 17)
				.putString("AttributeString", "str")
				.putDate("AttributeDate", new Date())
				.putBoolean("AttributeBool", true)
				.putList("AttributeList", Arrays.asList("item1", "item2", "item3"))
				.build();

PushwooshInApp.getInstance().postEvent("eventName", attributes);
```

<Aside type="note">
आप [**इन-ऐप जावास्क्रिप्ट**](/hi/developer/guides/messaging-channels/inapp-with-javascript/) से भी इवेंट्स भेज सकते हैं।
</Aside>