2011-09-21 3 views
7

Mi chiedevo se è possibile portare il mio utente direttamente nella sezione di revisione della mia app sull'app store dalla mia app?Apertura di App Store alla tariffa dall'interno della mia app

Non voglio che questo si apra in Safari, voglio che apra direttamente l'app App Store sul dispositivo e li porti alla pagina di revisione.

Ho provato quanto segue;

[[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"]]; 

Tuttavia, clic che sembra aprire l'applicazione iTunes e non App Store e poi basta dà un errore che dice "Impossibile connettersi al negozio. Impossibile stabilire una connessione protetta".

Qualche idea?

risposta

18

Come si vede nella 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

Che ha funzionato perfettamente. Grazie infinite. –

+0

Non utilizzare - [NSString stringWithFormat:] quando si aggiunge solo una stringa. - [NSString stringByAppendingString:] farà lo stesso, ma molto più velocemente ed efficacemente (nessun buffer, ecc.). –

+0

È possibile saltare la parte "type = ..." in modo che l'url indichi ".../viewContentsUserReviews? Id = ...". Questo funziona per iOS 7.1.2 e 8.0.2 (testato su dispositivi reali). –

4

Si desidera un collegamento itms:// e here's un luogo pratico per generarne uno. Assicurati di cambiare il protocollo da http(s): a itms: (o itms-apps: che sembra essere il nuovo modo).

+0

Ciao, ho provato anche questo. Spiacente, avrei dovuto menzionare.Inoltre non funziona –

+0

Assicurati di cambiare il protocollo da 'http (s):' a 'itms:' –

1

Si può semplicemente utilizzare la classe iRate, ha funzionato bene per me.

22

Sembra esserci un problema da menzionare in iOS 7.0 come descritto here. Puoi vedere come Appirator ha affrontato il problema nella loro fonte here.

In sostanza, è necessario gestire 7.0 gli utenti in modo diverso, come così: (la prima linea è la stessa come la soluzione accettata, le stringhe allegate sono solo sulla stessa linea.)

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

Aggiornamento 19 agosto 2015

Gli URL sopra riportati non funzionano per iOS 8.0. ristorazione codice aggiornato per tutte le versioni di iOS potrebbe essere:

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

Fonte: Appirator


Aggiornamento 14 novembre 2017

da iOS 10.3, siamo in grado di chiedere una revisione utilizzando il SKStoreReviewController, che in realtà apre un piccolo popover pulito nella tua app piuttosto che allontanarsi dalla tua app:

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

Risposta perfetta, perché aggiornata :) –

1

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