# iOS रिच नोटिफिकेशन इंटीग्रेशन

iOS 10 से शुरू होकर, आप पुश नोटिफिकेशन में एक स्थिर या एनिमेटेड इमेज या वीडियो भी अटैच कर सकते हैं। जब उपयोगकर्ता इसे फ़ोर्स-टैप करेगा तो यह सीधे नोटिफिकेशन में प्रदर्शित होगा।

इस कार्यक्षमता को सक्षम करना बहुत सरल है, इसमें बहुत कम कोडिंग शामिल है। चलिए इसे करते हैं!

## 1. नोटिफिकेशन सर्विस एक्सटेंशन बनाना

सबसे पहले एक [Notification Service Extension](https://developer.apple.com/reference/usernotifications/unnotificationserviceextension) बनाएं। यह एक्सटेंशन उस कंटेंट को डाउनलोड करता है जो उपयोगकर्ता को दिखाया जाएगा।

अपने प्रोजेक्ट में नया टारगेट जोड़ें (File -> New -> Target) और _Notification Service Extension_ बनाएं।

<img src="/ios-rich-notification-1.webp" alt="नोटिफिकेशन सर्विस एक्सटेंशन बनाना"/>

<Aside type="caution">
 नोटिफिकेशन सर्विस एक्सटेंशन की एक अलग Apple App ID और प्रोविजनिंग प्रोफाइल होती है!

ध्यान दें कि नोटिफिकेशन एक्सटेंशन का अपना बंडल आईडी (_उदा:_`com.pushwoosh.example.NotificationService`) होता है और साथ ही इसका अपना **Apple App ID** और **प्रोविजनिंग प्रोफाइल** भी होता है जिसे Apple डेवलपर पोर्टल में अलग से सेटअप करना होता है।
</Aside>

## 2. नोटिफिकेशन सर्विस एक्सटेंशन कोड

यह कोड अटैचमेंट डाउनलोड करता है और नोटिफिकेशन कंटेंट हैंडलर को कॉल करता है।\
बस इसे अपने एक्सटेंशन में कॉपी और पेस्ट करें।

<Tabs syncKey="code-example">
<TabItem label="Swift">
```swift
import UserNotifications
import PushwooshFramework

class NotificationService: UNNotificationServiceExtension {

    var contentHandler: ((UNNotificationContent) -> Void)?
    var bestAttemptContent: UNMutableNotificationContent?

    override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler)
    }
}
```
</TabItem>

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

@interface NotificationService : UNNotificationServiceExtension

@end

@implementation NotificationService

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
    [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];
}

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

## 3. गैर-सुरक्षित अटैचमेंट URL की अनुमति देना

नोटिफिकेशन सर्विस एक्सटेंशन एक अलग बाइनरी है और इसकी **अपनी Info.plist** फ़ाइल होती है।\
**एक्सटेंशन की Info.plist** फ़ाइल में **App Transport Security Settings** को **Allow Arbitrary Loads** फ़्लैग के साथ ```true``` पर सेट करके जोड़ें।

**Info.plist**:
```xml
<key>NSAppTransportSecurity</key>
<dict>
	<key>NSAllowsArbitraryLoads</key>
	<true/>
</dict>
```

## 4. एक रिच नोटिफिकेशन भेजना

एक रिच नोटिफिकेशन भेजने के लिए बस फ़ाइल का URL **BANNER URL** फ़ील्ड में निर्दिष्ट करें।

<img src="/ios-rich-notification-2.webp" alt=""/>

वूश! नोटिफिकेशन को फ़ोर्स-टैप करें और आपका काम हो गया!

<video src="/ios-rich-notification-3.webm" title="उदाहरण" autoplay loop muted playsinline />

<Aside type="tip">
[अपने iOS रिच पुश नोटिफिकेशन में वीडियो को फ़ोर्स टच के साथ ऑटोप्ले कैसे करें](/hi/developer/pushwoosh-sdk/ios-sdk/customizing-ios-sdk/#autoplay-a-video-sent-in-a-rich-notification-with-force-touch) सीखें।
</Aside>

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

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