App Store Link für "Bewerten / Überprüfen dieser App"

192

Ich möchte eine Funktion zum Bewerten / Überprüfen dieser App in meine App einfügen.

Gibt es eine Möglichkeit, direkt auf den Bildschirm im App Store zu verlinken, auf dem die App überprüft wird? Der Kunde muss also nicht über den Haupt-App-Link klicken. Vielen Dank.

BEARBEITEN: Start eines Kopfgeldes aufgrund mangelnder Reaktion. Nur um sicherzugehen, dass es kristallklar ist: Ich bin mir bewusst, dass ich auf die Seite meiner App im Store verlinken kann, und fordere den Benutzer auf, von dort aus auf den Bildschirm "Diese App überprüfen" zu klicken. Die Frage ist, ob es möglich ist, direkt auf den Bildschirm "Diese App überprüfen" zu verlinken, damit sie nicht durch irgendetwas klicken müssen.

William Jockusch
quelle
1
Siehe meine Antwort hier: stackoverflow.com/questions/3011246/…
iwasrobbed

Antworten:

349

Verwenden Sie für Versionen unter iOS 7 die alte:

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

Das funktioniert auf meiner Seite (Xcode 5 - iOS 7 - Gerät !):

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

Für iOS 8 oder höher:

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

Code-Snippet (Sie können es einfach kopieren und einfügen):

#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
quelle
165
Hinweis - der "Typ = Lila + Software" muss vorhanden sein und es muss buchstäblich "Lila Software" sein - es ist nicht der Name Ihres Unternehmens, es ist ein Codename für iPhone-Anwendungen :) Ich habe eine Stunde verschwendet, bevor ich das herausgefunden habe ...
Kuba Suder
16
Es ist erwähnenswert, dass dies im Simulator nicht funktioniert, aber auf einem tatsächlichen Gerät.
Joseph
1
Zu Ihrer Information, dies scheint auf dem iPad zu funktionieren, aber NUR beim zweiten Mal, niemals beim ersten Mal, wenn ich es versuche. (Nach dem Töten von iTunes & App Store Apps)
Michael
13
Unter iOS 7 werde ich zur Store-Seite weitergeleitet, aber die Registerkarte "Überprüfung" wird nicht ausgewählt.
Devios1
40
Als Teil von iOS 10.3 gibt es einen neuen Abfrageparameter , der der URL hinzugefügt werden kann : action=write-review. Ich habe dies auf iOS 10.2 getestet und es funktioniert, aber ich weiß nicht, wie weit dies zurückreicht. Dadurch wird das Dialogfeld "Bewertung schreiben" geöffnet , anstatt nur die Registerkarte "Überprüfung" anzuzeigen. Beispiel: itunes.apple.com/gb/app/…
Joseph Duffy
61

Aktualisieren:

Swift 5.1, Xcode 11

Getestet auf Real Device iOS 13.0 (Garantie zu funktionieren)

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.
        }
    }
}
Stark
quelle
Funktioniert in iOS 10.3
Vladimir Shutyuk
Entfernen Sie die Klammern aus der AppID-Zeichenfolge und es funktioniert
Richc
7
Das funktioniert nicht mehr. Was funktioniert, ist <product-url>? Action = write-review. Bitte überprüfen Sie diese Dokumentation für ein besseres Verständnis: developer.apple.com/documentation/storekit/…
Karthik Kannan
38

Alles, was oben geschrieben wurde, ist korrekt. Nur ein Beispiel zum Einfügen in die App und Ändern von {IHRER APP-ID} in die tatsächliche App-ID, die aus iTunesconnect entnommen wurde, um die Überprüfungsseite anzuzeigen. Bitte beachten Sie, wie oben erwähnt, dass es auf dem Simulator nicht funktioniert - nur auf dem Gerät.
- Korrektur aufgrund von Änderungen an 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
quelle
Dies scheint nur eine leere App Store-Seite für mich anzuzeigen. Es scheint, als müssten Sie 'id' vor die eigentliche ID stellen
Ger
Sind Klammern für appId notwendig? Weil ich vergessen habe, sie einzuschließen, und die Ratenfunktion immer noch gut funktioniert.
Glenn
1
Verwenden Sie die Nummer mit Ausnahme von {YOUR APP ID}, MEANS @ "5555555555" - Klammern zeigen nur an, dass es sich um einen Wert handelt
ETech
37

