2011-09-21 19 views
7

Me preguntaba si es posible llevar a mi usuario directamente a la sección de revisión de mi aplicación en la tienda de aplicaciones desde mi aplicación.Abriendo App Store para calificar desde mi aplicación

No quiero que esto se abra en Safari, quiero que abra directamente la aplicación App Store en el dispositivo y los lleve a la página de revisión.

He intentado lo siguiente;

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=437688779&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software"]]; 

Sin embargo, de clic que parece abrir la aplicación iTunes y no tienda de aplicaciones y luego simplemente da un error que dice "No se puede conectar a la tienda. No se pudo establecer una conexión segura".

¿Alguna idea?

Respuesta

18

Como se ve en this blog:

- (IBAction)gotoReviews:(id)sender 
{ 
    NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa"; 
    str = [NSString stringWithFormat:@"%@/wa/viewContentsUserReviews?", str]; 
    str = [NSString stringWithFormat:@"%@type=Purple+Software&id=", str]; 

    // Here is the app id from itunesconnect 
    str = [NSString stringWithFormat:@"%@yourAppIDHere", str]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 
} 
+0

Eso funcionó perfectamente. Muchas gracias ender. –

+0

No utilice - [NSString stringWithFormat:] cuando solo está agregando cadena. - [NSString stringByAppendingString:] hará lo mismo, pero mucho más rápido y eficientemente (sin búferes, etc.). –

+0

Puede omitir la parte "type = ..." para que la URL muestre ".../viewContentsUserReviews? Id = ...". Esto funciona para iOS 7.1.2 y 8.0.2 (probado en dispositivos reales). –

4

Desea un enlace itms://, y here's es un lugar útil para generar uno. Asegúrese de cambiar el protocolo de http(s): a itms: (o itms-apps: que parece ser la nueva forma).

+0

Hola, he tratado de que también. Lo siento, debería haber mencionado.Tampoco funciona –

+0

Asegúrese de cambiar el protocolo de 'http (s):' a 'itms:' –

1

Usted sólo puede utilizar la clase iRate, funcionaba bien para mí.

22

Parece haber un problema que vale la pena mencionar en iOS 7.0 como se describe en here. Puede ver cómo Appirator trató el problema en su fuente here.

Básicamente, usted necesita para manejar 7,0 usuarios de manera diferente, como así: (la primera línea es la misma que la solución aceptada, las cadenas adjuntas son sólo en la misma línea.)

NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=yourAppIDHere"; 
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { 
    str = @"itms-apps://itunes.apple.com/app/idyourAppIDHere"; 
} 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 

Actualización 19 de agosto de 2015

Las URL anteriores no funcionan para iOS 8.0. código de catering actualizado para todas las versiones de iOS sería:

NSString *str; 
float ver = [[[UIDevice currentDevice] systemVersion] floatValue]; 
if (ver >= 7.0 && ver < 7.1) { 
    str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appID]; 
} else if (ver >= 8.0) { 
    str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software",appID]; 
} else { 
    str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",appID]; 
} 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 

Fuente: Appirator


Actualización 14 de noviembre de 2017

De IOS 10.3, se puede solicitar una revisión con el SKStoreReviewController, que realmente abre un pequeño popover en tu aplicación en lugar de alejarse de tu aplicación:

if (@available(iOS 10.3, *)) { 
    [SKStoreReviewController requestReview]; 
    return; 
} 
+0

Respuesta perfecta, porque se actualizó :) –

1

Utilice esta: - @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@";

Cuestiones relacionadas