App打開小程序,小程序打開App

App打開小程序(Android)
需要以下小程序和app的信息:

應用的AppID,小程序的AppID,小程序的原始ID

第一步:App所在開放平臺關聯要跳轉的小程序
管理中心->移動應用->查看->關聯小程序信息->查看關聯->關聯小程序
在搜索框中輸入小程序的AppID,點擊搜索圖標,提交之後,需要再小程序的管理員的微信消息中通過一下即可關聯成功!
第二步:集成AppSDK。


在build.gradle文件中,添加如下依賴即可:
dependencies {
    compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}

第三步:書寫代碼。

在你的包名相應目錄下新建一個wxapi目錄,並在該wxapi目錄下新增一個WXEntryActivity類,該類繼承自Activity。
<activity
    android:name=".wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:exported="true"
    android:taskAffinity="應用包名"
    android:launchMode="singleTask">
</activity>

實現IWXAPIEventHandler接口,微信發送的請求將回調到onReq方法,發送到微信請求的響應結果將回調到onResp方法(注意做好版本兼容邏輯,如果WXEntryActivity實現爲透明Activity,最好在onReq和onResp處理完成後finish掉當前界面,避免收到不支持的事件的時候,透明Activity無法關閉)

在WXEntryActivity中將接收到的intent及實現了IWXAPIEventHandler接口的對象傳遞給IWXAPI接口的handleIntent方法,示例如下圖:
api.handleIntent(getIntent(), this);

當微信發送請求到你的應用,將通過IWXAPIEventHandler接口的onReq方法進行回調,類似的,應用請求微信的響應結果將通過onResp回調。
  IWXAPI api = WXAPIFactory.createWXAPI(mContext, PayConstants.APP_ID,false);
                if(!api.isWXAppInstalled()){
                    ToastUtils.show("您沒有安裝微信客戶端!");
                    return;
                }
                WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
                req.userName = PayConstants.ORIGINAL_ID; // 填小程序原始id
                String p = "pages/book/info?appid=wx114738db20bd47dc&bookcode="+params+"&from=android";
                req.path = p;                  //拉起小程序頁面的可帶參路徑,不填默認拉起小程序首頁
                req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_TEST;// 可選打開 開發版,體驗版和正式版
                api.sendReq(req);

            }

App打開小程序(IOS)
在微信基礎配置沒有問題的情況下只需要如下代碼即可。
微信開放平臺文檔中心

移動應用跳轉到小程序示例:

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;  //小程序原始id
NSString *path =  @"pages/book/info?appid=wx114738db20bd47dc&bookcode="+params+"&from=android";
launchMiniProgramReq.path = path;    //拉起小程序頁面的可帶參路徑,不填默認拉起小程序首頁,對於小遊戲,可以只傳入 query 部分,來實現傳參效果,如:傳入 "?foo=bar"。
launchMiniProgramReq.miniProgramType = miniProgramType; //可選打開 開發版,體驗版和正式版
return  [WXApi sendReq:launchMiniProgramReq];


回調說明
-(void)onResp:(BaseResp *)resp 
{
     if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
     {
          NSString *string = resp.extMsg;
          // 對應JsApi navigateBackApplication中的extraData字段數據
     }
}

小程序打開App
1.App主動發起小程序卡片分享到微信,微信點擊打開小程序,這時的小程序可以打開App.
2.App主動發起打開小程序,這時的小程序可以打開App

<button open-type="launchApp" app-parameter="wechat" binderror="launchApp">打開APP</button>
Page({ 
    launchApp: function(e) { 
        console.log(e.detail.errMsg) 
    } 
}) 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章