BEARBEITEN: iOS 11-Lösung

Dies ist die Lösung für meine ursprüngliche Antwort (siehe unten). Bei Verwendung von iOS 11 funktioniert das folgende Linkformat:

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

Ersetzen APP_IDSie einfach durch Ihre spezifische App-ID. Der Schlüssel, damit der Link funktioniert, ist der Ländercode . Der obige Link verwendet den usCode, aber es spielt eigentlich keine Rolle, welcher Code verwendet wird. Der Benutzer wird automatisch zu seinem Geschäft weitergeleitet.

iOS 11 Update:

Es scheint, dass keine der in den anderen Antworten vorgestellten Lösungen, um direkt zur Überprüfungsseite zu gelangen, unter iOS 11 funktioniert.

Das Problem ist höchstwahrscheinlich, dass eine App-Seite in der iOS 11 App Store-App KEINE Registerkarte "Überprüfen" mehr hat. Stattdessen befinden sich die Bewertungen jetzt direkt unter der Beschreibung und den Screenshots. Natürlich könnte es immer noch möglich sein, diesen Abschnitt direkt zu erreichen (z. B. mit einer Art Anker), aber es scheint, dass dies von Apple nicht unterstützt / beabsichtigt wird.

Die Verwendung eines der folgenden Links funktioniert nicht mehr. Sie bringen die Benutzer weiterhin zur App Store-App, jedoch nur zu einer leeren Seite :

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

Jeder, der diese Links noch verwendet, sollte seine Apps so schnell wie möglich aktualisieren , da das Verweisen der Benutzer auf eine leere App Store-Seite höchstwahrscheinlich nicht Ihren Vorstellungen entspricht .

Links, die nicht auf die Überprüfungsseite, sondern auf die App-Seite verweisen, funktionieren jedoch weiterhin, z

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

So können Sie die Benutzer weiterhin zur Seite "Apps Store" führen, jedoch nicht mehr direkt zum Überprüfungsbereich. Benutzer müssen jetzt manuell zum Überprüfungsbereich scrollen, um ihr Feedback zu hinterlassen.

Ohne Frage ist dies ein "großer und großartiger Vorteil für die Benutzererfahrung und wird Entwicklern helfen, Benutzer dazu zu bewegen, qualitativ hochwertige Bewertungen zu hinterlassen, ohne sie zu ärgern". Gut gemacht, Apple ...

Andrei Herford
quelle
SKStoreReviewController. requestReview () funktioniert oder nicht?
dev_m
1
Informationen zu SKStoreReviewController: "Bitten Sie StoreKit, den Benutzer um eine App-Überprüfung zu bitten. Dies kann eine Benutzeroberfläche anzeigen oder nicht." SKStoreReviewController ist also nicht die Lösung. Ich versuche es zu vermeiden.
Fallstreak
26

Alle oben genannten Ansätze sind korrekt, aber heutzutage führt die Verwendung von SKStoreProductViewController zu einer besseren Benutzererfahrung. Um es zu verwenden, müssen Sie Folgendes tun:

  • Implementieren Sie das SKStoreProductViewControllerDelegate- Protokoll in Ihrem App-Delegaten
  • Fügen Sie die erforderliche productViewControllerDidFinish- Methode hinzu:

    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
      [viewController dismissViewControllerAnimated: YES completion: nil];
    }
  • Überprüfen Sie, ob die SKStoreProductViewController- Klasse verfügbar ist, und zeigen Sie sie entweder an oder wechseln Sie zum 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
