Applications WP : Développement spécifique

J’ai créé un petit ensemble d’applications « Lyrics ». Le concept ? Proposer aux utilisateurs une application centralisant toutes les musiques d’un album musical prédéterminé, en associant à chaque musique (au passage à l’origine streamées depuis Youtube mais finalement parfois intégrées -rippées et compressées- dans les app) les paroles (d’où le nom Lyrics…).

Le succès est finalement au rendez-vous mais c’est sans doute lié à la gratuité des dites applications (à retrouver dans la rubrique Mes Apps). Elles n’ont pas vocation à me rapporter d’argent pour l’instant (quid d’une compilation de ces applications sans publicité à l’avenir … Why not)

Au départ pensé comme un template de base modifiable à volonté et adaptable à tous les albums musicaux imaginables, les différentes Applications produites ont pourtant bien évoluées.
En effet, grande nouveauté ici, les applications sont produites from scratch et non via l’AppStudio ! Oui il était temps…
Les différences entre les applications sont donc issues d’une meilleure appréhension de la techno, et du temps que j’avais à y consacrer. Je manque malheureusement de disponibilité pour approfondir mes connaissances (je pense qu’on est tous dans la même situation).

L’idée de cet article est de vous faire partager des bouts de code utilisés dans ces applications.

Maintenant, quoi vous partager ? Je ne maîtrise pas réellement le C# (relativement handicapant tout de même) mais des bouts de codes trouvés sur le net et adaptés m’ont été bien utiles. C’est donc la preuve que la maîtrise du langage n’est pas indispensable. C’est d’ailleurs la force de la combinaison du XAML et du C#. Le XAML est très facile à appréhender et malgré tout puissant à l’usage.
Alors qu’on se le dise, c’est un genre d’usine à gaz qui fait cracher énormément de lignes mais qui reste très lisible.
J’aimerais aussi préciser que Microsoft met en ligne une quantité phénoménale d’aides en tous genre pour faciliter le développement d’applications. On ne peut vraiment rien leur reprocher à ce niveau là (le coté fanboy qui parle? Oui sans doute, mais il faut tout de même se rendre à l’évidence). On sent un réel soutient et une envie de pousser la plateforme. Alors pourquoi y résister ? Les cours dreamspark, channel 9, la documentation msdn, les forums, MVA…)

Donc voici les bouts de code que j’aimerais partager avec vous ici :

On m’a suggéré, via commentaires sur le Windows Phone Store, de permettre aux utilisateurs de noter l’application directement depuis l’application. Très bonne idée, du coup voici le code qui fait le job :


public void reviewfunction()
{
//For Windows phone 8 app
var settings = IsolatedStorageSettings.ApplicationSettings;

//For windows phone 8.1 app or universal app use the following line of code
//var settings = Windows.Storage.ApplicationData.Current.LocalSettings;

//set the app name
string Appname = NOM_DE_VOTRE_APP;

if (!settings.Contains("review"))
{
settings.Add("review", 1);
settings.Add("rcheck", 0);
}
else
{
int no = Convert.ToInt32(settings["review"]);
int check = Convert.ToInt32(settings["rcheck"]);
no++;
if ((no == 4 || no == 7 || no % 10 == 0) && check == 0)
{
settings["review"] = no;
MessageBoxResult mm = MessageBox.Show("Merci d'utiliser cette application !\nVoulez-vous la noter ?", Appname, MessageBoxButton.OKCancel);
if (mm == MessageBoxResult.OK)
{
settings["rcheck"] = 1;
MarketplaceReviewTask rr = new MarketplaceReviewTask();
rr.Show();
}
}
else
{
settings["review"] = no;
}
}
}

private void NoterApp(object sender, EventArgs e)
{
MarketplaceReviewTask rr = new MarketplaceReviewTask();
rr.Show();
}

Placez ce bout de code dans votre main.cs et appelez la fonction reviewfunction directement depuis la fonction main 🙂

J’ai trouvé ce code sur le net, mais il est très simple à comprendre. Il suffit tout d’abord de se référer à afin de mieux comprendre le pourquoi du comment.

La ligne

if ((no == 4 || no == 7 || no % 10 == 0) && check == 0)

contient les conditions d’apparition de la demande de notation (ici après 4, 7 ouvertures de l’application ou un modulo 10 = à 0 ET le fait que l’utilisateur n’a pas encore noté l’application. Vous pouvez bien entendu modifier ces conditions et les adapter).

Le code ci-après appelle la tache Market Place :

MarketplaceReviewTask rr = new MarketplaceReviewTask();
rr.Show();

Enfin, vous constaterez qu’il est rapide et facile de modifier le message affiché suggérant une notation.

Un autre morceau de code intéressant à utiliser est celui qui permet d’afficher un message uniquement au premier lancement de l’application (oui intéressant pour remercier les utilisateurs, les inviter à apprécier votre application ou autre).
Voici le bout de code qui fait le job :

 

if (!IsolatedStorageSettings.ApplicationSettings.Contains(« first »))
{

MessageBox.Show(« Merci d’avoir téléchargé mon application !\nJ’espère que vous apprécierez les nouveautés.\nAu programme : thème personnalisé, fonction random et lecture hors ligne des musiques !\nN’hésitez pas à télécharger mes autres applications Lyrics.\n\nMatthieu Megaly », « Indila Miniworld Lyrics », MessageBoxButton.OK);
IsolatedStorageSettings.ApplicationSettings[« first »] = true;
IsolatedStorageSettings.ApplicationSettings.Save();
}

 

Rien de plus simple ! Ce morceau de code est à insérer directement dans le main.

Laisser un commentaire