App Store Review Button

后端 未结 6 2100
无人及你
无人及你 2020-12-12 17:56

How can we make the \"please leave us a review in the app store\" functional PopUp in an iOS app?

相关标签:
6条回答
  • 2020-12-12 18:04

    I personally used this one. I think it works really well. http://arashpayan.com/blog/2009/09/07/presenting-appirater/

    0 讨论(0)
  • 2020-12-12 18:04

    It's quite easy. Create an action rateGame and change the id 409954448 to your app id.

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

    This will launch the AppStore app and take the user directly to the page where s/he can rate and review your app. If you want this to happen after, say, 20 times the user loads your app, then you can add an alert in viewDidLoad of your main page:

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

    This assumes you've set up the launchCount in the 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
    
    }
    
    0 讨论(0)
  • 2020-12-12 18:07

    Well, here's one.

    These are usually done as simple UIAlertViews with three buttons (Review Now, Later, Never) with preferences stored in NSUserDefaults to indicate whether the user has already done so, whether they never wish to be asked again, etc.

    0 讨论(0)
  • 2020-12-12 18:19

    There is code missing if you want user to review your app after 20 times. The missing part is

    - (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"]]; 
    
        }
    }
    
    0 讨论(0)
  • 2020-12-12 18:23

    Since iOS 10.3 iOS provides a feature for this.

    import StoreKit
    SKStoreReviewController.requestReview()
    

    A complete class how to request Appstore Reviews can be found on my GitHubAccount.

    Cheers!

    0 讨论(0)
  • 2020-12-12 18:29

    iRate is also another good library to present "rate this app" dialog boxes.

    0 讨论(0)
提交回复
热议问题