Ссылка на приложение для “rate / review this app”

Я хочу включить функцию «Оценить / рассмотреть это приложение» в своем приложении.

Есть ли способ связать непосредственно с экраном в магазине приложений, где они просматривают приложение? Таким образом, клиенту не нужно переходить по ссылке основного приложения. Благодарю.

EDIT: начать щедрость от этого из-за отсутствия ответа. Просто чтобы убедиться, что это кристально ясно: я знаю, что я могу ссылаться на страницу своего приложения в магазине и просить пользователя щелкнуть оттуда на экране «Просмотрите это приложение». Вопрос в том, можно ли напрямую подключиться к экрану «просмотреть это приложение», чтобы они не могли щелкнуть что-либо.

Для версий ниже iOS 7 используйте старый:

itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=YOUR_APP_ID 

Это работает на моем конце (Xcode 5 – iOS 7 – Устройство !):

 itms-apps://itunes.apple.com/app/idYOUR_APP_ID 

Для iOS 8 или новее:

 itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software 

Фрагмент кода (вы можете просто скопировать и вставить его):

 #define YOUR_APP_STORE_ID 545174222 //Change this one to your ID static NSString *const iOS7AppStoreURLFormat = @"itms-apps://itunes.apple.com/app/id%d"; static NSString *const iOSAppStoreURLFormat = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d"; [NSURL URLWithString:[NSString stringWithFormat:([[UIDevice currentDevice].systemVersion floatValue] >= 7.0f)? iOS7AppStoreURLFormat: iOSAppStoreURLFormat, YOUR_APP_STORE_ID]]; // Would contain the right link 

Обновить:

Swift 4.0, Xcode 9.1

Протестировано на реальном устройстве iOS 11.x (гарантия на работу)

 let appID = "Your App ID on App Store" let urlStr = "itms-apps://itunes.apple.com/app/id\(appID)" // (Option 1) Open App Page let urlStr = "itms-apps://itunes.apple.com/app/viewContentsUserReviews?id=\(appID)" // (Option 2) Open App Review Tab if let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) { if #available(iOS 10.0, *) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } else { UIApplication.shared.openURL(url) } } 

