Rate and review within an app possible in iOS7?

4.6k Views Asked by At

I have heard that iOS7 allows users to rate and review an app within that app, avoiding the need to redirect to appstore and leaving the app. So far, I have only found the difference in the URL links for the rate feature in itunes as mentioned in ITunes review URL and iOS 7 (ask user to rate our app) AppStore show a blank page, but not how to stay inside the app.

I'm using Appirater in my app and integrated the new url and app goes to appstore for rate/review.

Can anybody tell me if this new feature is there and how to implement it?

2

There are 2 best solutions below

3
On BEST ANSWER

I think you're looking for the SKProductViewController.

You can present a SKProductViewController with the following code:

NSDictionary *parameters = [NSDictionary dictionaryWithObject:@"YOURITUNESAPPID" forKey:SKStoreProductParameterITunesItemIdentifier];

SKProductViewController *productViewController = [[SKProductViewController alloc] init];
[self presentViewController:productViewController animated:YES completion:nil]];

This assumes that you're in a UIViewController subclass and know your iTunes application identifier. This will display a model viewController displaying the AppStore entry for that application.

Users are able leave ratings from that viewController. Haven't been able to write a review though.

1
On

I had the same issue using Appirater, I have partially solved the proplem in this way

define the template for iOS7:

NSString *templateReviewURLiOS7 = @"itms-apps://itunes.apple.com/app/idAPP_ID";

make this chnges on the rateApp method

+ (void)rateApp {

    .
    .
    .

// this URL Scheme should work in the iOS 6 App Store in addition to older stores
NSString *reviewURL = [templateReviewURL stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%@", _appId]];

   // iOS 7 needs a different templateReviewURL @see https://github.com/arashpayan/appirater/issues/131
   if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
       reviewURL = [templateReviewURLiOS7 stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%@", _appId]];
   }

    .
    .
    .
}

this will open the rate page in iOS6 as was in the past, and the app page in iOS7