quelle
5
Das sah nach einer großartigen Lösung aus, aber ich konnte dies nicht zum Laufen bringen. Die Schaltfläche "Bewertung schreiben" ist deaktiviert. Ich dachte zuerst, dass dies daran lag, dass ich meine Entwicklungsversion ausgeführt hatte und dachte, dass möglicherweise die App Store-Version installiert werden muss. Also habe ich eine völlig neue Bundle-ID erstellt und sie zusammen mit der App Store-Version ausgeführt, und immer noch kein Glück. Basierend auf diesem Beitrag sieht es so aus, als ob die Schaltfläche "Write a Review" in iOS 7+ stackoverflow.com/questions/19058069/…
Matt R
@MattR kann es sein, dass Sie diese App nicht gekauft haben. Die Schaltfläche "Bewertung schreiben" war für mich aktiviert, hat aber nichts getan. Ich muss testen, ob es nur funktioniert, wenn Sie die App gekauft haben.
Kamran Khan
3
Haben Sie eine Idee, wie Sie mit dieser Implementierung standardmäßig die Registerkarte "Überprüfungen" öffnen können? Die Apple-Dokumentation gibt mir nur 3 Parameter, aber keiner scheint mit dem zu tun zu haben, was ich brauche: SKStoreProductParameterITunesItemIdentifier, SKStoreProductParameterAffiliateToken & SKStoreProductParameterCampaignToken
Jovan
@KamranKhan, ich sehe das gleiche. Ich frage mich, ob dies in der Entwicklerversion deaktiviert ist. Haben Sie dies in einer ausgelieferten App (signiert) versucht, um zu sehen, ob es funktioniert?
Shammi
@ Shammi Nein, ich habe es nicht überprüft.
Kamran Khan
15

Lösung für iOS 11

Kurze App Store-URLs öffnen die Oberfläche "Bewertung schreiben" im neuen iOS 11 App Store nicht korrekt. Dies funktioniert beispielsweise nicht :

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

Die Problemumgehung besteht darin, einen aus zwei Buchstaben bestehenden Ländercode und einen App-Namen in die URL aufzunehmen, z. B.:

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

oder

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

Die vollständige URL Ihrer App finden Sie hier: https://linkmaker.itunes.apple.com/

Dadurch wird die Benutzeroberfläche "Bewertung schreiben" im iOS 11 App Store erfolgreich geöffnet.

Bearbeiten: Wie @Theo unten erwähnt, muss der Ländercode nicht lokalisiert werden und der App-Name in der URL muss nicht aktualisiert werden, wenn sich der App-Name ändert.

Hoffentlich wird Apple dies bald für die kürzere URL beheben. Siehe rdar: // 34498138

Neave
quelle
3
Dies ist der richtige Weg für iOS 11, wie in WWDC Session 303 eingeführt . Beachten Sie, dass der Parameter mt=8nicht erforderlich ist. Außerdem sind anscheinend der Ländercode und der App-Name in der URL erforderlich, werden jedoch ignoriert. Die URL muss also nicht lokalisiert oder aktualisiert werden, wenn sich der App-Name ändert.
Theo
@ Theo Sie sind richtig, nur die ID muss geändert werden:itms-apps://itunes.apple.com/xy/app/foo/id{your_app_id}?action=write-review
DaveAlden
4
Ernsthaft? Wie viele Stunden WWDC müssen wir sehen, um solche Dinge zu vermeiden?!?
Thibaut Noah
1
Nur als Hinweis für andere ist der neue Deep Link seit iOS 10.3 verfügbar, wie in WWDC Session 303 erwähnt .
Kjuly
12

Swift 2 Version

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

Alle vorherigen Links führen nicht mehr direkt zur Registerkarte "Bewertungen".

Dieser Link würde direkt zu "Reviews Tab" führen:

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

oder

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

Satinos
quelle
1
In der Apple Developer Library gibt es keinen offiziellen Link, der den Benutzer zum "Reviews Tab" weiterleitet. Seit ios4 finden Sie jedoch reservierte Schlüsselwörter wie viewContentsUserReviews oder id, die Apple weiterhin als URL-Abrufparameter verwendet. Wenn Sie auf der sicheren Seite bleiben möchten, verwenden Sie den offiziellen Link Maker linkmaker.itunes.apple.com/en-us
Satinos
1
@ Ms.Nehal, die Frage fragt nach Links. Sie sind die eigentliche Antwort, kein Zeiger auf eine Antwort.
Tobi Nary
9

In iOS7 hat sich die URL geändert, mit der Ihre App zur Bewertung und Überprüfung in den App Store wechselt:

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

Wobei APP_ID durch Ihre Anwendungs-ID ersetzt werden muss.

Für iOS 6 und älter funktioniert die URL in früheren Antworten einwandfrei.

