如何使用url打开ios app?

时间:2016-03-08 11:57:20

标签: ios deep-linking url-scheme

我想使用网址方案打开我的ios应用。我可以用这个打开app。 但我想如果没有安装应用程序,那么应该打开应用程序商店,用户可以下载应用程序。 这可能吗?我怎么能这样做?

修改 逐步解释问题:

  1. 我的收件箱中有一封邮件,上面有一个网址。
  2. 然后点击网址 一世。如果应用程序安装在手机中,应用程序将启动。 II。否则将打开app store下载应用程序。
  3. 感谢

3 个答案:

答案 0 :(得分:7)

我通过服务器端代码处理它:

if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
location.replace("com.myapp://");
setTimeout(function() {
                if (!document.webkitHidden) {
                    location.replace("https://itunes.apple.com/app/xxxxxxxx");
                }
            }, 25);}
else if ((navigator.userAgent.match(/android/i)) || (navigator.userAgent.match(/Android/i))) {
location.replace("https://play.google.com/store/apps/details?id=packagename&hl=en");}
else  {
location.replace("http://www.example.com");}

我把它放在我的www.mysite.com/download页面&通过广告系列分享此网址。

答案 1 :(得分:4)

您所描述的内容称为延迟深层链接(Deep Linking是指使用链接打开您的应用,甚至是直接针对特定内容,Deferred表示即使该应用程序尚未安装。)

不幸的是,在iOS或Android上都没有本地方法可以实现这一点。 URL方案不起作用,因为如果未安装应用程序,总是会失败。 iOS 9中Apple的新版Universal Links越来越接近,但您仍需要处理将用户从您的网站重定向到App Store

Branch.io这样的免费服务(完全披露:他们与我们合作非常棒)可以为你处理所有这些。以下是文档页面,其中详细介绍了如何创建您所描述的电子邮件链接:https://dev.branch.io/features/email-campaigns/overview/

答案 2 :(得分:-1)

如果您的应用未安装在设备中,则可以使用以下代码行打开应用商店:

NSString *iTunesUrlofApp = @"itms://itunes.apple.com/us/app/apple-store/...";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesUrlofApp]];

尝试以下代码:

if([[UIApplication sharedApplication] canOpenURL:url]){
    // Means your app is installed, and it can be open
    [[UIApplication sharedApplication] openURL:url];
}
else{
    //Your app is not installed so, Open app store with your apps iTunes Url
    NSString *iTunesUrlofApp = @"itms://itunes.apple.com/us/app/apple-store/...";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesUrlofApp]];

}

在iOS 5之后,您还可以使用https://来避免重定向。

编辑:

如果已安装,请检查从网址打开应用的链接:Universal links以从网址打开应用。