小程序與微信公眾號(hào)、原生App的交互

簡(jiǎn)介

大家好穷娱!我是Tony,一個(gè)熱愛(ài)技術(shù)绑蔫,希望運(yùn)用技術(shù)改變生活的的追夢(mèng)男孩运沦。閑話不多說(shuō),今天總結(jié)一下小程序與微信公眾號(hào)晾匠、原生app的交互能力茶袒。主要包括一下內(nèi)容:

  • 從公眾平臺(tái)跳轉(zhuǎn)至小程序
  • 從小程序跳轉(zhuǎn)至原生app
  • 原生app跳轉(zhuǎn)至小程序
  • 從公眾平臺(tái)跳轉(zhuǎn)至原生App

從公眾平臺(tái)跳轉(zhuǎn)至小程序

在微信官方文檔->公眾號(hào)->自定義菜單->事件推送->點(diǎn)擊菜單跳轉(zhuǎn)小程序的事件推送
推送XML數(shù)據(jù)包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[view_miniprogram]]></Event>
<EventKey><![CDATA[pages/index/index]]></EventKey>
<MenuId>MENUID</MenuId>
</xml>

參數(shù)說(shuō)明:

  • ToUserName 開(kāi)發(fā)者 微信號(hào)
  • FromUserName 發(fā)送方帳號(hào)(一個(gè)OpenID)
  • CreateTime 消息創(chuàng)建時(shí)間 (整型)
  • MsgType 消息類(lèi)型,event
  • Event 事件類(lèi)型凉馆,view_miniprogram
  • EventKey 事件KEY值,跳轉(zhuǎn)的小程序路徑
  • MenuID 菜單ID亡资,如果是個(gè)性化菜單澜共,則可以通過(guò)這個(gè)字段,知道是哪個(gè)規(guī)則的菜單被點(diǎn)擊了

從小程序跳轉(zhuǎn)至原生app

在微信官方文檔->小程序->打開(kāi)app
小程序打開(kāi)原生app的限制比較多锥腻,與其說(shuō)是打開(kāi)原生app嗦董,不如說(shuō)是回跳原生app,具體可見(jiàn)騰訊文檔。

從公眾平臺(tái)跳轉(zhuǎn)至原生App

方法一:引導(dǎo)用戶通過(guò)內(nèi)置的瀏覽器打開(kāi)native App
方法二:騰訊應(yīng)用包瘦黑,前提上架應(yīng)用寶(android)
方法三:deephsare京革,可以從微信直接打開(kāi)app,目前很多知名app都在使用這個(gè)方法幸斥,不過(guò)要付費(fèi)使用
瀏覽器喚起原生App的爬坑教程

原生app打開(kāi)微信小程序

在微信官方文檔->開(kāi)放平臺(tái)->app拉取小程序的功能
演示了原生app如何調(diào)起微信小程序的能力匹摇,代碼如下:
Android端開(kāi)發(fā)前需要引入SDK
代碼如下:

String appId = "wxd930ea5d5a258f4f"; // 填應(yīng)用AppId
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);

WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_d43f693ca31f"; // 填小程序原始id
req.path = path;                  ////拉起小程序頁(yè)面的可帶參路徑,不填默認(rèn)拉起小程序首頁(yè)甲葬,對(duì)于小游戲廊勃,可以只傳入 query 部分,來(lái)實(shí)現(xiàn)傳參效果经窖,如:傳入 "?foo=bar"坡垫。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可選打開(kāi) 開(kāi)發(fā)版,體驗(yàn)版和正式版
api.sendReq(req);

//回調(diào)說(shuō)明
public void onResp(BaseResp resp) {
    if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
        WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
        String extraData =launchMiniProResp.extMsg; 
        //對(duì)應(yīng)小程序組件 <button open-type="launchApp"> 中的 app-parameter 屬性
    }
}

開(kāi)發(fā)前需下載iOS開(kāi)發(fā)工具包SDK
實(shí)例代碼如下:

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;  //拉起的小程序的username
launchMiniProgramReq.path = path;    ////拉起小程序頁(yè)面的可帶參路徑画侣,不填默認(rèn)拉起小程序首頁(yè)冰悠,對(duì)于小游戲,可以只傳入 query 部分配乱,來(lái)實(shí)現(xiàn)傳參效果溉卓,如:傳入 "?foo=bar"。
launchMiniProgramReq.miniProgramType = miniProgramType; //拉起小程序的類(lèi)型
return  [WXApi sendReq:launchMiniProgramReq];

//回調(diào)說(shuō)明
-(void)onResp:(BaseResp *)resp 
{
     if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
     {
          NSString *string = resp.extMsg;
          // 對(duì)應(yīng)JsApi navigateBackApplication中的extraData字段數(shù)據(jù)
     }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宪卿,一起剝皮案震驚了整個(gè)濱河市的诵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佑钾,老刑警劉巖西疤,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異休溶,居然都是意外死亡代赁,警方通過(guò)查閱死者的電腦和手機(jī)扰她,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)芭碍,“玉大人徒役,你說(shuō)我怎么就攤上這事〗押荆” “怎么了忧勿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瞻讽。 經(jīng)常有香客問(wèn)我鸳吸,道長(zhǎng),這世上最難降的妖魔是什么速勇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任晌砾,我火速辦了婚禮,結(jié)果婚禮上烦磁,老公的妹妹穿的比我還像新娘养匈。我一直安慰自己,他們只是感情好都伪,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布呕乎。 她就那樣靜靜地躺著,像睡著了一般院溺。 火紅的嫁衣襯著肌膚如雪楣嘁。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天珍逸,我揣著相機(jī)與錄音逐虚,去河邊找鬼。 笑死谆膳,一個(gè)胖子當(dāng)著我的面吹牛叭爱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播漱病,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼买雾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了杨帽?” 一聲冷哼從身側(cè)響起漓穿,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎注盈,沒(méi)想到半個(gè)月后晃危,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年僚饭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了震叮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳍鸵,死狀恐怖苇瓣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情偿乖,我是刑警寧澤击罪,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站贪薪,受9級(jí)特大地震影響外邓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜古掏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侦啸。 院中可真熱鬧槽唾,春花似錦、人聲如沸光涂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)忘闻。三九已至钝计,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間齐佳,已是汗流浹背私恬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炼吴,地道東北人本鸣。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像硅蹦,于是被迫代替她去往敵國(guó)和親荣德。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容