Quelle: Appirater

Viel Spaß beim Codieren .. !!

Sahil Mahajan
quelle
Es funktioniert auf dem iPhone. Nie auf dem iPad getestet. Der Link funktioniert auf dem iPhone. Versuchen Sie zu debuggen!
Sahil Mahajan
2
Ich habe ein weißes Quadrat erhalten, weil ich nicht bemerkt habe, dass Sie Ihrer Nummer in der URL "id" voranstellen. Ich hatte gerade versucht "... / app / 123123123" und nicht: "... / app / id123123123". Haha, schade, dass ich nicht richtig gelesen habe. Hoffe das hilft jedem, der das auch versehentlich gemacht hat.
Clogg
8

In iOS 11+ (neuer App Store) gibt es eine neue Möglichkeit, dies zu tun . Sie können das Dialogfeld "Bewertung schreiben" direkt öffnen.

iOS 11 Beispiel:

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

oder

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

Anmerkungen:

  • Ein Ländercode ist erforderlich ( /us/). Es kann jeder Ländercode sein, spielt keine Rolle.
  • Ändern Sie die App-ID ( 1137397744) in Ihre App-ID (beziehen Sie sie von der iTunes-URL).
  • Wenn Sie eine ältere iOS-Version (vor 11) unterstützen möchten, möchten Sie, dass eine bedingte Logik nur dann auf diese Weise verknüpft wird, wenn die Betriebssystemversion größer oder gleich 11 ist.
kspearrin
quelle
8

Die Verwendung dieser URL war für mich die perfekte Lösung. Es führt den Benutzer direkt zum Write a Review section. Dank an @Joseph Duffy. MÜSSEN VERSUCHEN

URL = itms-apps://itunes.apple.com/gb/app/idYOUR_APP_ID_HERE?action=write-review&mt=8 Ersetzen Sie YOUR_APP_ID_HERE durch Ihre AppId

Versuchen Sie für einen Beispielcode Folgendes:

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!!")
 }

Hier ist showAlert eine benutzerdefinierte Funktion für eine UIAlertController.

Ankit Kumar Gupta
quelle
2
Bitte fügen Sie nicht dieselbe Antwort auf mehrere Fragen hinzu. Beantworten Sie die beste Frage und markieren Sie den Rest als Duplikate. Siehe Ist es akzeptabel, mehrere Fragen doppelt zu beantworten?
g00glen00b
1
Ok, Bruder, danke. Ich bin neu in diesem und lerne. Vielen Dank für die Anleitung wird dies berücksichtigen.
Ankit Kumar Gupta
7

Ab iOS 10.3 können Sie action=write-reviewAbfrageelemente an Ihre https://itunes.apple.com/...und https://appsto.re/...URLs anhängen . Unter iOS 10.3 und höher wird es Write a reviewautomatisch geöffnet , während unter niedrigeren iOS-Versionen auf die App Store-Seite der App zurückgegriffen wird.

iOS 11-Update : Verwenden Sie Apples Linkmaker: linkmaker.itunes.apple.com und Anhängen. Dies&action=write-review scheint der sicherste Weg zu sein.

rshev
quelle
4

iOS 4 hat die Funktion "Rate on Delete" eingestellt.

Derzeit können Sie eine Anwendung nur über iTunes bewerten.

Bearbeiten: Über iTunes Link Maker können Links zu Ihren Anwendungen generiert werden. Diese Seite hat ein Tutorial.

Kynth
quelle
Vielen Dank . . . und was ich suche ist der iTunes Link!
William Jockusch
2
Probieren Sie den iTunes Link Maker aus. Nach meinem Verständnis wird eine Benutzerkopie von iTunes gestartet, um den Store zu durchsuchen. Ich werde die Antwort bearbeiten, um dort einen Link zu platzieren.
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
quelle
4

Swift 2-Version, mit der Sie unter iOS 8 und iOS 9 tatsächlich zur Überprüfungsseite Ihrer App gelangen:

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)!)
user3344977
quelle
3

