【问题标题】:Link for iOS app ratingiOS 应用评分链接
【发布时间】:2016-05-19 05:59:27
【问题描述】:

我一直在尝试将用户引导至应用商店 (iTunes) 以对我的应用进行评分。 我无法获得正确的链接。用户说当他们点击按钮时,什么都没有发生。

这是我正在使用的当前链接:

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

在我的 Adob​​e AIR 代码中,这是一行:

navigateToURL(new URLRequest("tms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=XXXXX"));

(当然XXXX换成我的App ID)。

感谢任何帮助。 谢谢。

【问题讨论】:

  • 我猜是tms-apps 协议。 another question 是关于评论链接的,first answer 提供了一些替代方案。这是一个相当古老的问题,但也许它仍然有效。

标签: ios actionscript-3 apache-flex air itunes


【解决方案1】:

这是核心的objective-c 代码。它非常不言自明。您需要做的就是检查设备是否运行 iOS 7 或更早版本。在 iOS 7 中,评分页面的 URL 有所不同。

iOS 7 或更早版本的 URL 格式: itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=XXXXXXX

iOS 7 以上的 URL 格式: itms-apps://itunes.apple.com/app/idXXXXXX

在 Objective-C 中,它看起来像这样:

NSString *cAppleID = @"YOUR_APP_ID";
NSString* iOS7AppStoreURLFormat = @"itms-apps://itunes.apple.com/app/id%@";
NSString* 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]];

在 AS3 中,它看起来更像这样(iOSVersion getter from How to determine the IOS version from within an Flex mobile app (AIR)):

//Put in a Utils class
public static function get iOSVersion():uint {
    var iosVersion:String = Capabilities.os.match( /([0-9]\.?){2,3}/ )[0];
    return Number( iosVersion.substr( 0, iosVersion.indexOf( "." ) ) );
}



var osVersion:Number = Utils.iOSVersion;
var url:String;
if (osVersion >= 7.0) {
    url = "itms-apps://itunes.apple.com/app/idXXXXXX";
} else {
    url = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=XXXXXXX";
}

navigateToURL(new URLRequest(url));

【讨论】:

  • 这是什么?请添加一些描述,这甚至是AS3吗?
  • 删除这个与 AS3 问题无关的答案。
  • @BotMaster 我不同意。这完美地回答了这个问题;它详细说明了所需的 URL 格式,具体取决于 iOS 版本,很明显问题中显示的格式与此答案中的格式不匹配。 Objective-C 代码实际上只是分散注意力。
  • @Brian 编辑得很好,我注意到 Objective-C 代码使用了initWithFormat,最终的 URL 包含了cAppleID。我认为这是 POST 操作的 URL 变量?如果 AS3 版本的 URL 中没有提到,这有关系吗?没有足够的服务器/iTunes 经验,但我想知道离开它是否会阻止进展...
  • @VC.One initWithFormat 只是用cAppleID 替换%@ 中使用的_AppStoreURLFormat 变量。与在每个字符串文字中分别输入苹果 ID 相比,这是包含苹果 ID 的更惯用的方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-08
  • 2011-04-08
  • 1970-01-01
  • 2018-01-23
  • 2011-11-18
相关资源
最近更新 更多