Enlace de la tienda de aplicaciones para "calificar/revisar esta aplicación"

Resuelto William Jockusch asked hace 14 años • 30 respuestas

Quiero incluir una función de "calificar/revisar esta aplicación" en mi aplicación.

¿Hay alguna forma de vincular directamente a la pantalla de la tienda de aplicaciones donde revisan la aplicación? Para que el cliente no tenga que hacer clic en el enlace principal de la aplicación. Gracias.

EDITAR: iniciando una recompensa por esto debido a la falta de respuesta. Solo para asegurarme de que quede muy claro: soy consciente de que puedo vincular a la página de mi aplicación en la tienda y pedirle al usuario que haga clic desde allí para ir a la pantalla "revisar esta aplicación". La pregunta es si es posible vincularse directamente a la pantalla "revisar esta aplicación" para que no tengan que hacer clic en nada.

William Jockusch avatar Jun 26 '10 20:06 William Jockusch
Aceptado

Para versiones inferiores a iOS 7 utilice la anterior:

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

Esto funciona por mi parte (Xcode 5 - iOS 7 - ¡ Dispositivo !):

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

Para iOS 8 o posterior:

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

Fragmento de código (puedes copiarlo y pegarlo):

#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 avatar Jul 02 '2010 15:07 elibud

Actualizar:

Rápido 5.1, Xcode 11

Probado en dispositivo real iOS 13.0 (garantía de funcionamiento)

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.
        }
    }
}
Strong84 avatar Jul 08 '2016 08:07 Strong84