ios – 在没有重定向的情况下建立到iTunes商店的联盟链接?

Apple在“ Launching the App Store from an iPhone application”中解释了如何在应用程序商店中建立联盟链接并在后台处理重定向,这样就不会惹恼用户.但最好不要重定向.我似乎记得有办法做到这一点,但现在我无法在任何地方找到它.

是否可以在没有任何重定向的情况下从iOS应用程序到应用程序商店建立联盟链接

编辑:澄清一下,我说的是Linkshare会员链接.

编辑2:我越来越近了.我有这个链接,我直接抓住了linkshare的“文本链接页面.当在下面使用k1th的技巧时,在iPad上没有任何重定向的情况下工作,但仍然在iPod touch上有一个重定向[并且可能是iPhone].我推测重定向可能是从顶级iPad应用程序切换到顶级iPhone应用程序,但我不确定.

http://click.linksynergy.com/fs-bin/click?id=sf2bW7QX/qU&offerid=146261.10005745&type=3&subid=0

解决方法

我认为你不想重定向的原因是

>避免Safari浏览器弹出
>避免App Store应用程序内部的重定向

我更喜欢k1th的解决方案,但是失败了(我想它可能会失败#2),我认为问题是第一个itms链接不是“最终”链接.一种解决方案是简单地对URL进行硬编码(或通过其他方式提供):

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSURL myAppUrl = ....
    if ([request.URL.scheme isEqualToString:@"itms"] &&
        [[UIApplication sharedApplication] canopenURL:myAppURL]) {
        [[UIApplication sharedApplication] openURL:myAppURL];
        return NO;
    }

    return YES; // go on redirecting
}

更清晰的解决方案是从request.URL中的itms链接读取应用程序ID,并使用将直接带到您的应用程序的模式格式化新URL.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...