Link do sklepu App Store dla „oceń / opisz tę aplikację”

193

Chcę umieścić w mojej aplikacji funkcję „oceń / opisz tę aplikację”.

Czy istnieje sposób na bezpośredni link do ekranu w sklepie z aplikacjami, w którym przeglądają aplikację? Dzięki temu klient nie musi klikać głównego łącza do aplikacji. Dzięki.

EDYCJA: rozpoczęcie nagrody za to z powodu braku odpowiedzi. Aby upewnić się, że jest krystalicznie czysty: jestem świadomy, że mogę link do strony mojej aplikacji w sklepie i poprosić użytkownika o kliknięcie stamtąd do ekranu „przejrzyj tę aplikację”. Pytanie brzmi, czy można połączyć bezpośrednio z ekranem „przejrzyj tę aplikację”, aby nie musieli niczego klikać.

William Jockusch
źródło
1
Zobacz moją odpowiedź tutaj: stackoverflow.com/questions/3011246/…
iwasrobbed

Odpowiedzi:

349

W przypadku wersji niższych niż iOS 7 użyj starej:

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

Działa to na moim końcu (Xcode 5 - iOS 7 - urządzenie !):

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

W systemie iOS 8 lub nowszym:

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

Fragment kodu (możesz go po prostu skopiować i wkleić):

#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
elibud
źródło
166
Uwaga - musi tam być „type = Purple + Software” i musi to być dosłownie „Purple Software” - to nie jest nazwa twojej firmy, to nazwa kodowa dla aplikacji na iPhone'a :) Zmarnowałem godzinę, zanim to rozgryzłem ...
Kuba Suder
16
Warto zauważyć, że nie działa to w symulatorze, ale działa na rzeczywistym urządzeniu.
Joseph,
1
Do Twojej wiadomości, wydaje się, że działa to na iPadzie, ale TYLKO za drugim razem, nigdy za pierwszym razem. (Po zabiciu aplikacji iTunes i App Store)
Michael
13
W iOS 7 zabiera mnie to do strony sklepu, ale nie wybiera karty recenzji.
devios1
40
W ramach iOS 10,3 istnieje nowy parametr zapytania , które mogą być dodawane do adresu URL: action=write-review. Przetestowałem to na iOS 10.2 i działa, ale nie wiem, jak daleko to się posuwa. Spowoduje to otwarcie okna dialogowego „Napisz recenzję” , a nie tylko wyświetlenie karty recenzji. Przykład: itunes.apple.com/pl/app/…
Joseph Duffy,
61

Aktualizacja:

Swift 5.1, Xcode 11

Testowane na Real Device iOS 13.0 (Gwarancja działania)

import StoreKit

func rateApp() {

    if #available(iOS 10.3, *) {

        SKStoreReviewController.requestReview()

    } else {

        let appID = "Your App ID on App Store"
        let urlStr = "https://itunes.apple.com/app/id\(appID)" // (Option 1) Open App Page
        let urlStr = "https://itunes.apple.com/app/id\(appID)?action=write-review" // (Option 2) Open App Review Page

        guard let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) else { return }

        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        } else {
            UIApplication.shared.openURL(url) // openURL(_:) is deprecated from iOS 10.
        }
    }
}
Silny
źródło
Działa w iOS 10.3
Vladimir Shutyuk
usuń nawiasy kwadratowe z ciągu appID i działa
richc
7
To już nie działa. Działa <product-url>? Action = write-review. Proszę sprawdzić tę dokumentację dla lepszego zrozumienia: developer.apple.com/documentation/storekit/…
Karthik Kannan
38

Wszystko, co napisano powyżej, jest poprawne. Wystarczy próbka do wstawienia do aplikacji i zmiana {ID APLIKACJI} na rzeczywisty identyfikator aplikacji, pobrane z iTunesconnect, aby wyświetlić stronę Recenzja. Należy pamiętać, jak wspomniano powyżej, że nie działa on na symulatorze - tylko na urządzeniu.
- Korekta z powodu zmian w 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]];
ETech
źródło
To po prostu wydaje mi się wyświetlać pustą stronę App Store. Wydaje się, że musisz wstawić „id” przed samym identyfikatorem
Ger
czy potrzebne są nawiasy na aplikację? Ponieważ zapomniałem je dołączyć, a funkcja oceniania nadal działa poprawnie.
Glenn
1
użyj numeru z wyjątkiem {ID APLIKACJI}, OZNACZA @ „5555555555” - nawiasy pokazują tylko, że jest to wartość
ETech
37

