# बैज सेट अप करना

<Aside type="note">
Cordova या React Native प्लगइन्स के लिए बैज सेट करने के लिए, कृपया संबंधित गाइड देखें:

* [Cordova के लिए बैज](/hi/developer/pushwoosh-sdk/cross-platform-frameworks/cordova/setting-up-badges-for-cordova)
* [React Native के लिए बैज](/hi/developer/pushwoosh-sdk/cross-platform-frameworks/react-native/setting-up-badges-for-react-native)
</Aside>

Pushwoosh iOS SDK के संस्करण 6.4.0 से, पुश नोटिफिकेशन के माध्यम से बैज को प्रबंधित और सेट करने की प्रक्रिया बदल गई है।

यदि आप पहले अपने एप्लिकेशन में प्राप्त पुश नोटिफिकेशन की संख्या को इंगित करने के लिए बैज नंबर का उपयोग कर रहे थे, तो आपको iOS SDK के नए संस्करण (6.4.0 या बाद के) में माइग्रेट करना होगा। पुराने संस्करण 2022 की दूसरी तिमाही के अंत तक समर्थित रहेंगे।

## बैज का मान क्या निर्धारित करता है

बैज हमेशा पुश से ही आता है। कोई भी Pushwoosh फ़ीचर इसे अपने आप सेट या क्लियर नहीं करता है। [`/createMessage`](/hi/developer/api-reference/messages-api/#createmessage) अनुरोध में `"ios_badges"` भेजना (या कंट्रोल पैनल में **badges** फ़ील्ड) iOS पेलोड में `aps.badge` (निरपेक्ष मान) और `aps.pw_badge` (सापेक्ष डेल्टा) दोनों को सेट करता है। Android `pw_badges` में समकक्ष मान रखता है और इसे समर्थित लॉन्चर पर लागू करने के लिए [`com.pushwoosh:pushwoosh-badge`](/hi/developer/pushwoosh-sdk/android-sdk/customizing-android-sdk-50/#using-badge-number-on-android) मॉड्यूल की आवश्यकता होती है। [Message Inbox](/hi/developer/guides/message-inbox/) में पुश को सहेजना कभी भी बैज को सेट या बदलता नहीं है। ये दोनों एक ही पुश के स्वतंत्र प्रभाव हैं।

<Aside type="caution">
सापेक्ष **+1**/**-1** बैज मान केवल Notification Service Extension द्वारा लागू किया जाता है, और केवल तभी जब यह नीचे वर्णित अनुसार एक मेल खाने वाले App Group के साथ स्थापित और कॉन्फ़िगर किया गया हो। उस सेटअप के बिना, OS पेलोड से निरपेक्ष `aps.badge` मान को वैसे ही लागू करता है। कोई ऑटो-इंक्रीमेंट नहीं है।
</Aside>

## बैज कैसे सेट अप करें

बैज सेट अप करने के लिए, नीचे दिए गए चरणों का पालन करें:

1. Notification Service Extension जोड़ें (File -> New -> Target...)

<img src="/shared-7.webp" alt=""/>

2. "Notification Service Extension" चुनें

<img src="/ios-push-notifications-setting-up-badges-1.webp" alt="Notification Service Extension जोड़ना"/>

3. उत्पन्न `NotificationService` क्लास को `PushwooshNotificationServiceExtension` के सबक्लास से बदलें। Pushwoosh आपके लिए बैज गिनती, डिलीवरी इवेंट, अटैचमेंट डाउनलोड और टाइमआउट फॉलबैक को संभालता है:

<Tabs>
<TabItem label="Swift">
```swift
import PushwooshFramework

class NotificationService: PushwooshNotificationServiceExtension {}
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
#import <PushwooshFramework/PushwooshFramework.h>

@interface NotificationService : PushwooshNotificationServiceExtension
@end

@implementation NotificationService
@end
```
</TabItem>
</Tabs>

4. App Groups क्षमता को **दोनों** लक्ष्यों - मुख्य ऐप और Notification Service Extension - में जोड़ें और प्रत्येक के लिए एक ही App Group का उपयोग करें।

5. App Group ID को **मुख्य ऐप** के `info.plist` में जोड़ें:

```
<key>PW_APP_GROUPS_NAME</key>
<string>group.com.example.demoapp_example</string>
```

<img src="/shared-12.webp" alt="Info.plist"/>

एक्सटेंशन इस मान को होस्ट ऐप से प्राप्त करता है, इसलिए आपको इसे एक्सटेंशन के `info.plist` में दोहराने की आवश्यकता नहीं है - इसे केवल होस्ट मान को ओवरराइड करने के लिए वहां जोड़ें।

यदि आप **info.plist** फ़ाइल का उपयोग नहीं करना चाहते हैं, तो अपनी NotificationServiceExtension क्लास में `pushwooshAppGroupsName` को ओवरराइड करके कोड में App Group प्रदान करें:

<Tabs>
<TabItem label="Swift">
```swift
override func pushwooshAppGroupsName() -> String? {
    "group.com.example.demoapp_example"
}
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
- (NSString *)pushwooshAppGroupsName {
    return @"group.com.example.demoapp_example";
}
```
</TabItem>
</Tabs>

<LinkCard title="उदाहरण" href="https://github.com/Pushwoosh/pushwoosh-quickstart-ios/tree/main/badges/badges" />


## बैज के साथ एक पुश नोटिफिकेशन भेजें

यदि आप Pushwoosh कंट्रोल पैनल से बैज के साथ पुश नोटिफिकेशन भेजना चाहते हैं, तो बस नीचे दी गई तस्वीर में दिखाए अनुसार **badges** टेक्स्ट फ़ील्ड में वांछित बैज मान जोड़ें:

<img src="/ios-push-notifications-setting-up-badges-5.webp" alt="बैज मान"/>

<Aside type="note">
आप बैज को सही ढंग से भेजने के लिए निम्नलिखित मान प्रारूपों का उपयोग कर सकते हैं: **+1, -1 या 5।** यदि आप बैज मान बढ़ाना चाहते हैं, तो **"+"** चिह्न का उपयोग करें**,** यदि आप बैज घटाना चाहते हैं, तो **"-"** चिह्न का उपयोग करें**।** आप बिना किसी चिह्न के उदा. **5** का उपयोग करके सटीक संख्या भी सेट कर सकते हैं।
</Aside>

## अपनी प्रतिक्रिया हमारे साथ साझा करें

आपकी प्रतिक्रिया हमें एक बेहतर अनुभव बनाने में मदद करती है, इसलिए यदि आपको SDK एकीकरण प्रक्रिया के दौरान कोई समस्या आती है तो हम आपसे सुनना चाहेंगे। यदि आपको कोई कठिनाई आती है, तो कृपया [इस फ़ॉर्म के माध्यम से](https://docs.google.com/forms/d/e/1FAIpQLSd\_0b8jwn-V\_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform) हमारे साथ अपने विचार साझा करने में संकोच न करें।