Rob*_*Rob 74 launch discovery ios4
有没有办法检查iOS以查看是否已安装另一个应用程序然后启动?如果内存为我服务,这在早期版本中是不可能的,但是这已经改变了吗?
小智 41
有一个如下的脚本.
<script type="text/javascript">
function startMyApp()
{
document.location = 'yourAppScheme://';
setTimeout( function()
{
if( confirm( 'You do not seem to have Your App installed, do you want to go download it now?'))
{
document.location = 'http://itunes.apple.com/us/app/yourAppId';
}
}, 300);
}
</script>
Run Code Online (Sandbox Code Playgroud)
通过Web(<a href="#" onclick="startMyApp()">Try to start MyApp</a>)调用此脚本,您可以确定是否在设备上安装了具有"yourAppScheme"方案的应用程序.
如果应用程序已安装在设备上并且"yourAppScheme"已在其中注册,则该应用程序将启动.如果未安装该应用程序,您可以建议用户从iTunes安装此应用程序.
Gav*_*ope 22
要检查是否安装了应用程序(例如,清除):
BOOL installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"clearapp://"]];
Run Code Online (Sandbox Code Playgroud)
要打开该应用:
BOOL success = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"clearapp://"]];
Run Code Online (Sandbox Code Playgroud)
st.*_*ick 13
如果未安装该应用程序,则隐藏错误消息
在分支机构,我们使用下面代码的形式 - 请注意,iframe适用于更多浏览器.只需在您的应用的URI和App Store链接中替换即可.
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
window.onload = function() {
// Deep link to your app goes here
document.getElementById("l").src = "my_app://";
setTimeout(function() {
// Link to the App Store should go here -- only fires if deep link fails
window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8";
}, 500);
};
</script>
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
第二种可能性首先依赖于cookie,而javascript重定向仅作为后备.这是逻辑:
当没有应用程序的用户首先点击指向您应用程序的链接时,他或她将被直接重定向到App Store.这是通过指向您的应用程序的链接实现的,该链接实际上是使用重定向在您的服务器上动态生成的页面.您创建一个cookie并在后端记录IP地址,操作系统,操作系统版本等的"数字指纹".
当用户安装应用程序并打开它时,您将收集并向您的后端发送另一个"数字指纹".现在,您的后端知道链接已安装在随后访问与您的应用关联的链接时,您的服务器会确保动态生成的重定向页面基于随请求发送的cookie导向应用程序,而不是App Store.
这避免了丑陋的重定向,但涉及更多的工作.
| 归档时间: |
|
| 查看次数: |
88128 次 |
| 最近记录: |