EDYCJA: Rozwiązanie iOS 11

To jest rozwiązanie mojej pierwotnej odpowiedzi (patrz poniżej). Podczas korzystania z iOS 11 działa następujący format łącza:

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

Po prostu zamień na APP_IDswój identyfikator aplikacji. Kluczem do działania linku jest kod kraju . Powyższy link używa uskodu, ale tak naprawdę nie ma znaczenia, który kod jest używany. Użytkownik zostanie automatycznie przekierowany do swojego sklepu.

Aktualizacja iOS 11:

Wydaje się, że żadne z rozwiązań przedstawionych w innych odpowiedziach, aby przejść bezpośrednio do strony recenzji, nie działa na iOS 11.

Problem najprawdopodobniej polega na tym, że strona aplikacji w aplikacji App Store na iOS 11 NIE ma już karty Recenzja. Zamiast tego recenzje znajdują się teraz bezpośrednio pod opisem i zrzutami ekranu. Oczywiście nadal można uzyskać bezpośredni dostęp do tej sekcji (np. Za pomocą jakiejś kotwicy), ale wydaje się, że nie jest to obsługiwane / zamierzone przez Apple.

Korzystanie z jednego z poniższych łączy już nie działa. Wciąż przenoszą użytkowników do aplikacji App Store, ale tylko na pustą stronę :

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

Każdy, jak nadal korzysta z tych linków, powinien jak najszybciej zaktualizować swoje aplikacje , ponieważ skierowanie użytkowników do pustej strony App Store najprawdopodobniej nie jest tym, czego zamierzałeś.

Linki, które nie odnoszą się do strony Recenzja, ale do strony aplikacji, nadal działają, np

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

Możesz więc nadal przekierowywać użytkowników na stronę sklepu z aplikacjami, ale nie bezpośrednio do sekcji recenzji. Użytkownicy muszą teraz ręcznie przewinąć do sekcji przeglądu, aby zostawić swoją opinię.

Bez wątpienia jest to „świetna i niesamowita korzyść dla User Experience i pomoże programistom w zachęcaniu użytkowników do wystawiania recenzji o wysokiej jakości bez denerwowania ich”. Dobra robota Apple ...

Andrei Herford
źródło
SKStoreReviewController. requestReview () działa czy nie?
dev_m
1
O SKStoreReviewController: „Poproś StoreKit o poproszenie użytkownika o sprawdzenie aplikacji. To może, ale nie musi pokazywać żadnego interfejsu użytkownika”. Zatem SKStoreReviewController nie jest rozwiązaniem. Staram się tego unikać.
Fallstreak,
26

Wszystkie powyższe podejścia są poprawne, ale obecnie używanie SKStoreProductViewController prowadzi do lepszej obsługi użytkownika. Aby z niego skorzystać, wykonaj następujące czynności:

  • zaimplementuj protokół SKStoreProductViewControllerDelegate w aplikacji delegowanej
  • dodaj wymaganą metodę productViewControllerDidFinish :

    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
      [viewController dismissViewControllerAnimated: YES completion: nil];
    }
    
  • Sprawdź, czy klasa SKStoreProductViewController jest dostępna i albo ją pokaż, albo przejdź do 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]];
    }