openURL (_ 🙂 устарел от iOS 10.

Все, что написано выше, является правильным. Просто образец, который нужно вставить в приложение и изменить {YOUR APP ID} на фактический идентификатор приложения, взятый из iTunesconnect, чтобы отобразить страницу Review. Обратите внимание, как было сказано выше, что он не работает на Simulator – просто устройство.
– Исправление из-за изменений в ios 7.

 NSString * appId = @"{YOUR APP ID}"; NSString * theUrl = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software",appId]; if ([[UIDevice currentDevice].systemVersion integerValue] > 6) theUrl = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appId]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:theUrl]]; 

EDIT: решение iOS 11

Это решение моего первоначального ответа (см. Ниже). При использовании iOS 11 будет работать следующий формат ссылки:

 https://itunes.apple.com/us/app/appName/idAPP_ID?mt=8&action=write-review 

Просто замените APP_ID вашим конкретным идентификатором приложения. Ключом к созданию ссылки является код страны . В приведенной выше ссылке используется код пользователя, но на самом деле не имеет значения, какой код используется. Пользователь будет автоматически перенаправлен в свой магазин.

Обновление iOS 11:

Кажется, что ни одно из решений, представленных в других ответах, напрямую не попадает на страницу обзора на iOS 11.

Проблема, скорее всего, в том, что на странице приложения в приложении App Store для iOS 11 больше нет вкладки « Обзор». Вместо этого отзывы теперь находятся непосредственно под описанием и скриншотами. Конечно, все равно можно было бы напрямую связаться с этим разделом (например, с каким-то якорем), но, похоже, это не поддерживается / не предназначено Apple.

Использование одной из следующих ссылок больше не работает. Они по-прежнему приносят пользователей в App Store, но только на пустую страницу :

 itms-apps://itunes.apple.com/app/idYOUR_APP_ID?action=write-review itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software 

Все, кто по-прежнему использует эти ссылки, должны обновлять свои приложения как можно скорее , потому что обращение пользователей к пустой странице в App Store скорее всего не так, как вы планировали.

Ссылки, которые не относятся к странице «Обзор», но к странице «Приложение», все же работают, например,

 itms-apps://itunes.apple.com/app/idYOUR_APP_ID (same as above, but without write-review parameter) 

Таким образом, вы все равно можете получить пользователей на странице магазина приложений, но не напрямую в разделе обзора. Теперь пользователям необходимо прокрутить страницу до раздела обзора, чтобы оставить отзыв.

Без вопроса это «большое и удивительное преимущество для пользовательского опыта» и поможет разработчикам привлекать пользователей к тому, чтобы оставлять высококачественные обзоры, не раздражая их ». Молодец Apple …

Все вышеприведенные подходы правильны, но в настоящее время использование SKStoreProductViewController ведет к улучшению работы пользователей. Чтобы использовать его, вам необходимо сделать следующее:

  • внедрить протокол SKStoreProductViewControllerDelegate в делегате приложения
  • добавить необходимый метод productViewControllerDidFinish :

     - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController { [viewController dismissViewControllerAnimated: YES completion: nil]; } 
  • Проверьте, доступен ли class SKStoreProductViewController, либо он отображается, либо переключается в App Store:

     extern NSString* cAppleID; // must be defined somewhere... if ([SKStoreProductViewController class] != nil) { SKStoreProductViewController* skpvc = [[SKStoreProductViewController new] autorelease]; skpvc.delegate = self; NSDictionary* dict = [NSDictionary dictionaryWithObject: cAppleID forKey: SKStoreProductParameterITunesItemIdentifier]; [skpvc loadProductWithParameters: dict completionBlock: nil]; [[self _viewController] presentViewController: skpvc animated: YES completion: nil]; } else { static NSString* const iOS7AppStoreURLFormat = @"itms-apps://itunes.apple.com/app/id%@"; static NSString* const iOSAppStoreURLFormat = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@"; NSString* url = [[NSString alloc] initWithFormat: ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0f) ? iOS7AppStoreURLFormat : iOSAppStoreURLFormat, cAppleID]; [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]; } 

Версия Swift 2

 func jumpToAppStore(appId: String) { let url = "itms-apps://itunes.apple.com/app/id\(appId)" UIApplication.sharedApplication().openURL(NSURL(string: url)!) } 

Все предыдущие ссылки не более прямые на вкладку «Отзывы»,

Эта ссылка будет напрямую направлена ​​на «Обзор вкладки»:

https://itunes.apple.com/app/viewContentsUserReviews?id=AppID

или

ITMS-приложения:? //itunes.apple.com/app/viewContentsUserReviews ID = AppID

В iOS7 изменился URL-адрес, который переключает приложение ur в App Store для скорости и обзора:

 itms-apps://itunes.apple.com/app/idAPP_ID 

Где APP_ID необходимо заменить на свой идентификатор приложения.

Для iOS 6 и старше URL в предыдущих ответах работает нормально.

Источник: Appirater

Наслаждайтесь кодированием .. !!

Решение для iOS 11

Короткие URL-адреса в App Store неправильно открывают интерфейс «написать отзыв» в новом магазине приложений iOS 11. Например, это не работает:

https://itunes.apple.com/app/id333903271?mt=8&action=write-review

Обходным путем является включение двухбуквенного кода страны и имени приложения в URL-адрес, например:

 https://itunes.apple.com/ us / app / twitter / id333903271? mt = 8 & action = write-review

или

 itms-apps: //itunes.apple.com/ us / app / twitter / id333903271? mt = 8 & action = write-review

Вы можете получить полный URL-адрес своего приложения отсюда: https://linkmaker.itunes.apple.com/

Это успешно открывает интерфейс «написать отзыв» в магазине приложений iOS 11.

Изменить: Как упоминает @Theo ниже, код страны не обязательно должен быть локализован, а имя приложения в URL-адресе не нужно обновлять, если имя приложения изменяется.

Надеюсь, Apple скоро исправит этот короткий URL. См. Rdar: // 34498138

Использование этого URL было идеальным решением для меня. Он берет пользователя непосредственно в разделе « Write a Review section . Кредиты @ Джозефу Даффи. ДОЛЖЕН ПОПРОБОВАТЬ

URL = itms-apps://itunes.apple.com/gb/app/idYOUR_APP_ID_HERE?action=write-review&mt=8 Замените YOUR_APP_ID_HERE вашим AppId

Для примера кода попробуйте следующее:

Swift 3, Xcode 8.2.1:

  let openAppStoreForRating = "itms-apps://itunes.apple.com/gb/app/id1136613532?action=write-review&mt=8" if UIApplication.shared.canOpenURL(URL(string: openAppStoreForRating)!) { UIApplication.shared.openURL(URL(string: openAppStoreForRating)!) } else { showAlert(title: "Cannot open AppStore",message: "Please select our app from the AppStore and write a review for us. Thanks!!") } 

Здесь showAlert – это настраиваемая функция для UIAlertController .

Начиная с iOS 10.3 вы можете прикрепить элемент action=write-review к своим URL-адресам https://itunes.apple.com/... и https://appsto.re/... На iOS 10.3 и выше он откроется. Write a review автоматически, в то время как на более низких версиях iOS вернется на страницу App Store приложения.

Обновление iOS 11 : используйте Linkmaker от Apple: linkmaker.itunes.apple.com и append &action=write-review , кажется, самый безопасный способ.

iOS 4 отбросил функцию «Rate on Delete».

Пока что единственным способом оценить приложение является iTunes.

Изменить: ссылки могут быть сгенерированы для ваших приложений через iTunes Link Maker. На этом сайте есть учебник.

 NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/us/app/kidsworld/id906660185?ls=1&mt=8"]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]]; 

Swift 2, которая фактически выводит вас на страницу обзора вашего приложения как на iOS 8, так и на iOS 9:

 let appId = "YOUR_APP_ID" let url = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=\(appId)" UIApplication.sharedApplication().openURL(NSURL(string: url)!) 

Для> = iOS8: (Упрощенный ответ @ EliBud).

 #define APP_STORE_ID 1108885113 - (void)rateApp{ static NSString *const iOSAppStoreURLFormat = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d"; NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:iOSAppStoreURLFormat, APP_STORE_ID]]; if ([[UIApplication sharedApplication] canOpenURL:appStoreURL]) { [[UIApplication sharedApplication] openURL:appStoreURL]; } } 

У меня такая же проблема в iOS 10, и я могу открыть секцию тарифа iTunes:

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=7

В основном он изменил последний url var на “mt = 7”

ура

Это новый способ сделать это в iOS 11+ (новый магазин приложений). Вы можете открыть диалог «Написать обзор» напрямую.

Пример iOS 11:

 itms-apps://itunes.apple.com/us/app/id1137397744?action=write-review 

или

 https://itunes.apple.com/us/app/id1137397744?action=write-review 

Заметки:

  • Необходимо указать код страны ( /us/ ). Это может быть любой код страны, не имеет значения.
  • Измените идентификатор приложения ( 1137397744 ) на свой идентификатор приложения (получите его с URL-адреса iTunes).
  • Если вы хотите поддерживать более старую версию iOS (pre 11), вам понадобится привязка к условной логике только в том случае, если версия ОС отлична или равна 11.

Ссылка на любое приложение в AppStore через SKStoreProductViewController

С помощью SKStoreProductViewController вы можете легко связать свое приложение с магазином приложений. Но я немного потрудился, поэтому решил показать здесь весь процесс и необходимый код. Этот метод также гарантирует, что всегда будет использоваться правильный магазин (важно для локализованных приложений).

Чтобы представить экран продукта любого приложения магазина приложений в вашем приложении с помощью любого из ваших приложений ViewControllers, выполните следующие действия:

  1. Добавьте StoreFit.framework в свои настройки проекта (Target, Build Phases -> Link Binary With Libraries
  2. Импортировать StoreKit в class ViewController
  3. Сделайте ваш ViewController соответствующим протоколу SKStoreProductViewControllerDelegate
  4. Создайте метод представления StoreView с помощью экрана продукта, который вы хотите
  5. Отключите StoreView

Но самое главное: это – по какой-то причине – не работает в симуляторе – вам нужно строить и устанавливать на реальном устройстве с подключением к Интернету.

  1. Добавление StorKit.framework в ваш проект: Найдите это в настройках вашего проекта

SWIFT 4: Это код в соответствии с описанными выше шагами:

  // ---------------------------------------------------------------------------------------- // 2. Import StoreKit into the ViewController class // ---------------------------------------------------------------------------------------- import StoreKit // ... // within your ViewController // ---------------------------------------------------------------------------------------- // 4. Create the method to present the StoreView with the product screen you want // ---------------------------------------------------------------------------------------- func showStore() { // Define parameter for product (here with ID-Number) let parameter : Dictionary = [SKStoreProductParameterITunesItemIdentifier : NSNumber(value: 742562928)] // Create a SKStoreProduktViewController instance let storeViewController : SKStoreProductViewController = SKStoreProductViewController() // set Delegate storeViewController.delegate = self // load product storeViewController.loadProduct(withParameters: parameter) { (success, error) in if success == true { // show storeController self.present(storeViewController, animated: true, completion: nil) } else { print("NO SUCCESS LOADING PRODUCT SCREEN") print("Error ? : \(error?.localizedDescription)") } } } // ... // ---------------------------------------------------------------------------------------- // 3. Make your ViewController conforming the protocol SKStoreProductViewControllerDelegate // ---------------------------------------------------------------------------------------- extension ViewController : SKStoreProductViewControllerDelegate { // ---------------------------------------------------------------------------------------- // 5. Dismiss the StoreView // ---------------------------------------------------------------------------------------- func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) { print("RECEIVED a FINISH-Message from SKStoreProduktViewController") viewController.dismiss(animated: true, completion: nil) } } 

Вот код, который я использую в своем приложении;

 -(void)rateApp { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"itms-apps://itunes.apple.com/app/" stringByAppendingString: @"id547101139"]]]; } 

