Intégrez Mellowtel dans votre application de bureau Windows pour permettre aux utilisateurs de partager leur bande passante internet inutilisée en échange de récompenses ou de fonctionnalités premium.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.
Prérequis
- Un compte Mellowtel et un ID d’intégration depuis le tableau de bord. Chaque application de bureau obtient son propre ID d’intégration unique.
- .NET 10 SDK
- Windows 10 ou Windows 11
- Une application de bureau .NET (Console, WPF, ou Windows Forms)
Vous souhaitez voir une intégration complète et réelle avant de l’intégrer dans votre propre application ? L’exemple WPF mellowtel-pomodoro-windows montre le flux complet de bout en bout : dialogue de consentement, bascule des paramètres, et cycle de vie en arrière-plan.
Installation
Mellowtel pour Windows est disponible sur NuGet sous le nomMellowtel.Win.
1. Installer le package
Depuis votre répertoire de projet :PackageReference à votre .csproj :
2. Ajouter à votre code
Remplacez
YOUR_INTEGRATION_ID par l’ID d’intégration de votre tableau de bord Mellowtel, et définissez PluginId sur un identifiant stable pour votre application. ShowConsentDialog() est votre propre interface utilisateur qui retourne true uniquement lorsque l’utilisateur accepte explicitement. Voir Consentement de l’utilisateur ci-dessous.Options de configuration
MellowtelOptions vous permet d’ajuster quelques paramètres :
| Propriété | Type | Par défaut | Description |
|---|---|---|---|
PluginId | string | "mellowtel-win" | Identifiant stable pour votre application. Définissez-le sur quelque chose d’unique. |
MaxDailyRate | int | Valeur par défaut intégrée | Nombre maximal de requêtes que le SDK traitera par jour. |
DisableLogs | bool | true | Définissez sur false pour activer les journaux du SDK pendant le développement. |
Exemples par type d’application
- Application Console
- Application WPF
- Windows Forms
Observer l’état de la connexion
L’instanceMellowtel expose un événement ConnectionStateChanged qui se déclenche chaque fois que le WebSocket sous-jacent vers le backend de Mellowtel se connecte ou se déconnecte. Les exemples WPF et Windows Forms ci-dessus s’y abonnent pour piloter un indicateur de statut. La charge utile est un bool où true signifie connecté et false signifie déconnecté.
L’événement se déclenche sur un thread d’arrière-plan, donc les frameworks d’interface utilisateur qui imposent l’affinité de thread doivent transférer les mises à jour sur le thread de l’interface utilisateur. Dans WPF, utilisez Dispatcher.Invoke, et dans Windows Forms, utilisez Control.Invoke (tous deux montrés dans les exemples ci-dessus).
À propos du modèle WPF
async void OnClosing. L’exemple WPF ci-dessus utilise protected override async void OnClosing, qui est la forme la plus simple mais présente un problème subtil : base.OnClosing(e) est appelé de manière synchrone pendant que StopAsync() est toujours en attente, donc la fenêtre peut se fermer avant que le nettoyage ne soit terminé. Pour la plupart des applications, cela est acceptable car le processus se termine immédiatement après. Si vous avez besoin d’un arrêt gracieux garanti (par exemple, pour vider la télémétrie), suivez le modèle de report documenté par Microsoft où vous définissez e.Cancel = true, await votre travail asynchrone, puis fermez la fenêtre explicitement.Consentement de l’utilisateur
Ce que votre dialogue de consentement doit inclure
Expliquez ce que fait Mellowtel
Utilisez un langage simple. Exemple : “Cette application utilise Mellowtel pour partager votre bande passante internet inutilisée. Cela vous permet de [bénéfice/fonctionnalité]. Vous pouvez vous désinscrire à tout moment dans les paramètres.”
Lien vers les politiques
Incluez des liens vers les Conditions d’utilisation et la Politique de confidentialité.
Permettre aux utilisateurs de modifier leur consentement dans les paramètres
GetOptInDetails() retourne le statut d’opt-in ainsi que les horodatages d’opt-in et d’opt-out :
Dépannage
Erreur "Package not found"
Erreur "Package not found"
- Assurez-vous que votre projet cible .NET 10 ou une version ultérieure.
Mellowtel.Winnécessitenet10.0. - Videz le cache NuGet et restaurez :
Erreur "InvalidOperationException: User has not opted in"
Erreur "InvalidOperationException: User has not opted in"
StartAsync() nécessite un consentement explicite. Appelez OptIn() après que votre dialogue de consentement retourne un résultat positif, puis appelez StartAsync(). Pour une reprise silencieuse lors des lancements suivants, utilisez StartIfOptedInAsync() à la place, ce qui est une opération nulle lorsque l’utilisateur n’a pas donné son accord.Temps estimé pour compléter : 10-15 minutes. Si vous avez besoin d’aide ou souhaitez donner votre avis, contactez-nous à info@mellowtel.com ou rejoignez notre communauté Discord.