2011-06-04 18 views

Respuesta

38

Es bastante fácil. Crea una acción rateGame y cambia la identificación 409954448 a la ID de tu aplicación.

- (IBAction)rateGame { 
    [[UIApplication sharedApplication] 
    openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=409954448"]];   
} 

Esto iniciará la aplicación AppStore y llevará al usuario directamente a la página en la que s/él puede calificar y comentar sobre su aplicación. Si desea que esto ocurra después de, digamos, 20 veces el usuario carga la aplicación, a continuación, se puede añadir una alerta en viewDidLoad de su página principal:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    NSInteger launchCount = [prefs integerForKey:@"launchCount"]; 
    if (launchCount == 20) { 
     launchCount++; 
     [prefs setInteger:launchCount forKey:@"launchCount"]; 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"LIKE MY APP?" 
                 message:@"Please rate it on the App Store!" 
                 delegate:self 
               cancelButtonTitle:@"NO THANKS" 
               otherButtonTitles:@"RATE NOW", nil]; 
     [alert show]; 
     [alert release];     
    } 

} 

Esto supone que haya configurado el launchCount en el AppDelegate :

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    NSInteger launchCount = [prefs integerForKey:@"launchCount"]; 
    launchCount++; 
    [prefs setInteger:launchCount forKey:@"launchCount"]; 

// YOUR CODE HERE 

} 
+3

+1 pero sin todas las tapas por favor. :) –

+0

@WTP, creo que se ve más legible para los títulos de los botones, pero puede devolverlo si lo desea. No me importan las ediciones, especialmente las que mejoran. – PengOne

+0

+1, pero seguramente también necesita ajustar el nombre del desarrollador en su método rateGame? Y tal vez el código de país también? (Me pregunto) – Luke

2

Bueno, here's one.

Estos son generalmente se hace como UIAlertViews simples con tres botones (Revisión ahora, más tarde, Nunca) con las preferencias almacenadas en NSUserDefaults para indicar si el usuario ya lo ha hecho, si nunca desear ser preguntado otra vez, etc.

2

iRate es también otra buena biblioteca para presentar los cuadros de diálogo de "calificar esta aplicación".

+0

iRate es una mala idea ya que no es localizable. –

+0

Ok, gracias a todos, voy a probar todo este fin de semana! :) –

+0

¡Hecho con AppiRater, funciona como un encanto, muy simple también! ¡Gracias a todos! :)) –

4

Falta código para que el usuario revise su aplicación después de 20 veces. La parte faltante es

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 0) 
    { 
     // user hit dismiss so don't do anything 
    } 
    else if (buttonIndex == 1) //review the app 
    { 

     [[UIApplication sharedApplication] 
    openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=409954448"]]; 

    } 
} 
Cuestiones relacionadas