Android APP分享微信小程序


需求:APP端 將公司的微信小程序 分享至微信好友

最近颖变,微信小程序比較火熱拼卵,公司也在做這一塊史汗,目前公司的小程序都是由H5端開發(fā)的,我們Android端也接到一個(gè)任務(wù)怕吴,那就是Android端應(yīng)支持微信小程序的分享窍侧,并且通過(guò)分享出去的小程序可以啟動(dòng)我們的APP;

今天我們先來(lái)完成:Android端應(yīng)支持微信小程序的分享W痢N凹!


分析:
微信開放平臺(tái)SDK支持小程序類型分享议经,詳見官方文檔:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317340&token=&lang=zh_CN
a) 要求發(fā)起分享的App與小程序?qū)儆谕晃⑿砰_放平臺(tái)帳號(hào)斧账;
b) 支持分享小程序類型消息至好友會(huì)話谴返,不支持“分享至朋友圈” “收藏”;
c) 微信客戶端版本要求:6.5.6及以上微信客戶端版本咧织,若客戶端版本低于6.5.6嗓袱,小程序類型分享將自動(dòng)轉(zhuǎn)成網(wǎng)頁(yè)類型分享。開發(fā)者必須填寫網(wǎng)頁(yè)鏈接字段习绢,確保低版本客戶端能正常打開網(wǎng)頁(yè)鏈接渠抹;
d) 支持分享大圖卡片樣式,自定義圖片建議長(zhǎng)寬比是 5:4闪萄。6.5.9及以上版本微信客戶端小程序類型分享使用大圖卡片樣式梧却。
e)支持分享開發(fā)版/體驗(yàn)版小程序,為支持開發(fā)者調(diào)試败去,開發(fā)者工具包支持分享開發(fā)版/體驗(yàn)版小程序至微信放航,開發(fā)者可控制分享的小程序版本。

把文檔看了一遍圆裕,發(fā)現(xiàn)限制是比較多的广鳍,但是功能實(shí)現(xiàn)還是很簡(jiǎn)單的,下面讓我們開始吧:K衙獭!

開發(fā):

  1. 前期準(zhǔn)備


    1.png
  2. 小程序與APP主體賬號(hào)綁定
    開發(fā)人員希望通過(guò)APP分享小程序耿战,需要先將小程序與APP主體賬號(hào)(即APP的微信開放平臺(tái)賬號(hào))綁定蛋叼,APP才具有分享對(duì)應(yīng)小程序的能力。如果沒(méi)有與主體賬號(hào)綁定剂陡,分享時(shí)是報(bào)錯(cuò)的狈涮,如下圖:


    2.png

2.1. 登錄APP所在的微信開放平臺(tái):https://open.weixin.qq.com/
2.2. 綁定小程序

3.png

由上圖可以看到,綁定小程序的數(shù)量是有限制的鸭栖。我們點(diǎn)擊【綁定小程序】按鈕歌馍,打開的新頁(yè)面
4.png

輸入小程序開發(fā)的主賬號(hào)和密碼,輸入驗(yàn)證碼提交就可以了晕鹊,然后再通過(guò)手機(jī)微信掃碼驗(yàn)證一下松却。
綁定成功后,直接就能在綁定列表中看到已綁定的小程序=啊O汀!

  1. 代碼實(shí)現(xiàn)
    3.1 小程序端提供參數(shù):
miniProgram.userName="xxx"; //小程序ID
miniProgram.path="pages/xxx/xxx"; //小程序路徑

3.2 配置gradle

dependencies {
    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}

3.3 分享小程序的核心代碼

