Integreer Mellowtel in je Windows desktop applicatie om gebruikers in staat te stellen hun ongebruikte internetbandbreedte te delen in ruil voor beloningen of premium functies.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.
Vereisten
- Een Mellowtel-account en Integratie-ID van het dashboard. Elke desktop app krijgt zijn eigen unieke Integratie-ID.
- .NET 10 SDK
- Windows 10 of Windows 11
- Een .NET desktop applicatie (Console, WPF of Windows Forms)
Wil je een complete, real-world integratie zien voordat je dit in je eigen app verwerkt? De mellowtel-pomodoro-windows WPF-sample toont de volledige flow van begin tot eind: instemmingsdialoog, instellingen toggle, en achtergrond levenscyclus.
Installatie
Mellowtel voor Windows wordt geleverd via NuGet alsMellowtel.Win.
1. Installeer het pakket
Vanuit je projectdirectory:PackageReference toe aan je .csproj:
2. Voeg toe aan je code
Vervang
YOUR_INTEGRATION_ID door de Integratie-ID van je Mellowtel-dashboard, en stel PluginId in op een stabiele identificatie voor je app. ShowConsentDialog() is je eigen UI die alleen true retourneert wanneer de gebruiker expliciet akkoord gaat. Zie Gebruikersinstemming hieronder.Configuratie-opties
MellowtelOptions laat je een paar dingen afstemmen:
| Eigenschap | Type | Standaard | Beschrijving |
|---|---|---|---|
PluginId | string | "mellowtel-win" | Stabiele identificatie voor je app. Stel dit in op iets unieks. |
MaxDailyRate | int | Ingebouwde standaard | Maximaal aantal verzoeken dat de SDK per dag zal verwerken. |
DisableLogs | bool | true | Stel in op false om SDK-logs in te schakelen tijdens ontwikkeling. |
Voorbeelden per applicatietype
- Console App
- WPF App
- Windows Forms
Verbindingstoestand observeren
DeMellowtel instantie biedt een ConnectionStateChanged evenement dat wordt geactiveerd wanneer de onderliggende WebSocket naar Mellowtel’s backend verbindt of verbreekt. De WPF en Windows Forms voorbeelden hierboven abonneren zich hierop om een statusindicator aan te sturen. De payload is een bool waarbij true betekent verbonden en false betekent niet verbonden.
Het evenement wordt op een achtergrondthread geactiveerd, dus UI-frameworks die thread-affiniteit afdwingen moeten updates naar de UI-thread marshallen. In WPF gebruik je Dispatcher.Invoke, en in Windows Forms gebruik je Control.Invoke (beide getoond in de voorbeelden hierboven).
Over het WPF
async void OnClosing patroon. Het WPF voorbeeld hierboven gebruikt protected override async void OnClosing, wat de eenvoudigste vorm is maar een subtiel probleem heeft: base.OnClosing(e) wordt synchroon aangeroepen terwijl StopAsync() nog aan het wachten is, zodat het venster kan sluiten voordat de opruiming is voltooid. Voor de meeste apps is dit prima omdat het proces onmiddellijk daarna afsluit. Als je een gegarandeerde nette afsluiting nodig hebt (bijvoorbeeld om telemetrie te flushen), volg dan het door Microsoft gedocumenteerde deferral patroon waarbij je e.Cancel = true instelt, je async werk afwacht, en dan het venster expliciet sluit.Gebruikersinstemming
Wat je instemmingsdialoog moet bevatten
Leg uit wat Mellowtel doet
Gebruik eenvoudige taal. Voorbeeld: “Deze app gebruikt Mellowtel om je ongebruikte internetbandbreedte te delen. Dit stelt je in staat om te [voordeel/functie]. Je kunt op elk moment afmelden in de instellingen.”
Link naar beleid
Voeg links toe naar de Servicevoorwaarden en Privacybeleid.
Laat gebruikers hun instemming wijzigen in de instellingen
GetOptInDetails() de instemmingsstatus samen met de instemmings- en afmeldingsdatums:
Problemen oplossen
"Pakket niet gevonden" fout
"Pakket niet gevonden" fout
- Zorg ervoor dat je project .NET 10 of later target.
Mellowtel.Winvereistnet10.0. - Wis de NuGet cache en herstel:
"InvalidOperationException: Gebruiker heeft niet ingestemd"
"InvalidOperationException: Gebruiker heeft niet ingestemd"
StartAsync() vereist expliciete instemming. Roep OptIn() aan nadat je instemmingsdialoog een positief resultaat retourneert, en roep dan StartAsync() aan. Voor stille hervatting bij volgende starts, gebruik StartIfOptedInAsync() in plaats daarvan, wat een no-op is wanneer de gebruiker niet heeft ingestemd.Geschatte tijd om te voltooien: 10-15 minuten. Als je hulp nodig hebt of feedback hebt, neem contact met ons op via info@mellowtel.com of sluit je aan bij onze Discord community.