1. 程式人生 > >Android分享小程式並且互跳(小程式回到APP、APP跳轉小程式)

Android分享小程式並且互跳(小程式回到APP、APP跳轉小程式)

一直以為APP不能分享小程式幾天親自試了一下,哎呀媽呀盡然可以~今天真的是學習了…

1、微信分享小程式(微信官網)

WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
miniProgramObj.webpageUrl = "https://www.baidu.com/"; // 相容低版本的網頁連結
miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;// 正式版:0,測試版:1,體驗版:2
miniProgramObj.userName =
"gh_xxxxxxxxxx"; // 小程式原始id miniProgramObj.path = "/pages/xxxx/xxxx"; //小程式頁面路徑 WXMediaMessage msg = new WXMediaMessage(miniProgramObj); msg.title = "Title"; // 小程式訊息title msg.description = "Desc"; // 小程式訊息desc msg.thumbData = getThumb(); // 小程式訊息封面圖片,小於128k
SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("webpage"); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneSession; // 目前支援會話 api.sendReq(req);

2、APP開啟小程式

IWXAPI api = WXAPIFactory.createWXAPI(this, Constant.WX_APP_ID);
WXLaunchMiniProgram.Req req =
new WXLaunchMiniProgram.Req(); req.userName = "gh_e30198451645"; // 填小程式原始id //傳參 req.path = "pages/index/userLogin/userLogin"; //拉起小程式頁面的可帶參路徑,不填預設拉起小程式首頁 //如需傳參跳轉的話參考如下 //req.path = "pages/xxx/xxx?key=value&key=value"; req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可選開啟 開發版,體驗版和正式版 api.sendReq(req);

WXEntryActivity中配置

public void onResp(BaseResp resp) {
    if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
        WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
        String extraData =launchMiniProResp.extMsg; // 對應JsApi navigateBackApplication中的extraData欄位資料
    }
}

3、小程式返回App(微信官網)

<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">開啟APP</button>

溫馨提示:小程式開啟APP,前提是你是從APP內開啟小程式,才能返回開啟APP,不然是不支援的,也就是說讓APP給小程式導流,然後再將流量返回到APP的能力。