Інтегруйте Mellowtel у ваш Windows desktop додаток, щоб дозволити користувачам ділитися невикористаною пропускною здатністю інтернету в обмін на винагороди або преміум-функції.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 з панелі управління. Кожен desktop додаток отримує свій унікальний Integration ID.
- .NET 10 SDK
- Windows 10 або Windows 11
- .NET desktop додаток (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 під час розробки. |
Приклади за типом додатку
- Консольний додаток
- WPF додаток
- Windows Forms
Спостереження за станом підключення
ЕкземплярMellowtel надає подію ConnectionStateChanged, яка спрацьовує щоразу, коли підключення WebSocket до бекенду 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.