دمج Mellowtel في تطبيق سطح المكتب Windows تاعك باش تسمح للمستخدمين يشاركو عرض النطاق الترددي تاع الإنترنت اللي ما يستعملوش مقابل مكافآت أو ميزات بريميوم.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 و Integration ID من لوحة التحكم. كل تطبيق سطح مكتب يحصل على Integration ID خاص به.
- .NET 10 SDK
- Windows 10 أو Windows 11
- تطبيق سطح مكتب .NET (Console، WPF، أو Windows Forms)
حاب تشوف تكامل كامل وواقعي قبل ما تربطو في التطبيق تاعك؟ النموذج mellowtel-pomodoro-windows في WPF يوريك التدفق الكامل من البداية للنهاية: حوار الموافقة، تبديل الإعدادات، ودورة الحياة في الخلفية.
التثبيت
Mellowtel لـ Windows متوفر على NuGet كـMellowtel.Win.
1. تثبيت الحزمة
من مجلد المشروع تاعك:PackageReference إلى .csproj تاعك:
2. أضف إلى الكود تاعك
عوض
YOUR_INTEGRATION_ID بـ Integration ID من لوحة التحكم تاع Mellowtel، وحط PluginId كمعرف ثابت للتطبيق تاعك. ShowConsentDialog() هي واجهة المستخدم الخاصة بك اللي ترجع true فقط لما المستخدم يوافق بوضوح. شوف موافقة المستخدم تحت.خيارات التكوين
MellowtelOptions يسمح لك تضبط بعض الأمور:
| الخاصية | النوع | الافتراضي | الوصف |
|---|---|---|---|
PluginId | string | "mellowtel-win" | معرف ثابت للتطبيق تاعك. حط حاجة فريدة. |
MaxDailyRate | int | الافتراضي المدمج | الحد الأقصى للطلبات اللي الـ SDK رح يتعامل معاها في اليوم. |
DisableLogs | bool | true | حط false باش تفعل سجلات الـ SDK أثناء التطوير. |
أمثلة حسب نوع التطبيق
- تطبيق Console
- تطبيق WPF
- Windows Forms
مراقبة حالة الاتصال
الـMellowtel instance تعرض حدث ConnectionStateChanged اللي يتنفذ كلما يتصل أو ينقطع الاتصال بـ WebSocket تاع Mellowtel. الأمثلة في WPF و Windows Forms اللي فوق تشترك فيه باش تحرك مؤشر الحالة. الحمولة هي bool وين true يعني متصل و false يعني غير متصل.
الحدث يتنفذ في خيط خلفي، لذا الإطارات اللي تفرض تقارب الخيوط لازم تنقل التحديثات إلى خيط واجهة المستخدم. في 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() ترجع حالة الاشتراك مع تواريخ الاشتراك والإلغاء:
استكشاف الأخطاء وإصلاحها
خطأ "Package not found"
خطأ "Package not found"
- تأكد أن المشروع تاعك يستهدف .NET 10 أو أحدث.
Mellowtel.Winيتطلبnet10.0. - امسح ذاكرة التخزين المؤقت لـ NuGet واسترجع:
خطأ "InvalidOperationException: User has not opted in"
خطأ "InvalidOperationException: User has not opted in"
StartAsync() يتطلب موافقة صريحة. استدعي OptIn() بعد ما حوار الموافقة تاعك يرجع نتيجة إيجابية، ثم استدعي StartAsync(). لاستئناف صامت في عمليات التشغيل اللاحقة، استعمل StartIfOptedInAsync() بدلاً من ذلك، اللي ما يعمل والو لما المستخدم ما وافقش.الوقت المقدر للإكمال: 10-15 دقيقة. إذا كنت تحتاج مساعدة أو عندك ملاحظات، اتصل بنا على info@mellowtel.com أو انضم إلى مجتمع Discord تاعنا.