Documentation

Démarrage rapide .NET MAUI

WordsAreFlowing.Sdk.Maui ajoute l'invite d'évaluation native à la tête .NET : Google Play In-App Review sur Android (API 24 et plus) et StoreKit sur iOS (15 et plus). Tout ce qui figure sur la page .NET — déclencheurs, décisions, notes — fonctionne de la même façon ici.

1. Installer

dotnet add package WordsAreFlowing.Sdk.Maui

Les paquets sont sur nuget.org. Ce paquet apporte WordsAreFlowing.Sdk et WordsAreFlowing.Sdk.Core.

2. Inscrire

Dans MauiProgram.cs, appelez AddWordsAreFlowingMaui. Ses options sont un WordsAreFlowingMauiOptions, qui a toutes les options de la tête .NET, plus une.

using WordsAreFlowing.Sdk.Maui;

builder.Services.AddWordsAreFlowingMaui(o =>
{
    o.ApiKey = "waf_live_…";
    o.AppVersion = AppInfo.VersionString;
#if DEBUG
    o.UseFakeReviewManager = true;   // versions de débogage Android seulement — ne jamais livrer
#endif
});

Ce qu'il met en place pour vous :

Le stockage et l'invite sont des singletons, donc un point d'accroche du cycle de vie natif et un composant Blazor partagent les mêmes compteurs. Comme pour la tête .NET, une inscription que vous faites avant cet appel l'emporte.

3. La demande et les déclencheurs

Dans une application Blazor Hybrid, utilisez le composant FeedbackAsk et TrackAsync exactement comme sur la page .NET. Le paquet n'a pas de contrôle XAML ; une application seulement XAML écoute DecisionMade et dessine sa propre demande, puis appelle SubmitFeedbackAsync ou DismissAskAsync.

var decision = await loop.TrackAsync("trip_finished");
// StorePromptFired veut dire que la plateforme a été sollicitée. Si une fenêtre est apparue, elle ne le dit pas.

Android : Google Play In-App Review

L'invite vient de la bibliothèque com.google.android.play:review de Google. Play décide si une boîte de dialogue apparaît vraiment et ne le signale jamais, donc StorePromptFired veut dire « Play a été sollicité », pas « la personne l'a vue ».

Le vrai gestionnaire d'évaluation ne réussit que pour une application qui a été installée depuis une piste Play. Une version de débogage qui n'est sur aucune piste ne peut pas réussir, donc UseFakeReviewManager passe au FakeReviewManager de Play, qui répond succès et n'affiche rien. Servez-vous-en pour exercer le chemin en débogage. Ne le livrez jamais à true : vos utilisateurs ne verraient jamais d'invite. Pour voir la vraie boîte de dialogue, installez depuis une piste de test interne.

iOS : StoreKit

Le SDK appelle AppStore.RequestReview sur iOS 16 et plus, et SKStoreReviewController.RequestReview sur iOS 15. Apple affiche la fenêtre au plus trois fois en 365 jours, toujours dans les versions de développement, et jamais dans TestFlight — une version TestFlight ne peut pas prouver la fenêtre. StoreKit ne dit pas non plus si elle est apparue.

Plafonds

Par défaut, le SDK demande l'invite d'évaluation au plus deux fois sur toute période glissante de 365 jours sur Android, et trois fois sur iOS. Le maxPerYear d'une règle (de 1 à 3) remplace ce défaut pour son déclencheur, l'option MaxStorePromptsPerYear ne peut qu'abaisser le plafond, et rien ne dépasse jamais trois. Voyez la référence des règles.