deko
źródło
5
Wyglądało to na świetne rozwiązanie, ale nie udało mi się go uruchomić. Przycisk „Napisz recenzję” jest wyłączony. Na początku myślałem, że dzieje się tak, ponieważ uruchomiłem moją wersję deweloperską i pomyślałem, że może być wymagana wersja App Store. Więc stworzyłem zupełnie nowy identyfikator pakietu i uruchomiłem go razem z wersją App Store, i nadal nie mam szczęścia. Na podstawie tego postu wygląda na to, że przycisk „Napisz recenzję” jest wyłączony w iOS 7+ stackoverflow.com/questions/19058069/…
Matt R
@MattR być może dlatego, że nie kupiłeś tej aplikacji. Przycisk „Napisz recenzję” był dla mnie włączony, ale nic nie robiłem. Będę musiał przetestować, czy działa tylko, jeśli kupiłeś aplikację.
Kamran Khan
3
Masz pomysł, jak domyślnie otworzyć kartę „recenzje” w tej implementacji? Dokumentacja Apple daje mi tylko 3 parametry, ale żaden nie wydaje się być powiązany z tym, czego potrzebuję: SKStoreProductParameterITunesItemIdentifier, SKStoreProductParameterAffiliateToken & SKStoreProductParameterCampaignToken
Jovan
@KamranKhan, widzę to samo. Zastanawiam się, czy jest to wyłączone w wersji deweloperskiej. Czy próbowałeś tego w dostarczonej aplikacji (podpisanej), aby sprawdzić, czy to działa?
Shammi,
@Shammi Nie, nie sprawdziłem tego.
Kamran Khan,
15

Rozwiązanie dla iOS 11

Krótkie adresy URL sklepu App Store nie otwierają poprawnie interfejsu „Napisz recenzję” w nowym sklepie iOS 11 App Store. Na przykład to nie działa:

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

Obejściem tego problemu jest dołączenie do adresu URL dwuliterowego kodu kraju i nazwy aplikacji, na przykład:

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

lub

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

Pełny URL swojej aplikacji możesz uzyskać tutaj: https://linkmaker.itunes.apple.com/

To z powodzeniem otwiera interfejs „Napisz recenzję” w sklepie iOS 11 App Store.

Edycja: jak wspomina @Theo poniżej, kod kraju nie musi być zlokalizowany, a nazwa aplikacji w adresie URL nie musi być aktualizowana, jeśli nazwa aplikacji się zmieni.

Mamy nadzieję, że Apple naprawi to wkrótce dla krótszego adresu URL. Patrz rdar: // 34498138

neave
źródło
3
To jest poprawny sposób dla iOS 11, jak wprowadzono w WWDC Session 303 . Zauważ, że parametr mt=8nie jest wymagany. Ponadto najwyraźniej kod kraju i nazwa aplikacji w adresie URL są wymagane, ale ignorowane. Dlatego adres URL nie musi być lokalizowany ani aktualizowany, gdy zmienia się nazwa aplikacji.
Theo
@Jeśli masz rację, wystarczy zmienić identyfikator:itms-apps://itunes.apple.com/xy/app/foo/id{your_app_id}?action=write-review
DaveAlden
4
Poważnie? Ile godzin WWDC musimy oglądać, aby uniknąć tego rodzaju rzeczy?!?
thibaut noah
1
Tak jak uwaga dla innych, nowy precyzyjny link jest dostępny od iOS 10.3, jak powiedziano w sesji WWDC 303 .
Kjuly
12

Wersja Swift 2

func jumpToAppStore(appId: String) {
    let url = "itms-apps://itunes.apple.com/app/id\(appId)"
    UIApplication.sharedApplication().openURL(NSURL(string: url)!)
}
Quanlong
źródło
11

Wszystkie poprzednie linki już nie prowadzą bezpośrednio do zakładki „Recenzje”,

Ten link przekierowałby bezpośrednio do „Karty recenzji”:

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

lub

itms-apps: //itunes.apple.com/app/viewContentsUserReviews? id = AppID

Satinos
źródło
1
W bibliotece programistów Apple nie ma oficjalnego linku, który przekierowałby użytkownika do „Karty recenzji”. Jednak od ios4 znajdziesz zastrzeżone słowa kluczowe, takie jak viewContentsUserReviews lub id, których jabłko nadal używa jako parametrów pobierania adresu URL. Jeśli chcesz pozostać po bezpiecznej stronie, skorzystaj z oficjalnego linku Maker Linkmaker.itunes.apple.com/en-us
Satinos
1
@ Ms.Nehal, pytanie wymaga linków. Są to rzeczywista odpowiedź, a nie wskaźnik na odpowiedź.
Tobi Nary,
9

W iOS7 adres URL, który zmienia twoją aplikację w App Store w celu oceny i sprawdzenia, zmienił się:

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

Gdzie APP_ID należy zastąpić identyfikatorem aplikacji.

