做app开发,有时需要跳转打开外部的app应用,来促成引流或者分享等,这个时候就需要通过scheme跳转协议来完成。

使用scheme跳转外部app,就需要配置对应app的scheme,那这个scheme怎么来呢?

1、网上搜索常用的app的scheme

2、自己通过一些方法来获取

 

获取方法:电脑下载爱思助手

1、打开爱思助手,下载对应的app

2、打开该app所在文件夹,把后缀.ipa变成.zip后解压

3、找到解压后文件夹里面的Info.plist文件,打开,你会看到很多scheme,然后自行判断测试吧。。。

4、每个Info.plist文件里面的数据都有区别,不一定能找到可以用的,爱思助手下载获取的也可能跟你手机上那个匹配不到

Android 抓取 watchdog 安卓scheme抓取_web前端

 

 

Android 抓取 watchdog 安卓scheme抓取_web前端_02

 

 

Android 抓取 watchdog 安卓scheme抓取_plist文件_03

 

 uniapp中,跳转外部app的方法如下:

跳转路径为app对应的scheme加指定链接,指定链接为可选,表示打开app中的某个页面,可能需要过滤掉链接的https://再拼接到scheme后面

plus.runtime.openURL("跳转路径(scheme加指定链接)", function(res){
            uni.showModal({
                content: '本机未检测到该app客户端,是否打开浏览器访问?',
                success: function(res2) {
                    if (res2.confirm) {
                        let reg = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/;
                        if(reg.test(url)){
                            plus.runtime.openWeb(url);
                        }else{
                            plus.runtime.openWeb("https://baidu.com/s?wd="+url);
                        }
                    }
                }
            });
        });

 

跳转外部app除了与该app紧密联系的单位,很难保证完全通过scheme跳转到该app各个页面,因为网上找的或者自己获取的scheme不稳定,或者该app出现bug,导致无法跳到我们想要的页面。

这个时候,可以考虑直接打开某个地址,而不是先跳转该app,通过网页再进行下一步操作。

直接打开该链接,则不需要在链接前加对应app的scheme配置

openWeb:通过外部浏览器应用打开链接

openURL:通过内置webview打开链接

if (iconType != '淘宝') {
            let reg = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/;
            if (reg.test(url)) {
                if(iconType != '抖音'){
                    plus.runtime.openWeb(url);
                }else{
                    plus.runtime.openURL(url);
                }
            } else {
                plus.runtime.openWeb('https://baidu.com/s?wd=' + url);
            }
            return;
        }

 

有人住高楼,有人处深沟。 有人光万丈,有人一生绣。 时光是匆匆,回首无旧梦。 人生若几何,凡尘事非多。 深情总遗却,妄自也洒脱。