精华内容
下载资源
问答
  • 但是因为无法判断是否安装APP,所有只能尝试去打开APP,如果打不开则跳转APP下载页面。另外手机浏览器的类型很多,各个浏览器显示的效果也不一样,一直无法找到一个完全兼容所有浏览器的方法,没有完美的解决方案...

     一个比较完整的产品线,必定有APP和网站,另外还有微信公众号网页和小程序。那么有一个比较常见的需求就是在手机浏览器内打开APP,实现起来也比较简单,只要APP配置的有URLScheme即可。但是因为无法判断是否安装APP,所有只能尝试去打开APP,如果打不开则跳转到APP下载页面。另外手机浏览器的类型很多,各个浏览器显示的效果也不一样,一直无法找到一个完全兼容所有浏览器的方法,没有完美的解决方案。

      打开APP的操作就是链接打开 location.href = "scheme://",APP未安装的时候链接打开有的时候会跳转到错误页面,所以可以使用iframe来跳转,保证浏览器链接一直在当前页面 document.querySelector("#iframeId").src = "scheme://",打开APP大部分手机浏览器会弹窗是否允许跳转打开。

      打开APP失败时跳转到下载,因为无法判断打开是否成功,所以通过setTimeout两秒后跳转下载地址。下载地址ios:https://itunes.apple.com/cn/app/要跳转的APP的appid,安卓下载地址自定义即可,放到自己的服务器地址上边,浏览器打开.apk地址自动提示下载。

    测试了流行的几个手机浏览器,总结一下需要注意以下几点:

      1. 微信公众号网页打开APP,微信已经开放了接口,在微信开放平台配置域名代码里面添加按钮后即可跳转,小程序打开APP也有相关文档说明。https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Resource_Center_Homepage.html

      2. 安卓下的谷歌浏览器无法通过iframe的方式打开,必需使用location.href。

      3. 手机百度浏览器不支持打开APP,这个是百度自己的问题,不允许打开APP。另外百度浏览器中页面的按钮文字含有“下载”或“打开”的时候,按钮会被百度给隐藏掉(好霸道),所以只能换下文字或者加空格“下 载”“打 开”。

      4. UC浏览器页面初始化后直接通过js打开APP打开不了,需要点击实际的按钮触发打开。

    最终实现的方式如下:

    1. 通过js判断浏览器类型 

     var Navigator = navigator.userAgent;
    
      var ifChrome = Navigator.match(/Chrome/i) != null && Navigator.match(/Version\/\d+\.\d+(\.\d+)?\sChrome\//i) == null ? true : false; //判断是不是谷歌浏览器
    
      var ifAndroid = (Navigator.match(/(Android);?[\s\/]+([\d.]+)?/)) ? true : false; //判断是不是安卓
    
      var ifIos = /(iPhone|iPad|iPod|iOS)/i.test(Navigator); //判断是不是ios
    
      var ifUCorBaidu = /(UCBrowser|baiduboxapp)/i.test(Navigator); //判断是不是UC或百度浏览器
    
      var openUrl = "scheme://";
    
      var androidDownUrl = "https://xxx/1.0.0.apk";
    
      var iosDownUrl = "https://itunes.apple.com/cn/app/要跳转的APP的appid";

    2. 分别操作

    <div class="buttons" @click="openApp">{{text}}</div>
    
    <iframe id="myDown" style="width: 1px;height: 1px;position: absolute;z-index: -1;top:10px"></iframe>
    
    if(ifUCorBaidu) {
    
      this.text = '点 击 下 载 APP';
    
    } else {
    
      this.text = '正在跳转中';
    
      openApp();
    
    } //这里使用了vue,也可以用其他方式修改按钮文字
    
    function openApp() {
    
    window.onblur = function() {
    
      if(myTimeout) {
        clearTimeout(myTimeout);
      }
    }; //onblur可以检测到页面消失,这时候一般已经打开了APP,就清除掉下载定时器,不跳出下载链接。
    
    if (ifIos) {
      if(ifUCorBaidu) {
        window.location.href = iosDownUrl; //ios跳到App Store也可以打开APP,所以直接打开就好了。
      } else {
        window.location.href = openUrl;
        var myTimeout = setTimeout(function () {
          window.location.href = iosDownUrl;
        }, 1000);
      } else{
    
        if(ifChrome && ifAndroid) {
          setTimeout(function() {
            window.location.href = openUrl;
          }, 50)
        } else {
          document.querySelector("#myDown").src = openUrl;
        }
        var loadDateTime = Date.now();
        setTimeout(function() {
          var myTimeout = setTimeout(function() {
          var timeOutDateTime = Date.now();
          if (loadDateTime && (timeOutDateTime - loadDateTime) < (1500 + 200)) {
              window.location.href = androidDownUrl
            } //这里的操作跟直接setTimeout是一样的
          }, 1500);
        }, 100)
      }
    
    }
    
    }

    经过测试 百度浏览器,QQ浏览器,UC浏览器,360浏览器,搜狗浏览器,夸克浏览器,Safari浏览器效果都还算理想。

    展开全文
  • 经常使用Safari浏览器浏览网页点击url会唤醒该网站的手机版app 需要在app的工程中设置 1、打开工程中的myapp-Info.plist文件 2、打开文件中新增URL TYPES的一项,具体如下图所示: 3、在工程中实现如下方法 ...

    经常使用Safari浏览器浏览网页点击url会唤醒该网站的手机版app

    需要在app的工程中设置

    1、打开工程中的myapp-Info.plist文件

    2、打开文件中新增URL TYPES的一项,具体如下图所示:


    3、在工程中实现如下方法

    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

        if (url) {

            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"你唤醒了您的应用" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];

            [alertView show];

        }

        return YES;

    }


    4、在Safari浏览器输入myapp:// ,就可以启动应用了,在Safari浏览器测试通过


    来源:www.wahenzan.com

    展开全文
  • 但是微信scheme接口会自动屏蔽含apk或ios文件的下载链接,不允许直接通过微信下载安装文件。如果域名访问次数过多后被系统检测会自动封掉该域名。 使用微信推广的用户经常都会遇到推广链接被拦截导致无法下载app的...

     微信作为目前我们最常用的社交软件,所以我们许多商家在推广app下载的时候,都是通过微信分享链接进行直接下载。从微信分享的链接下载apk或者ios文件是很常用的一个功能。但是微信scheme接口会自动屏蔽含apk或ios文件的下载链接,不允许直接通过微信下载安装文件。如果域名访问次数过多后被系统检测会自动封掉该域名。

    使用微信推广的用户经常都会遇到推广链接被拦截导致无法下载app的情况,此时用户在微信中打开会提示“已停止访问”。这对于使用微信营销的商家来说就很不友好且损失非常大,因为用户是不知道为什么打不开的,故不知不觉地流失了或者选择其他平台了。

    那么针对这个问题到底要怎么解决呢,其实只需要一个能实现微信内下载app的功能,

    被封域名后台用户在微信中打开连接就会提示不存在或已停止访问的提示。但很多用户不知道是棋牌游戏app下载链接被屏蔽了,故以为是链接有问题,最后在该步骤流失的量就会很大,推广转化率就会很低。那么究竟该如何解决这个问题呢?

    功能目的

    生成微信跳转链接,实现微信内置浏览器跳转外部浏览器打开网页。

    操作步骤

    第一步:打开XufJUMP,填入链接,点击生成

    第二步:将生产的新链接复制分享

    两步即可轻松实现微信跳转手机默认浏览器打开指定网址,如果链接是app下载链接,即微信跳转手机浏览器下载app。

    关于微信跳转手机浏览器直接下载app其他资料:https://blog.csdn.net/crayydog743/article/details/88129713

    ak2qcj6d.png

    展开全文
  • 在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转appstore下载该应用 须要在project中设置例如以下: 1、打开project中的myapp-Info.plist文件 2、打开文件里新增URL TYPES的一项,详细例如以下图...

    在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用

    须要在project中设置例如以下:

    1、打开project中的myapp-Info.plist文件

    2、打开文件里新增URL TYPES的一项,详细例如以下图所看到的:



    在你要打开的网页中使用例如以下的代码:

    <!-- a标签的链接。设置为相应的下载链接。点击打开的动作,在click事件中注冊 -->  
    <a href="https://itunes.apple.com/cn/app/id892359007" id="openApp">我的应用</a>  
    <script type="text/javascript">  
        document.getElementById('openApp').onclick = function(e){  
            // 通过iframe的方式试图打开APP,假设能正常打开,会直接切换到APP,并自己主动阻止a标签的默认行为  
            // 否则打开a标签的href链接  
            var ifr = document.createElement('iframe');  
            ifr.src = 'laoshi://';  
            ifr.style.display = 'none';  
            document.body.appendChild(ifr);  
            window.setTimeout(function(){  
                document.body.removeChild(ifr);  
            },3000)  
        };  
    </script>  

    用UC浏览器打开后出现我的应用的链接

    最后在appdelegate中的中实现例如以下方法:

    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
        return YES;
    }

    这样就能够在iPhone端的UC浏览器点击我的应用链接地址启动自己的app了

    延伸阅读:http://www.wahenzan.com/a/mdev/ios/2014/1217/365.html

    http://www.w3ctech.com/topic/287


    展开全文
  • 1,Safari浏览器跳转到第三方的应用程序,就需要在你的应用程序中定义一个特殊的标示,也就是一个URL协议,TARGETS - >信息 - > URL类型 - >添加一个URL协议 屏幕快照 其中URL方案字段就是你这个APP的特殊...
  • 图文分享到微信 并在浏览器唤醒app跳转到指定页面 1.在app里,给要分享的按钮添加点击事件 uni.share({ provider: "weixin", scene: "WXSceneSession",//选择分享到微信聊天界面 type: 0, href:...
  • 阻止safari跳转appApple’s macOS simultaneously offers the world’s most streamlined default browser, and the world’s most bloated default music player. And one has a bad habit of constantly launching...
  • 在做 h5 页面中,会遇到这样一个需求,有一个立即打开的按钮,如果本地安装了我们的 app,那么点击就直接唤起本地 app,如果没有安装,则跳转到下载。  首先想到的是两个问题:一是如何唤起本地 app,二是如何判断...
  • 前段时间遇到一个小需求:要求在分享出来的h5页面中,有一个立即打开的按钮,如果本地安装了我们的app,那么点击就直接唤起本地app,如果没有安装,则跳转到下载。 因为从来没有做过这个需求,因此这注定是一个苦逼...
  • 把页面链接urlencode后 拼接到alipays://platformapi/startapp?appId=20000067&url= 后面 访问拼接的链接来实现唤起支付宝访问指定页面 如: alipays://platformapi/startapp?appId=20000067&...
  • ——这个问题困扰很多App的推广团队。 其实自从腾讯开放平台战略以来,拥有中国强大互联网资源的腾讯站在更高的战略高度上,以自信的态度面对互联网生态链,对待遵章守法移动开发者的态度也更为开放和善意,对于正常...
  • vivo手机权限禁止–跳转至对应app的权限设置页面 开始我用的这个方法在vivo 酷派,oopo上:(在vivo上已不能使用) private void doStartApplicationWithPackageName(String packagename) { // 通过包名获取此APP...
  • 为了提高转化率,就需要让用户不管是在微信或者是浏览器中,都能在点击链接后, 唤起本地的 app 后 , 跳转到指定页面 。虽然这个功能从用户体验方面来说是自然而然的,但是由于 iOS/Android 平台差异性,在实现...
  • 苹果手机自带浏览器打开链接时,360手机用360浏览器,小米手机用百度浏览器,还有手机使用UC ,可以弹出是否打开淘宝APP的提醒。 手机QQ浏览器,谷歌浏览器打开链接时,都不弹出是否打开淘宝APP提醒。 请问有什么...
  • 最近公司为了增加用户活跃度,新增了许多活动,要求从多种方式可以跳转App的制定页面。比如闪屏页、首页弹框、首页banner、webView、极光推送消息点击跳转以及通过短信跳转App。 对此,我们制定了一套专属于公司...
  • 浏览器判断是否安装APP

    万次阅读 2016-08-01 16:47:43
    前段时间遇到一个小需求:要求在分享出来的h5页面中,有一个立即打开的按钮,如果本地安装了我们的app,那么点击就直接唤起本地app,如果没有安装,则跳转到下载。 因为从来没有做过这个需求,因此这注定是一个苦逼...
  • 关于app内置webview不允许js页面跳转

    千次阅读 2017-01-18 11:12:42
    app的webview内置浏览器内嵌入html页面,不允许js未加载完成直接跳转到其他页面问题,可将js写在window.ready里面就可以解决问题。还有不要再https页面内有http请求,有些浏览器会认为有安全性问题会被拦截。
  • mounted () { if (window.history && window.history.pushState) { history.push...// 这里写上你要跳转的页面 } } destroyed () { window.removeEventListener('popstate', this.goBack, false) } 非常简单 亲测有效
  • Android Studio笔记之webview 基本语法 实战演练 ...解决点击页面内链接提示打开浏览器问题 解决返回键退出activity问题 解决加载时进度条以及标题功能 使用js实现弹窗 以上对应的代码:** ...
  • 移动端点击按钮跳转微信界面(唤醒微信) <a href="weixin://">微信app</a> 或者 window.location.href = "weixin://
  • 教你解决微信跳转appstore的困扰

    千次阅读 2017-11-14 16:05:00
    微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做。比如你页面写 <a href=”http://itunes.apple.com/us/app/id399608199″>download</a> ,在微信浏览器点击链接是没有反应的,但是...
  • 关于小程序如何跳转app,常规思路有四种: 利用官方api: 需要app接入开放平台,并且与小程序属于统一账号下,关键是该方案仅适用于通过app打开小程序,或者通过app分享的卡片打开小程序,其他情况无法跳转,故在...
  • 关于微信小程序跳转app,开发者迫切希望微信能提供,以便对app引流、以及对小程序无法实现功能进行补充、并实现自家产品的闭环;而微信则因为安全及用户流出方案考虑,不愿意让用户跳到app。那么,小程序跳app到底...
  • 但是微信自带的scheme接口是不允许直接通过微信下载apk包的,只能通过浏览器来下载,但很多用户不知道是被屏蔽了,故以为是链接有问题,最后在该步骤流失得了量很大。 下面我们来实现,用户通过微信点击链接直接...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,451
精华内容 9,780
关键字:

允许浏览器跳转app