W systemie iOS 6 i starszych adres URL w poprzednich odpowiedziach działa poprawnie.

Źródło: Appirater

Ciesz się kodowaniem .. !!

Sahil Mahajan
źródło
Działa na iPhonie. Nigdy nie testowałem go na iPadzie. Link działa na iPhonie. Spróbuj debugować !!
Sahil Mahajan,
2
Dostawałem biały kwadrat, ponieważ nie zdawałem sobie sprawy, że wstawiłeś „identyfikator” do swojego numeru w adresie URL. Właśnie próbowałem „... / app / 123123123”, a nie: „... / app / id123123123”. Haha, wstyd mi, że nie czytałem poprawnie. Mam nadzieję, że pomoże to każdemu, kto również to zrobił.
cclogg
8

Jest nowy sposób na zrobienie tego w iOS 11+ (nowy sklep z aplikacjami). Możesz bezpośrednio otworzyć okno dialogowe „Napisz recenzję”.

Przykład iOS 11:

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

lub

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

Uwagi:

  • Wymagany jest kod kraju ( /us/). Może to być dowolny kod kraju, nieważne.
  • Zmień identyfikator aplikacji ( 1137397744) na identyfikator aplikacji (pobierz z adresu URL iTunes).
  • Jeśli chcesz obsługiwać starszą wersję iOS (wcześniejszą niż 11), pewna logika warunkowa będzie łączyła się w ten sposób tylko wtedy, gdy wersja systemu operacyjnego jest świetna lub równa 11.
kspearrin
źródło
8

Użycie tego adresu URL było dla mnie idealnym rozwiązaniem. Przenosi użytkownika bezpośrednio do Write a Review section. Podziękowania dla @Joseph Duffy. MUSISZ SPRÓBOWAĆ

URL = itms-apps://itunes.apple.com/gb/app/idYOUR_APP_ID_HERE?action=write-review&mt=8 Wymień YOUR_APP_ID_HERE z AppID

Aby uzyskać przykładowy kod, spróbuj:

Swift 3, Xcode 8.2.1:

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

Tutaj showAlert jest funkcją niestandardową dla UIAlertController.

Ankit Kumar Gupta
źródło
2
Nie dodawaj tej samej odpowiedzi do wielu pytań. Odpowiedz na najlepszy i oznacz resztę jako duplikaty. Zobacz Czy dopuszczalne jest dodanie duplikatu odpowiedzi na kilka pytań?
g00glen00b
1
Ok stary dzięki. Jestem nowy w tym i się uczę. Dzięki za przewodnictwo będę o tym pamiętać.
Ankit Kumar Gupta
7

Począwszy od iOS 10.3 możesz dołączyć action=write-reviewelement zapytania do swojego https://itunes.apple.com/...i https://appsto.re/...adresów URL. Na iOS 10.3 i nowszych otworzy się Write a reviewautomatycznie, podczas gdy na niższych wersjach iOS wróci do strony App Store.

Aktualizacja iOS 11 : skorzystaj z narzędzia Linkmaker firmy Apple: linkmaker.itunes.apple.com i dołącz&action=write-review , wydaje się być najbezpieczniejszym sposobem.

rshev
źródło
4

iOS 4 porzucił funkcję „Oceń po usunięciu”.

Na razie jedynym sposobem oceniania aplikacji jest iTunes.

Edycja: linki do aplikacji można generować za pomocą iTunes Link Maker. Ta strona ma tutorial.

Kynth
źródło
Dzięki . . . i szukam link do iTunes!
William Jockusch
2
Wypróbuj iTunes Link Maker. Rozumiem, że uruchamia kopię iTunes dla użytkowników w celu przeglądania sklepu. Zmienię odpowiedź, aby umieścić tam link.
Kynth
4
NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/us/app/kidsworld/id906660185?ls=1&mt=8"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
Nikunj Patel
źródło
4

Wersja Swift 2, która prowadzi do strony z recenzjami Twojej aplikacji na iOS 8 i 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)!)
użytkownik3344977
źródło
3

Dla> = iOS8: (Uproszczona odpowiedź @ 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];
    }
}
Mohammad Zaid Pathan
źródło
3

Łącze do dowolnej aplikacji w AppStore za pośrednictwem SKStoreProductViewController

