228 Stimmen

App-Store-Link für "Diese Anwendung bewerten/rezensieren"

Ich möchte eine Funktion zum Bewerten dieser Anwendung in meine Anwendung einbauen.

Gibt es eine Möglichkeit, direkt auf den Bildschirm im App Store zu verlinken, wo die App bewertet wird? So muss der Kunde nicht durch den Hauptlink der App klicken. Danke!

EDIT: Aufgrund der mangelnden Resonanz habe ich ein Kopfgeld auf diese Sache ausgesetzt. Nur um sicherzugehen, dass es kristallklar ist: Mir ist bewusst, dass ich auf die Seite meiner App im Store verlinken kann und den Nutzer bitten kann, von dort aus auf den Bildschirm "Diese App bewerten" zu klicken. Die Frage ist, ob es möglich ist, direkt auf den Bildschirm "Diese App bewerten" zu verlinken, so dass der Nutzer sich nicht durch irgendetwas klicken muss.

363voto

elibud Punkte 8049

Für Versionen kleiner als iOS 7 verwenden Sie die alte Version:

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

Dies funktioniert auf meinem Ende (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

Codefragment (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

96voto

Strong84 Punkte 1753

Aktualisierung:

Swift 5.1, Xcode 11

Getestet auf Real Device iOS 13.0 (Funktionsgarantie)

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.
        }
    }
}

46voto

Andrei Herford Punkte 16270

EDIT: iOS 11 Lösung

Dies ist die Lösung für meine ursprüngliche Antwort (siehe unten). Wenn Sie das iOS 11 verwenden, funktioniert das folgende Link-Format:

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

Einfach ersetzen APP_ID mit Ihrer spezifischen App-ID. Der Schlüssel, damit der Link funktioniert, ist die Länderkennzeichen . Der obige Link verwendet die us Code, aber es spielt eigentlich keine Rolle, welcher Code verwendet wird. Der Nutzer wird automatisch zu seinem Shop weitergeleitet.

iOS 11 Update:

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

Das Problem besteht wahrscheinlich darin, dass eine App-Seite in der iOS 11 App Store App nicht NICHT keine Registerkarte "Review" mehr haben. Stattdessen befinden sich die Bewertungen jetzt direkt unter der Beschreibung und den Screenshots. Natürlich könnte es immer noch möglich sein, diesen Bereich direkt zu erreichen (z.B. mit einer Art Anker), aber es scheint, dass dies nicht unterstützt / von Apple beabsichtigt.

Die Verwendung eines der folgenden Links funktioniert nicht mehr. Sie bringen die Nutzer immer noch zur App Store App aber nur auf eine leere 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

Alle, die diese Links noch verwenden, sollten ihre Anwendungen so schnell wie möglich aktualisieren. Denn die Nutzer auf eine leere App-Store-Seite zu verweisen, ist höchstwahrscheinlich nicht das, was Sie beabsichtigen.

Links, die nicht auf die Seite "Review", sondern auf die Seite "App" verweisen, funktionieren jedoch weiterhin, z. B.

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

Sie können die Nutzer also immer noch auf Ihre App-Store-Seite leiten, aber nicht mehr direkt in den Bewertungsbereich. Die Nutzer müssen nun manuell zum Abschnitt "Bewertungen" scrollen, um ihr Feedback abzugeben.

Ohne Frage ist dies ein großartiger Vorteil für die Nutzererfahrung und wird Entwicklern dabei helfen, Nutzer dazu zu bringen, qualitativ hochwertige Bewertungen zu hinterlassen, ohne sie zu verärgern". Gut gemacht Apple...

38voto

ETech Punkte 1518

Alles, was oben steht, ist richtig. Nur ein Beispiel zum Einfügen in die App und Ändern von {YOUR APP ID} in die tatsächliche App-ID, die von iTunesconnect genommen wurde, um die Review-Seite anzuzeigen. Bitte beachten Sie, wie es oben kommentiert wurde, dass es nicht auf dem Simulator funktioniert - nur das Gerät.

  • Korrektur aufgrund der Änderungen in iOS 7.

  • Korrigieren für iOS 10+ openURL cambia

  • Für iOS 13.6+ ist die Review-URL mit derjenigen zugänglich, die vor Version 6.0 verwendet wurde. Sie führt direkt zur Bewertungsseite. Code aktualisiert

    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];
    int vers = (int) [[UIDevice currentDevice].systemVersion integerValue];
    if (vers > 6 && vers < 12 ) theUrl = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appId];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:theUrl] options:@{} completionHandler:nil];

26voto

deko Punkte 2384

Alle oben genannten Ansätze sind richtig, aber heutzutage werden SKStoreProductViewController führt zu einer besseren Nutzererfahrung. Um es zu verwenden, müssen Sie Folgendes tun:

  • implementieren SKStoreProductViewControllerDelegate Protokoll in Ihrer App delegieren

  • hinzufügen erforderlich productViewControllerDidFinish Methode:

    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
      [viewController dismissViewControllerAnimated: YES completion: nil];
    }
  • Prüfen Sie, ob 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]];
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X