> ## Documentation Index
> Fetch the complete documentation index at: https://www.mellowtel.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ऑप्ट इन / ऑप्ट आउट

> उपयोगकर्ताओं को किसी भी बैंडविड्थ को साझा करने से पहले स्पष्ट रूप से सहमति देनी होगी, और वे किसी भी समय सहमति को रद्द कर सकते हैं

## यह क्या है

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

## यह क्यों महत्वपूर्ण है

यह उपयोगकर्ता की बैंडविड्थ है। स्पष्ट, रद्द करने योग्य सहमति के बिना कुछ भी अनैतिक है और स्टोर से हटाने का आधार है। SDK को इस तरह से डिज़ाइन किया गया है कि *आसान* रास्ता भी *अनुपालन* वाला रास्ता है। यदि आप अनुशंसित कार्यान्वयन का पालन करते हैं, तो आप गलती से बिना सहमति के सक्रिय होने वाला संस्करण नहीं भेज सकते।

## यह कैसे काम करता है

पहली बार इंस्टॉल पर (और किसी भी अपडेट पर जो नए Mellowtel को पेश करता है) आपको उपयोगकर्ता को एक गैर-खारिज करने योग्य अस्वीकरण दिखाना होगा जो बताता है कि Mellowtel क्या करता है, फिर उनकी पसंद को कैप्चर करें। इसके बाद, एक सेटिंग्स लिंक आपके UI में कहीं स्पष्ट रूप से पहुंचने योग्य होना चाहिए ताकि वे अपना मन बदल सकें।

<Frame caption="अस्वीकरण उदाहरण">
  <img src="https://mintcdn.com/mellowtel/-NaMUO-H7VMwBlS7/images/mellowtel_disclaimer.png?fit=max&auto=format&n=-NaMUO-H7VMwBlS7&q=85&s=ab77574d21e0e4879d5f55977eab0223" width="1058" height="898" data-path="images/mellowtel_disclaimer.png" />
</Frame>

आपके पास दो कार्यान्वयन विकल्प हैं:

1. **अनुशंसित:** `generateAndOpenOptInLink()` के साथ पूर्व-निर्मित Mellowtel ऑप्ट-इन पृष्ठ खोलें। एक विधि कॉल, पूरी तरह से अनुपालन, ऑप्ट-इन रूपांतरण को अधिकतम करता है।
2. **कस्टम UI:** अपनी सहमति सतह बनाएं और `optIn()` / `optOut()` को स्वयं कॉल करें।

## API सतह

| विधि                         | लौटाता है          | इसका उपयोग करें                                                           |
| ---------------------------- | ------------------ | ------------------------------------------------------------------------- |
| `generateAndOpenOptInLink()` | `Promise<void>`    | होस्टेड ऑप्ट-इन पृष्ठ खोलें (अनुशंसित रास्ता)।                            |
| `getOptInStatus()`           | `Promise<boolean>` | जांचें कि क्या उपयोगकर्ता पहले ही ऑप्ट इन कर चुका है।                     |
| `optIn()`                    | `Promise<void>`    | अपनी खुद की UI से सहमति रिकॉर्ड करें।                                     |
| `optOut()`                   | `Promise<void>`    | अपनी खुद की UI से सहमति रद्द करें।                                        |
| `start()`                    | `Promise<void>`    | ऑप्ट-इन के बाद अनुरोधों की सेवा शुरू करें।                                |
| `generateSettingsLink()`     | `Promise<string>`  | होस्टेड सेटिंग्स पृष्ठ का URL ताकि उपयोगकर्ता बाद में अपनी पसंद बदल सकें। |

सभी विधियाँ आपके एक्सटेंशन के किसी भी भाग से सुलभ हैं: पॉपअप, सामग्री स्क्रिप्ट, या बैकग्राउंड स्क्रिप्ट।

## अनुशंसित कार्यान्वयन

पूर्ण एकीकरण वॉकथ्रू प्लेटफ़ॉर्म क्विकस्टार्ट्स में मौजूद है। वे दिखाते हैं कि SDK को कहां रखना है, इसे इंस्टॉल/अपडेट जीवनचक्र में कैसे वायर करना है, और इसे कैसे परीक्षण करना है:

* [ब्राउज़र प्लगइन्स क्विकस्टार्ट](/browser-plugins/quickstart)
* [डेस्कटॉप ऐप क्विकस्टार्ट](/desktop-app/quickstart)
* [वेबसाइट क्विकस्टार्ट](/website/quickstart)
* [मोबाइल ऐप क्विकस्टार्ट](/mobile-app/quickstart)

संक्षेप में, `new Mellowtel(...)` और `initBackground()` के बाद, अपने इंस्टॉल/अपडेट हैंडलर से `generateAndOpenOptInLink()` कॉल करें। बस इतना ही।

## कस्टम UI

यदि आप सहमति सतह पर पूर्ण नियंत्रण चाहते हैं, तो अपनी खुद की UI में उपयोगकर्ता की पसंद को कैप्चर करें और इसे SDK को अग्रेषित करें:

```javascript theme={null}
// उपयोगकर्ता ने सहमति दी
await mellowtel.optIn();
await mellowtel.start();

// उपयोगकर्ता ने मना किया या बाद में सहमति रद्द कर दी
await mellowtel.optOut();

// स्थिति जांचें (जैसे कि टॉगल रेंडर करने के लिए)
const hasOptedIn = await mellowtel.getOptInStatus();
```

जो भी UI आप बनाते हैं, उसे यह करना चाहिए:

1. पहली इंस्टॉल पर गैर-खारिज करने योग्य होना चाहिए।
2. उपयोगकर्ता के सक्रिय रूप से सहमत होने तक ऑप्ट *आउट* पर डिफ़ॉल्ट होना चाहिए।
3. आपके उत्पाद में कहीं स्पष्ट रूप से पुनः खोलने योग्य होना चाहिए ताकि उपयोगकर्ता अपनी पसंद बदल सकें।

## सेटिंग्स लिंक

उपयोगकर्ताओं के पास हमेशा अपनी सेटिंग्स बदलने का एक आसान तरीका होना चाहिए। होस्टेड सेटिंग्स पृष्ठ के URL को प्राप्त करने के लिए `generateSettingsLink()` का उपयोग करें और इसे कहीं स्थायी रूप से रखें: आपका पॉपअप, एक विकल्प पृष्ठ, एक खाता स्क्रीन।

```javascript theme={null}
const settingsUrl = await mellowtel.generateSettingsLink();
```

## मौजूदा उपयोगकर्ताओं को Mellowtel की घोषणा करना

यदि आप किसी एक्सटेंशन में Mellowtel जोड़ रहे हैं जिसमें पहले से उपयोगकर्ता हैं, तो आपको सहमति मांगने से पहले उन्हें बताना होगा कि क्या बदला है। हम एक [कॉपी-पेस्ट घोषणा टेम्पलेट](/concepts/update-announcement) प्रदान करते हैं जिसे आप अनुकूलित कर सकते हैं।

## संबंधित

* [गोपनीयता](/concepts/privacy): उपयोगकर्ता वास्तव में क्या साझा करने के लिए सहमत हो रहे हैं।
* [रेट लिमिटिंग](/concepts/rate-limiting): कैसे SDK उन उपयोगकर्ताओं की सुरक्षा करता है जो ऑप्ट इन करते हैं।
