我想使用网址方案打开我的ios应用。我可以用这个打开app。 但我想如果没有安装应用程序,那么应该打开应用程序商店,用户可以下载应用程序。 这可能吗?我怎么能这样做?
修改 逐步解释问题:
感谢
答案 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以从网址打开应用。