当前位置:首页 > 资讯 > info5 > 正文

IOS下的应用唤起实现原理

发表于: 2016-09-02   作者:fareise   来源:转载   浏览:
摘要: 一、什么是IOS应用唤起IOS中的应用唤起用来实现以下功能:在浏览器中可以通过某些方式打开IOS手机本地的app,如果该app没有安装可以跳转到该应用对应的App Store的下载页。 二、App store下载页连接App store中某个应用的下载页连接形如:https://itunes.apple.com/us/app/id399608199。在PC端浏览器打开该连接会跳转到应用详情页的PC

一、什么是IOS应用唤起

IOS中的应用唤起用来实现以下功能:在浏览器中可以通过某些方式打开IOS手机本地的app,如果该app没有安装可以跳转到该应用对应的App Store的下载页。

 

二、App store下载页连接

App store中某个应用的下载页连接形如:https://itunes.apple.com/us/app/id399608199。在PC端浏览器打开该连接会跳转到应用详情页的PC端界面。在Safari中打开该连接,浏览器会询问是否在App Store中打开该连接,选择打开即会自动打开App Store并跳转到对应应用的下载界面。

 

三、URL Schemes

URL SchemesURL很类似,一个URL可以指向某个网站(如https://www.apple.com指向苹果官网),也可以指向该网站内部具体的某个页面(如https://www.apple.com/mac/指向苹果官网的Mac页面)。一个URL Schemes也可以指向某个APPweixin://指向微信这个APP)或者APP内部的某个功能(weixin://dl/moments/指向微信朋友圈功能)。

基本URL Schemes指的是如weixin://的这部分。通过这个基本URL Schemes,可以打开某个IOS APP应用。比如在Safari的地址栏中输入weixin://,浏览器就会提示是否打开微信,选择打开,手机就会自动打开本地的微信应用。

 

四、IOS应用唤起方法

1.直接跳转法(支持各个版本IOS系统)

最简单的方法,在页面中使用a标签制作一个按钮,让其href指向打开APP的基本URL Schemes即可。考虑到可能本地没有安装,这时需要通过js代码让浏览器跳转到对应的App Store下载页。可以设定一个合理的反映时间时间,如果超时还没有打开应用的话,就跳转到下载页面,可以使用setTimeout方法,代码如下:

$('a').click(function() {
    location.href = 'weixin://';
    setTimeout(function() {
        location.href = 'https://itunes.apple.com/us/app/id399608199';
    }, 500);
}

2.使用iframe(仅支持IOS8及其以下版本)

通过为body中添加一个隐藏的iframe,其内部的src设置成对应的连接,即可实现该功能,代码如下:

var url = {
  open: 'weixin://',  //对应的Scheme
  down: 'https://itunes.apple.com/us/app/id399608199'   //对应的下载地址
};
var iframe = document.createElement('iframe');  //创建一个iframe
var body = document.body;
iframe.style.cssText='display:none;width=0;height=0';  //设置该iframe为不可见的
var timer = null;
var openapp = document.getElementById('openapp');
openapp.addEventListener('click', function() {
  body.appendChild(iframe);   //点击打开app按钮后,将这个iframe添加到body中
  iframe.src = url.open;  //设置iframe的src为weixin://,通过这个iframe进行跳转
  timer = setTimeout(function() {
    wondow.location.href = url.down;  //500ms后跳转到下载界面
  }, 500);
}, false)

3.使用Universal links(目前仅IOS9支持)

Universal linksIOS9新增的功能,它是一个普通的HTTP连接。通过Universal links,能够方便的通过传统的HTTP链接来启动APP(如果iOS设备上已经安装了app), 或者打开对应下载界面(iOS设备上没有安装app)

 

IOS下的应用唤起实现原理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
阻抗控制的应用: 利用阻抗控制最成功的当属kuka的iiwa机器人了,比如: 柔顺控制和曲面跟踪: http
简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个
sphinxSE的实现原理和应用 一. sphinxSE工作原理 sphinxSE是一个mysql的扩展数据库引擎,通过sphin
一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1、Provider:就是
在之前我写过SDWebImage的使用方法,主要是用与获取网络图片,没有看过的朋友可以看看。 这篇文章将
关于iOS 实现消息推送的原理: 1.provide[服务器]把要发送的消息,目的IOS设备标识打包,发送给AP
解析 iOS 动画原理与实现 这篇文章不会教大家如何实现一个具体的动画效果,我会从动画的本质出发,
转载自:http://tech.meituan.com/DiveIntoCategory.html 摘要 无论一个类设计的多么完美,在未来的
就在今天,终于把两种主流的压缩格式给搞定了.. 途中真的碰到不少坎坷,百度谷歌了无数篇,不过还是要
本文分为2个部分:概念与应用。 概念部分旨在剖析KVO这一设计模式的实现原理,应用部分通过创建的项
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号