2011-11-28 11 views
6

Sto scrivendo un'applicazione WP7 e ho il codice per chiedere all'utente una revisione del marketplace ogni cinque sessioni con un back up esponenziale, quindi è meno fastidioso. Se l'utente fa clic su "ok" nella mia finestra di messaggio "desideri rivedere", avvio l'attività di revisione e memorizzo che l'utente ha esaminato l'applicazione in modo da non chiedere più.C'è un modo per verificare se un utente ha realmente valutato la tua app?

var marketplaceReviewTask = new MarketplaceReviewTask(); 
marketplaceReviewTask.Show(); 
IsolatedStorageSettings.ApplicationSettings["HasReviewed"] = true; 

Tuttavia, mentre è probabile che hanno fatto di valutare l'applicazione, io sono in realtà non è un 100% sicuro che hanno fatto. C'è un modo per verificare se l'utente corrente ha davvero scritto una recensione? Il MarketplaceReviewTask() ha un valore di ritorno? Non sono stato in grado di trovare nulla che indichi che posso ascoltarlo.

+0

Immagino di no, sembra un'invasione della privacy. Prendi la parola per questo. Grazie –

risposta

3

No, MarketplaceReviewTask non ha eventi che restituiscono un valore. Un caso con la maggior parte delle attività Launcher. Le attività Chooser hanno eventi per raccogliere le informazioni. Come ha detto @willmel nel commento, sembra un'invasione della privacy.

+0

Grazie abhinav e @willmenl per le risposte. – qhawk

0

È possibile creare un controllo che verificherà localmente se l'utente ha valutato l'applicazione prima o no. Date un'occhiata al seguente codice:

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 = "My 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("Thank you for using this application.\nWould you like to give some time to rate and review this application to help us improve", Appname, MessageBoxButton.OKCancel); 
       if (mm == MessageBoxResult.OK) 
       { 
        settings["rcheck"] = 1; 
        MarketplaceReviewTask rr = new MarketplaceReviewTask(); 
        rr.Show(); 
       } 
      } 
      else 
      { 
       settings["review"] = no; 
      } 
     } 
    } 

Spero che questo ti aiuti. Il codice sorgente può essere scaricato da here.

Problemi correlati