Für> = iOS8: (Vereinfachte Antwort von @ 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
quelle
3

Verknüpfen Sie eine beliebige App im AppStore über SKStoreProductViewController

Über SKStoreProductViewController können Sie ganz einfach eine Verknüpfung zu Ihrer App im App Store herstellen. Aber ich hatte ein wenig Mühe, also beschloss ich, hier den gesamten Prozess und den notwendigen Code zu zeigen. Diese Technik stellt auch sicher, dass immer der richtige Speicher verwendet wird (wichtig für lokalisierte Apps).

Gehen Sie folgendermaßen vor, um den Produktbildschirm einer App des App Store in Ihrer App mit einem Ihrer ViewController-Apps anzuzeigen:

  1. Fügen Sie das StoreFit.framework in Ihre Projekteinstellungen ein (Ziel, Phasen erstellen -> Binär mit Bibliotheken verknüpfen)
  2. Importieren Sie StoreKit in die ViewController-Klasse
  3. Stellen Sie sicher, dass Ihr ViewController diesem Protokoll entspricht. SKStoreProductViewControllerDelegate
  4. Erstellen Sie die Methode, um StoreView mit dem gewünschten Produktbildschirm zu präsentieren
  5. Schließen Sie die StoreView

Aber das Wichtigste: Dies funktioniert aus irgendeinem Grund nicht im Simulator - Sie müssen auf einem realen Gerät mit Internetverbindung bauen und installieren.

  1. Hinzufügen des StorKit.frameworks zu Ihrem Projekt: Finden Sie dies in Ihren Projekteinstellungen

SWIFT 4: Dies ist der Code gemäß den beschriebenen Schritten:

    // ----------------------------------------------------------------------------------------
// 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
quelle
2

Hier ist der Code, den ich in meiner App verwende.

-(void)rateApp {

     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"itms-apps://itunes.apple.com/app/" stringByAppendingString: @"id547101139"]]]; 
}
Ahmet Hayrullahoglu
quelle
2

Die akzeptierte Antwort konnte die Registerkarte "Bewertungen" nicht laden. Ich habe die folgende Methode gefunden, um die Registerkarte "Überprüfen" ohne die Registerkarte "Details" zu laden.

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

Ersetzen Sie {APP_ID}durch Ihre App Apps Store App-ID.

TharakaNirmana
quelle
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)
        }
    }
Vyacheslav
quelle
2

Zitat aus der Apple Developer Documentation

Darüber hinaus können Sie weiterhin einen dauerhaften Link in die Einstellungen oder Konfigurationsbildschirme Ihrer App aufnehmen, der Deep-Links zu Ihrer App Store-Produktseite enthält. Um automatisch eine Seite zu öffnen, auf der Benutzer eine Bewertung im App Store schreiben können, hängen Sie den Abfrageparameter action = write-review an Ihre Produkt-URL an.

Die URL wäre also wie folgt:

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

DanLand
quelle
2

Dies funktioniert gut unter iOS 9 - 11.

Wurde in früheren Versionen nicht getestet.

[NSURL URLWithString:@"https://itunes.apple.com/app/idXXXXXXXXXX?action=write-review"];
RainKing
quelle
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
quelle
0

Ab iOS 10.3:

import StoreKit

func someFunction() {
 SKStoreReviewController.requestReview()
}

Es wurde jedoch gerade mit 10.3 veröffentlicht, sodass Sie für ältere Versionen, wie oben beschrieben, noch eine Fallback-Methode benötigen

Alex
quelle
0

Wenn Ihre App für die Beta genehmigt wurde und nicht live ist, ist der Link zur App-Überprüfung verfügbar, aber es ist nicht live, um Bewertungen zu hinterlassen.

  1. Einloggen in iTunes Connect
  2. Klicken My Apps
  3. Klicken Sie auf das, an dem App IconSie interessiert sind
  4. Stellen Sie sicher, dass Sie auf der App StoreSeite sind
  5. Gehe zum App InformationAbschnitt (er sollte dich automatisch dorthin bringen)
  6. Am Ende dieser Seite befindet sich ein blauer Link mit der Aufschrift View on App Store. Klicken Sie darauf und es wird eine leere Seite geöffnet. Kopieren Sie, was sich in der URL-Leiste oben auf der Seite befindet, und das ist der Link zu Ihren App-Bewertungen. Es wird live sein, sobald die App live ist.

Geben Sie hier die Bildbeschreibung ein

Lance Samaria
quelle