Łatwo jest połączyć się z aplikacją w sklepie z aplikacjami za pośrednictwem SKStoreProductViewController. Ale trochę się zmagałem, więc postanowiłem pokazać tutaj cały proces i niezbędny kod. Ta technika zapewnia również, że zawsze będzie używany właściwy sklep (ważny dla zlokalizowanych aplikacji).

Aby wyświetlić ekran produktu dowolnej aplikacji ze sklepu z aplikacjami w aplikacji za pomocą dowolnej aplikacji ViewControllers, wykonaj następujące kroki:

  1. Dodaj StoreFit.framework w ustawieniach projektu (Cel, Fazy kompilacji -> Połącz pliki binarne z bibliotekami
  2. Zaimportuj StoreKit do klasy ViewController
  3. Sprawdź, czy ViewController jest zgodny z tym protokołem SKStoreProductViewControllerDelegate
  4. Utwórz metodę prezentacji StoreView z wybranym ekranem produktu
  5. Zamknij StoreView

Ale najważniejsze: To - z jakiegoś powodu - nie działa w symulatorze - musisz zbudować i zainstalować na prawdziwym urządzeniu z łącznością z Internetem.

  1. Dodanie pliku StorKit.framework do projektu: Znajdź to w ustawieniach projektu

SWIFT 4: To jest kod zgodny z opisanymi krokami:

    // ----------------------------------------------------------------------------------------
// 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<String, Any> = [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)
    }
}
LukeSideWalker
źródło
2

Oto kod, którego używam w mojej aplikacji;

-(void)rateApp {

     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"itms-apps://itunes.apple.com/app/" stringByAppendingString: @"id547101139"]]]; 
}
Ahmet Hayrullahoglu
źródło
2

Zaakceptowana odpowiedź nie załadowała karty „Recenzje”. Znalazłem poniżej metodę ładowania karty „Recenzja” bez karty „Szczegóły”.

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

Zamień na {APP_ID}identyfikator aplikacji w sklepie z aplikacjami.

TharakaNirmana
źródło
2

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)
        }
    }
Wiaczesław
źródło
2

cytat z dokumentacji programisty Apple

Ponadto możesz nadal umieszczać stały link na ekranach ustawień lub konfiguracji aplikacji, który prowadzi do precyzyjnych linków do strony produktu App Store. Aby automatycznie otworzyć stronę, na której użytkownicy mogą napisać recenzję w App Store, dołącz parametr zapytania action = write-review do adresu URL produktu.

Zatem adres URL byłby następujący:

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

DanLand
źródło
2

Działa to dobrze na iOS 9 - 11.

Nie testowałem na wcześniejszych wersjach.

[NSURL URLWithString:@"https://itunes.apple.com/app/idXXXXXXXXXX?action=write-review"];
RainKing
źródło
2
let rateUrl = "itms-apps://itunes.apple.com/app/idYOUR_APP_ID?action=write-review"
if UIApplication.shared.canOpenURL(rateUrl) {
    UIApplication.shared.openURL(rateUrl)
}
shadi abusamra
źródło
0

Począwszy od iOS 10.3:

import StoreKit

func someFunction() {
 SKStoreReviewController.requestReview()
}

ale został właśnie wydany w wersji 10.3, więc nadal będziesz potrzebować metody zastępczej dla starszych wersji, jak opisano powyżej

Alex
źródło
0

Jeśli Twoja aplikacja została zatwierdzona do wersji Beta i nie jest dostępna, link do recenzji aplikacji jest dostępny, ale dodawanie recenzji będzie niemożliwe.

  1. Zaloguj się do iTunes Connect
  2. Kliknij My Apps
  3. Kliknij App Iconzainteresowany
  4. Upewnij się, że jesteś na App Storestronie
  5. Przejdź do App Informationsekcji (powinno cię tam automatycznie zabrać)
  6. U dołu tej strony znajduje się niebieski link z napisem View on App Store. Kliknij, a otworzy się pusta strona. Skopiuj zawartość paska adresu na górze strony, a to link do recenzji aplikacji. Będzie działać, gdy aplikacja będzie już dostępna.

wprowadź opis zdjęcia tutaj

Lance Samaria
źródło