---
title: WKWebView
description: 'WKWebView का उपयोग करके iOS पर कार्ड नॉट प्रेजेंट सत्यापन कैप्चर एक्सपीरियंस को कैसे इम्प्लीमेंट करें: व्यू खोलना, इसे कब बंद करना है यह कंट्रोल करना, और आवश्यक अनुमतियां।'
canonical: https://developer.unico.io/hi/dual-api/developers/regional-solutions/card-not-present-verification/integration/controlling-the-experience/mobile/ios/wkwebview
locale: hi
generated_by: markdown-export
---

iOS उपयोग परिदृश्य के लिए, WKWebView का उपयोग करना अनुशंसित तरीकों में से एक है।

लेनदेन बनाने और लेनदेन का लिंक प्राप्त करने के बाद, निम्नलिखित इम्प्लीमेंटेशन की सलाह दी जाती है:

- अपने सामान्य फ्लो में (जिसमें कार्ड नॉट प्रेजेंट सत्यापन शामिल है), आप API के माध्यम से जनरेट किए गए लिंक के साथ WKWebView खोलेंगे;
- आप अपने ऐप की आवश्यकता के अनुसार इस ओपनिंग को कस्टमाइज़ कर सकते हैं;
- आप निगरानी करेंगे कि URL बदला है या नहीं (`redirectUrl` में) और फिर WKWebView को बंद करेंगे।

एक WKWebView खोलना काफी सरल है:

```swift
import UIKit
import WebKit
import SafariServices

var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    self.view.backgroundColor = .white
}

@IBAction func open(_ sender: Any) {
    createWKWebViewFull()
}

func createWKWebViewFull() {
    webView = WKWebView(frame: self.view.bounds, configuration: getWKWebViewConfiguration())
    webView.navigationDelegate = self
    view.addSubview(webView)
    self.loadUrl()
}

func loadUrl() {
    if let url = URL(string:"<URL_TO_LOAD>") {
        webView.load(URLRequest(url: url))
        webView.allowsBackForwardNavigationGestures = true
    }
}

private func getWKWebViewConfiguration() -> WKWebViewConfiguration {
    let config = WKWebViewConfiguration()
    config.allowsInlineMediaPlayback = true
    config.mediaTypesRequiringUserActionForPlayback = []

    return config
}
```

WKWebView को कब बंद करना है यह कंट्रोल करने के लिए, यह इस तरह किया जा सकता है:

```swift
func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
    if let currentURL = webView.url {
        print("URL changed to: \(currentURL.absoluteString)")
        if currentURL.absoluteString == "<URL_TO_OBSERVER>" {
            closeWebView()
        }
    }
}

@objc func closeWebView() {
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
        self.webView.removeFromSuperview()
    }
}
```

:::note
सही ढंग से कार्य करने के लिए कुछ अनुमतियां आवश्यक हैं, जैसे कि:
- कैमरा
- जियोलोकेशन
:::

अधिक जानने के लिए, हम आधिकारिक [WKWebView दस्तावेज़](https://developer.apple.com/documentation/webkit/wkwebview) पढ़ने की सलाह देते हैं।