天天看點

小程式支援打開APP

根據微信的官方文檔,小程式支援打開APP,專門研究了下這個API有什麼,官方文檔位址如下

​​https://mp.weixin.qq.com/debug/wxadoc/dev/component/button.html​​

小程式支援打開APP

launchApp 打開APP,可以通過app-parameter屬性設定向APP傳的參數

我們再看來看launchAPP的參數說明  ​​https://mp.weixin.qq.com/debug/wxadoc/dev/api/launchApp.html​​

launchApp(OBJECT)

說明

因為需要使用者主動觸發才能打開 APP,是以該功能不由 API 來調用,需要用 ​

​open-type​

​​ 的值設定為 ​

​launchApp​

​​ 的 ​

​<button>​

​ 元件的點選來觸發。

當小程式從 APP 分享消息卡片的場景打開時(場景值 1036,APP 分享小程式文檔 iOS ​​參見​​​,Android ​​參見​​​),小程式會獲得打開 APP 的能力,此時使用者點選按鈕可以打開分享該卡片的 APP。即小程式不能打開任意 APP,隻能 ​

​跳回​

​ 分享該小程式卡片的 APP。

在一個小程式的生命周期内,隻有在特定條件下,才具有打開 APP 的能力。 ​

​打開 APP 的能力​

​ 可以了解為由小程式架構在内部管理的一個狀态,為 true 則可以打開 APP,為 false 則不可以打開 APP。

在小程式的生命周期内,這個狀态的初始值為 false,之後會随着小程式的每次打開(無論是啟動還是切到前台)而改變:

  • 當小程式從 1036(App 分享消息卡片) 打開時,該狀态置為 true。
  • 當小程式從 1089(微信聊天主界面下拉)或 1090(長按小程式右上角菜單喚出最近使用曆史)的場景打開時,該狀态不變,即保持上一次打開小程式時該狀态的值。
  • 當小程式從非 1036/1089/1090 的場景打開,該狀态置為 false。

使用方法

需要将 ​

​<button>​

​​ 元件 ​

​open-type​

​​ 的值設定為 ​

​launchApp​

​​。如果需要在打開 APP 時向 APP 傳遞參數,可以設定 ​

​app-parameter​

​​ 為要傳遞的參數。通過 ​

​binderror​

​ 可以監聽打開 APP 的錯誤事件。

例子

<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打開APP</button>      
Page({ 
    launchAppError: function(e) { 
        console.log(e.detail.errMsg) 
    } 
})      

error 事件參數說明

說明
invalid scene 調用場景不正确,即此時的小程式不具備打開 APP 的能力。

總結:小程式打開APP,前提是你是從APP内打開小程式,才能傳回打開APP,不然是不支援的,也就是說讓APP給小程式導流,然後再将流量傳回到APP的能力,但是真心期待能夠下載下傳APP。