作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; }