在我的应用程序中如何直接添加“在iTunes中评价”链接?

58

我在Stackoverflow上看到一些帖子描述了如何让用户被重定向到应用商店的应用页面。

是否有一种方法可以链接直接到应用商店中的评分和评论表单


据我所知,我认为这是不可能的 - 我也没有在任何应用程序中看到过这种情况 - 通常它们会提供链接到商店,然后启动AppStore应用程序。 - Pripyat
1
可能是重复的问题,与应用商店链接“评价/评论此应用程序”相同。 - Brad Larson
我为此编写了一个库,以最小的工作量完成此任务:https://github.com/nicklockwood/iRate。我建议使用库而不是自己编写解决方案。这似乎是一个简单的问题,但该库会处理许多额外的事情,比如根据安装时间或使用次数自动提示用户等,并确保只有在用户拥有网络连接时才提示他们。 - Nick Lockwood
AskingPoint提供免费的应用程序分析API,其中包括一个评级小部件,可直接将用户带到您的应用商店页面。www.askingpoint.com - 它使用您的应用程序分析仅向最佳用户询问评级。-可以从帐户仪表板实时调整查看它的设置。-它被本地化为32种语言。完全披露,我是联合创始人。但是请查看它,它是免费的。 - Cliff Ribaudo
5个回答

97

使用此博客上描述的技术是可能的:

http://www.memention.com/blog/2009/09/03/Open-Reviews.html

基本上,您可以使用以下方式调用 UIApplication openURL:

NSString* url = [NSString stringWithFormat: @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", myAppID];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];

在您的应用程序在应用商店中可用之前,使用iTunesConnect定义新应用程序 - 给它一个名称、描述、图标、屏幕截图等。定义完成后,您可以从应用程序的标识符部分获取Apple ID。

编辑:

这是一个可行的替代URL/方法:

NSString* url = [NSString stringWithFormat:  @"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8", appid];

[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url ]];

我认为这两者之间的区别在于第一种技术(itms-apps://)直接启动App Store应用程序,而第二种技术(http://)通过从http网页URL结果重定向间接启动它。需要确认;这仅是我的回忆。


1
@Moshe - 如果这个答案对你有用的话,如果你能将其标记为正确答案就太好了。 - TomSwift
59
注意 - "type=Purple+Software" 必须存在,而且必须是字面上的 "Purple Software" - 它不是你公司的名称,而是 iPhone 应用的代号 :)在我弄清楚之前,我浪费了一个小时... - Kuba Suder
1
你的回答中方法1和方法2之间有区别吗?如果有,请在回答中详细说明。如果没有,也请在回答中指明。 :) - Josh Brown
第一个不适用于Cordova/PhoneGap和window.open(),但第二个适用。 - Timo Ernst

20

这里的答案已经过时。

这在我的设备上可行(Xcode 5 - iOS 7 - 仅适用于实际设备,而非模拟器!):

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

对于低于iOS 7版本的设备,请使用旧版:

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

我们能否在不重定向到App Store的情况下进行此评级?比如只是将值传递给某个API? - abhimuralidharan
@abhi1992 目前还没有办法做到。我认为苹果未来不会直接通过API向开发者提供这种选项,除非有苹果操作系统的屏幕支持。 - Idan

2
我使用的简单方法是:;
 -(void)rateApp {

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

1

您也可以使用SKStoreProductViewController作为替代方案。它将在您的应用中打开商店。您可能会更喜欢它,而不是在iPad上打开另一个应用程序。


0

感谢Ahment提供的Swift版本:

            UIApplication.sharedApplication().openURL(NSURL(string: "itms-apps://itunes.apple.com/app/id951334398")!)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接