2011-11-28 19 views
6

Escribo una aplicación WP7 y tengo un código para pedir al usuario una revisión del mercado cada cinco ejecuciones con un retroceso exponencial por lo que es menos molesto. Si el usuario hace clic en "Aceptar" en el cuadro de mensaje "¿Desea revisar?", Inicio la tarea de revisión y guardo que el usuario ha revisado la aplicación, por lo que no vuelvo a preguntar.¿Hay alguna manera de verificar si un usuario realmente calificó su aplicación?

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

Sin embargo, mientras que es probable lo hicieron valore la aplicación, estoy realmente no es un 100% seguro de que lo hicieron. ¿Hay alguna forma de comprobar si el usuario actual realmente ha escrito una opinión? ¿MarketplaceReviewTask() tiene un valor de retorno? No he podido encontrar nada que indique que puedo escucharlo.

+0

Me imagino que no, parece una invasión de la privacidad. Solo toma su palabra para eso. Gracias –

Respuesta

3

No, MarketplaceReviewTask no tiene ningún evento que devuelva un valor. Un caso con la mayoría de las tareas Launcher. Chooser tareas tienen eventos para recopilar la información. Como dijo @willmel en el comentario, parece una invasión de privacidad.

+0

Gracias abhinav y @willmenl por las respuestas. – qhawk

0

Puede crear un cheque que verificará localmente si el usuario ha calificado la aplicación anteriormente o no. Eche un vistazo al siguiente código:

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; 
      } 
     } 
    } 

Espero que esto te ayude. El código fuente se puede descargar desde here.

Cuestiones relacionadas