В принятом ответе не удалось загрузить вкладку «Отзывы». Я нашел ниже метод для загрузки вкладки «Обзор» без вкладки «Подробности».

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id={APP_ID}&pageNumber=0&sortOrdering=2&mt=8"]]; 

Замените {APP_ID} на приложение app app app app.

SWIFT 3

 fileprivate func openAppStore() { let appId = "YOUR_APP_ID" let url_string = "itms-apps://itunes.apple.com/app/id\(appId)" if let url = URL(string: url_string) { UIApplication.shared.openURL(url) } } 

цитата из документации разработчика Apple

Кроме того, вы можете продолжать включать постоянную ссылку в настройках или экранах конфигурации вашего приложения, которые глубоко связаны с вашей страницей продукта в App Store. Чтобы автоматически открыть страницу, на которой пользователи могут написать обзор в App Store, добавьте параметр запроса action = write-review к URL вашего продукта.

Таким образом, URL-адрес будет выглядеть следующим образом:

itms-apps: //itunes.apple.com/app/id YOUR_APP_ID ? action = write-review

 let rateUrl = "itms-apps://itunes.apple.com/app/idYOUR_APP_ID?action=write-review" if(UIApplication.shared.canOpenURL(rateUrl)) { UIApplication.shared.openURL(rateUrl) } 

Начиная с iOS 10.3:

 import StoreKit func someFunction() { SKStoreReviewController.requestReview() } 

но его только что выпустили с 10.3, так что вам по-прежнему понадобится некоторый метод возврата для более старых версий, как описано выше

Это отлично работает на IOS 9-11.

Не тестировались в более ранних версиях.

 [NSURL URLWithString:@"https://itunes.apple.com/app/idXXXXXXXXXX?action=write-review"]; 
  • Как установить приложение iPhone в iPhone Simulator
  • Как динамически изменять размер UITableViewCell
  • Как добавить userInfo в UIAlertView?
  • Чтение и поиск файлов в формате PDF
  • Выход Google Maps = kml сломан?
  • слияние аудиофайлов на iPhone
  • Как разбирать объект JSON в iPhone SDK (XCode) с помощью JSON-Framework
  • Круглое двойное значение до 2 знаков после запятой
  • iPhone Core Animation - рисование круга
  • NSString: isEqual vs. isEqualToString
  • UIScrollView - показывает полосу прокрутки
  • Давайте будем гением компьютера.