अपने Windows डेस्कटॉप एप्लिकेशन में Mellowtel को एकीकृत करें ताकि उपयोगकर्ता अपने अप्रयुक्त इंटरनेट बैंडविड्थ को पुरस्कार या प्रीमियम सुविधाओं के बदले साझा कर सकें।Documentation Index
Fetch the complete documentation index at: https://docs.mellowtel.com/llms.txt
Use this file to discover all available pages before exploring further.
आवश्यकताएँ
- Mellowtel खाता और डैशबोर्ड से इंटीग्रेशन आईडी। प्रत्येक डेस्कटॉप ऐप को अपनी अनूठी इंटीग्रेशन आईडी मिलती है।
- .NET 10 SDK
- Windows 10 या Windows 11
- एक .NET डेस्कटॉप एप्लिकेशन (कंसोल, WPF, या Windows Forms)
क्या आप इसे अपने ऐप में जोड़ने से पहले एक पूर्ण, वास्तविक दुनिया का एकीकरण देखना चाहते हैं? mellowtel-pomodoro-windows WPF नमूना पूर्ण प्रवाह को दिखाता है: सहमति संवाद, सेटिंग्स टॉगल, और पृष्ठभूमि जीवनचक्र।
स्थापना
Windows के लिए Mellowtel NuGet परMellowtel.Win के रूप में उपलब्ध है।
1. पैकेज स्थापित करें
अपने प्रोजेक्ट डायरेक्टरी से:.csproj में PackageReference जोड़ें:
2. अपने कोड में जोड़ें
YOUR_INTEGRATION_ID को अपने Mellowtel डैशबोर्ड से इंटीग्रेशन आईडी से बदलें, और PluginId को अपने ऐप के लिए एक स्थिर पहचानकर्ता पर सेट करें। ShowConsentDialog() आपकी अपनी UI है जो केवल तभी true लौटाती है जब उपयोगकर्ता स्पष्ट रूप से सहमति देता है। नीचे उपयोगकर्ता सहमति देखें।कॉन्फ़िगरेशन विकल्प
MellowtelOptions आपको कुछ चीजें ट्यून करने देता है:
| प्रॉपर्टी | प्रकार | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
PluginId | string | "mellowtel-win" | आपके ऐप के लिए स्थिर पहचानकर्ता। इसे कुछ अनूठा सेट करें। |
MaxDailyRate | int | बिल्ट-इन डिफ़ॉल्ट | अधिकतम अनुरोध जो SDK प्रति दिन संभालेगा। |
DisableLogs | bool | true | विकास के दौरान SDK लॉग्स को सक्षम करने के लिए false पर सेट करें। |
एप्लिकेशन प्रकार द्वारा उदाहरण
- कंसोल ऐप
- WPF ऐप
- Windows Forms
कनेक्शन स्थिति का अवलोकन
Mellowtel उदाहरण एक ConnectionStateChanged इवेंट को उजागर करता है जो हर बार Mellowtel के बैकएंड से कनेक्ट या डिस्कनेक्ट होने पर फायर होता है। ऊपर दिए गए WPF और Windows Forms उदाहरण इसे एक स्थिति संकेतक चलाने के लिए सब्सक्राइब करते हैं। पेलोड एक bool है जहां true का मतलब कनेक्टेड और false का मतलब डिस्कनेक्टेड होता है।
यह इवेंट एक बैकग्राउंड थ्रेड पर फायर होता है, इसलिए UI फ्रेमवर्क जो थ्रेड एफिनिटी को लागू करते हैं, उन्हें UI थ्रेड पर अपडेट्स को मार्शल करना चाहिए। WPF में Dispatcher.Invoke का उपयोग करें, और Windows Forms में Control.Invoke का उपयोग करें (दोनों ऊपर दिए गए उदाहरणों में दिखाए गए हैं)।
WPF
async void OnClosing पैटर्न के बारे में। ऊपर दिया गया WPF उदाहरण protected override async void OnClosing का उपयोग करता है, जो सबसे सरल रूप है लेकिन इसमें एक सूक्ष्म समस्या है: base.OnClosing(e) को सिंक्रोनस रूप से कॉल किया जाता है जबकि StopAsync() अभी भी प्रतीक्षा कर रहा है, इसलिए विंडो क्लीनअप समाप्त होने से पहले बंद हो सकती है। अधिकांश ऐप्स के लिए यह ठीक है क्योंकि प्रक्रिया तुरंत बाद में समाप्त हो जाती है। यदि आपको एक गारंटीकृत ग्रेसफुल शटडाउन की आवश्यकता है (उदाहरण के लिए, टेलीमेट्री को फ्लश करने के लिए), तो Microsoft-दस्तावेज़ित डिफरल पैटर्न का पालन करें जहां आप e.Cancel = true सेट करते हैं, अपने असिंक्रोनस कार्य का await करते हैं, और फिर विंडो को स्पष्ट रूप से बंद करते हैं।उपयोगकर्ता सहमति
आपकी सहमति संवाद में क्या शामिल होना चाहिए
समझाएं कि Mellowtel क्या करता है
सरल भाषा का उपयोग करें। उदाहरण: “यह ऐप आपके अप्रयुक्त इंटरनेट बैंडविड्थ को साझा करने के लिए Mellowtel का उपयोग करता है। इससे आपको [लाभ/विशेषता] प्राप्त होती है। आप किसी भी समय सेटिंग्स में बाहर निकल सकते हैं।”
नीतियों से लिंक करें
सेवा की शर्तें और गोपनीयता नीति के लिंक शामिल करें।
उपयोगकर्ताओं को सेटिंग्स में अपनी सहमति बदलने दें
GetOptInDetails() ऑप्ट-इन स्थिति के साथ-साथ ऑप्ट-इन और ऑप्ट-आउट टाइमस्टैम्प लौटाता है:
समस्या निवारण
"पैकेज नहीं मिला" त्रुटि
"पैकेज नहीं मिला" त्रुटि
- सुनिश्चित करें कि आपका प्रोजेक्ट .NET 10 या बाद के संस्करण को लक्षित करता है।
Mellowtel.Winकोnet10.0की आवश्यकता है। - NuGet कैश को साफ़ करें और पुनर्स्थापित करें:
"InvalidOperationException: उपयोगकर्ता ने सहमति नहीं दी है"
"InvalidOperationException: उपयोगकर्ता ने सहमति नहीं दी है"
StartAsync() को स्पष्ट सहमति की आवश्यकता है। अपने सहमति संवाद के सकारात्मक परिणाम लौटाने के बाद OptIn() कॉल करें, फिर StartAsync() कॉल करें। बाद के लॉन्च पर चुपचाप फिर से शुरू करने के लिए, इसके बजाय StartIfOptedInAsync() का उपयोग करें, जो तब कोई ऑपरेशन नहीं करता जब उपयोगकर्ता ने सहमति नहीं दी हो।समाप्त करने का अनुमानित समय: 10-15 मिनट। यदि आपको सहायता की आवश्यकता है या आपके पास प्रतिक्रिया है, तो हमसे info@mellowtel.com पर संपर्क करें या हमारे Discord समुदाय में शामिल हों।