我想把一个“率/审查这个应用程序”功能到我的应用程序。
是否存在一种方法能够直接链接到应用商店中他们评论应用的屏幕?所以用户不需要点击主应用程序链接。谢谢。
编辑:由于缺乏回应,开始赏金。为了确保这一点非常清楚:我知道我可以链接到应用商店中我的应用页面,并让用户从那里点击到“审查这款应用”屏幕。问题是是否有可能直接链接到“审查这个应用程序”屏幕,这样他们就不需要点击任何东西。
我想把一个“率/审查这个应用程序”功能到我的应用程序。
是否存在一种方法能够直接链接到应用商店中他们评论应用的屏幕?所以用户不需要点击主应用程序链接。谢谢。
编辑:由于缺乏回应,开始赏金。为了确保这一点非常清楚:我知道我可以链接到应用商店中我的应用页面,并让用户从那里点击到“审查这款应用”屏幕。问题是是否有可能直接链接到“审查这个应用程序”屏幕,这样他们就不需要点击任何东西。
当前回答
在iOS7中,将你的应用程序切换到app Store进行费率和审查的URL已经更改:
itms-apps://itunes.apple.com/app/idAPP_ID
APP_ID需要替换为您的应用程序ID。
对于iOS 6和更老版本,之前答案中的URL工作正常。
来源:Appirater
享受编码. . ! !
其他回答
编辑:iOS 11解决方案
这是我最初答案的解决方案(见下文)。当使用iOS 11时,以下链接格式可以工作:
https://itunes.apple.com/us/app/appName/idAPP_ID?mt=8&action=write-review
只需将APP_ID替换为特定的应用程序ID。使链接起作用的关键是国家代码。上面的链接使用美国代码,但实际上使用哪个代码并不重要。用户将自动被重定向到他的商店。
iOS 11更新:
似乎其他答案中提供的直接进入评论页面的解决方案都不适用于iOS 11。
最可能的问题是,iOS 11应用商店中的应用页面不再有评论标签。相反,评论现在位于描述和截图的正下方。当然,仍然可以直接访问这个部分(例如通过某种锚),但似乎苹果并不支持/不打算这样做。
使用下列链接之一不再工作。它们仍然会将用户带到App Store应用中,但只是一个空白页面:
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
所有仍在使用这些链接的人都应该尽快更新他们的应用,因为将用户引向空白的App Store页面很可能不是你想要的。
链接不涉及审查页面,但到应用程序页面,仍然工作,然而,例如。
itms-apps://itunes.apple.com/app/idYOUR_APP_ID (same as above, but without write-review parameter)
所以,你仍然可以让用户进入你的应用商店页面,但不再直接进入评论区。用户现在必须手动向下滚动到评论部分来留下他们的反馈。
毫无疑问,这是“用户体验的一大好处,有助于开发者吸引用户留下高质量的评论,而不会惹恼他们”。苹果干得好……
对于低于iOS 7的版本,请使用旧版本:
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=YOUR_APP_ID
这在我的端工作(Xcode 5 - iOS 7 -设备!):
itms-apps://itunes.apple.com/app/idYOUR_APP_ID
对于iOS 8或更高版本:
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software
代码片段(你可以复制粘贴它):
#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
斯威夫特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)
}
}
通过SKStoreProductViewController链接到AppStore中的任何应用程序
很容易通过SKStoreProductViewController链接到应用商店的应用程序。但是我有点纠结,所以我决定在这里展示整个过程和一些必要的代码。这种技术还可以确保始终使用正确的商店(对于本地化应用程序很重要)。
要在你的应用程序商店中显示任何应用程序的产品屏幕,你的任何应用程序ViewControllers遵循以下步骤:
在项目设置中添加StoreKit.framework(目标,构建阶段->链接二进制库 导入StoreKit到ViewController类中 使你的ViewController符合这个协议 SKStoreProductViewControllerDelegate 创建方法,将StoreView显示为所需的产品屏幕 解散StoreView
但最重要的是:出于某种原因,这在模拟器中不起作用——你必须在具有互联网连接的真实设备上构建和安装。
添加StorKit.framework到你的项目:
SWIFT 4:这是根据前面描述的步骤编写的代码:
// ----------------------------------------------------------------------------------------
// 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)
}
}
知道你的苹果应用程序id,它是你的itunes应用程序url后id字段的数字。
比如:https://itunes.apple.com/app/id148688859, 148688859是你的应用id。
然后,使用正确的应用程序id重定向到此url: https://itunes.apple.com/app/idYOUR_APP_ID?action=write-review。