findViewById(R.id.send_mini).setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                WXMiniProgramObject miniProgram = new WXMiniProgramObject();
                miniProgram.webpageUrl="http://www.qq.com";//自定義
                miniProgram.userName="xxxxxxxxx";//小程序端提供參數(shù)
                miniProgram.path="pages/entry";//小程序端提供參數(shù)
                WXMediaMessage mediaMessage = new WXMediaMessage(miniProgram);
                mediaMessage.title = "cgw miniProgram";//自定義
                mediaMessage.description = "this is miniProgram's description";//自定義
                Bitmap bitmap = BitmapFactory.decodeResource(SendToWXActivity.this.getResources(),R.drawable.fightk);
                Bitmap sendBitmap = Bitmap.createScaledBitmap(bitmap,200,200,true);
                bitmap.recycle();
                mediaMessage.thumbData = Util.bmpToByteArray(sendBitmap,true);
                SendMessageToWX.Req req = new SendMessageToWX.Req();
                req.transaction = "";
                req.scene = SendMessageToWX.Req.WXSceneSession;
                req.message = mediaMessage;
                api.sendReq(req);
            }
        });
  1. Demo演示
    為了避免麻煩飞几,我們直接下載使用官方Demo砚哆,在其源代碼上直接修改,修改的內(nèi)容主要如下:
    a. 包名(必須修改屑墨,使用你項(xiàng)目APP的實(shí)際包名)
    b. 配置gradle(微信sdk包躁锁、簽名文件)
    c. 增加分享小程序的按鈕和事件

4.1 下載微信開放平臺(tái)官方Demo
https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/WeChatSDK_sample_Android.zip

4.2 修改包名
使用Androidstudio打開demo纷铣,目錄結(jié)構(gòu)如下圖,修改其包名

5.jpg

4.2.1如上圖战转,取消compact empty middle packages的默認(rèn)選中
4.2.2在對(duì)應(yīng)包名的文件夾上搜立,直接右鍵修改名稱,改成包名對(duì)應(yīng)的名稱槐秧,并全部應(yīng)用
可參考:http://www.reibang.com/p/557e1906db1a
修改后的包名儒拂,必須是你項(xiàng)目APP的實(shí)際包名,且已通過(guò)微信開放平臺(tái)審核的APP包名色鸳;

4.3 配置gradle(修改依賴、修改簽名)


6.png

簽名必須使用你項(xiàng)目APP對(duì)應(yīng)的簽名文件见转,即你申請(qǐng)微信開放平臺(tái)時(shí)APP對(duì)應(yīng)的簽名文件命雀;

4.4 修改APP_ID

public class Constants {
    // APP_ID 替換為你的應(yīng)用從官方網(wǎng)站申請(qǐng)到的合法appId
    public static final String APP_ID = "wxf666676666636666";

    public static class ShowMsgActivity {
        public static final String STitle = "showmsg_title";
        public static final String SMessage = "showmsg_message";
        public static final String BAThumbData = "showmsg_thumb_data";
    }
}

4.5 增加分享小程序的按鈕和事件


8.png

7.jpg

4.6 測(cè)試
選擇分享的人員


9.png

收到分享的小程序卡片


10.jpg

至此,Demo演示完畢斩箫,如有問(wèn)題吏砂,請(qǐng)留言詢問(wèn)!3丝汀狐血!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市易核,隨后出現(xiàn)的幾起案子匈织,更是在濱河造成了極大的恐慌,老刑警劉巖牡直,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缀匕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡碰逸,警方通過(guò)查閱死者的電腦和手機(jī)乡小,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)饵史,“玉大人满钟,你說(shuō)我怎么就攤上這事「炫纾” “怎么了湃番?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)厌蔽。 經(jīng)常有香客問(wèn)我牵辣,道長(zhǎng),這世上最難降的妖魔是什么奴饮? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任纬向,我火速辦了婚禮择浊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逾条。我一直安慰自己琢岩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布师脂。 她就那樣靜靜地躺著担孔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吃警。 梳的紋絲不亂的頭發(fā)上糕篇,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音酌心,去河邊找鬼拌消。 笑死,一個(gè)胖子當(dāng)著我的面吹牛安券,可吹牛的內(nèi)容都是我干的墩崩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼侯勉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鹦筹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起址貌,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤铐拐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后练对,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體余舶,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年锹淌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匿值。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赂摆,死狀恐怖挟憔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烟号,我是刑警寧澤绊谭,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站汪拥,受9級(jí)特大地震影響达传,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一宪赶、第九天 我趴在偏房一處隱蔽的房頂上張望宗弯。 院中可真熱鬧,春花似錦搂妻、人聲如沸蒙保。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)邓厕。三九已至,卻和暖如春扁瓢,著一層夾襖步出監(jiān)牢的瞬間详恼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工引几, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留单雾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓她紫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親屿储。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贿讹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

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