作app开发,有时须要跳转打开外部的app应用,来促成引流或者分享等,这个时候就须要经过scheme跳转协议来完成。web
使用scheme跳转外部app,就须要配置对应app的scheme,那这个scheme怎么来呢?浏览器
一、网上搜索经常使用的app的schemeapp
二、本身经过一些方法来获取测试
获取方法:电脑下载爱思助手url
一、打开爱思助手,下载对应的appspa
二、打开该app所在文件夹,把后缀.ipa变成.zip后解压code
三、找到解压后文件夹里面的Info.plist文件,打开,你会看到不少scheme,而后自行判断测试吧。。。blog
四、每一个Info.plist文件里面的数据都有区别,不必定能找到能够用的,爱思助手下载获取的也可能跟你手机上那个匹配不到ip
uniapp中,跳转外部app的方法以下:webview
跳转路径为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; }