Кнопка обзора App Store - PullRequest
       1

Кнопка обзора App Store

12 голосов
/ 04 июня 2011

Как мы можем сделать всплывающую подсказку «, пожалуйста, оставьте нам отзыв в магазине приложений » в приложении для iOS?

Ответы [ 6 ]

38 голосов
/ 04 июня 2011

Это довольно просто. Создайте действие rateGame и измените идентификатор 409954448 на идентификатор вашего приложения.

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

Это запустит приложение AppStore и перенаправит пользователя прямо на страницу, где он может оценить и просмотреть ваше приложение. Если вы хотите, чтобы это произошло после, скажем, 20 раз, когда пользователь загружает ваше приложение, вы можете добавить предупреждение на viewDidLoad вашей главной страницы:

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

}

Предполагается, что вы настроили launchCount в 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

}
7 голосов
/ 04 июня 2011

Я лично использовал это. Я думаю, что это работает очень хорошо. http://arashpayan.com/blog/2009/09/07/presenting-appirater/

4 голосов
/ 13 марта 2012

Код отсутствует, если вы хотите, чтобы пользователь просматривал ваше приложение через 20 раз. Недостающая часть -

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

    }
}
2 голосов
/ 04 июня 2011

iRate - еще одна хорошая библиотека для представления диалоговых окон «Оцените это приложение».

2 голосов
/ 04 июня 2011

Ну, вот один.

Они обычно выполняются как простые UIAlertViews с тремя кнопками («Просмотр сейчас, позже, никогда») с настройками, сохраненными в NSUserDefaults, чтобы указать, что пользователь ужеесли они никогда не захотят, чтобы их снова спросили и т. д.

0 голосов
/ 22 октября 2018

Так как iOS 10.3 iOS предоставляет функцию для этого.

import StoreKit
SKStoreReviewController.requestReview()

Полный класс как запросить отзывы в Appstore можно найти на моем аккаунте GitHub.

Приветствия!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...