微信的分享做的真的特別好蜓堕,類型多樣唆香,數(shù)據(jù)互通性特別強筑凫。尤其最近又增加了新的小程序的分享類型滑沧,使得APP數(shù)據(jù)與小程序數(shù)據(jù)互通并村,形成了一個相互作用的閉環(huán)巍实,這篇為集成微信分享的工作記錄。
微信分享的6種類型
1.文字類型分享
2.圖片類型分享
3.音樂類型分享
4.視頻類型分享
5.網(wǎng)頁類型分享
6.小程序類型分享
** 分享或收藏的目標場景哩牍,通過修改scene場景值實現(xiàn)棚潦。
發(fā)送到聊天界面——WXSceneSession
發(fā)送到朋友圈——WXSceneTimeline
添加到微信收藏——WXSceneFavorite **
ok,先看看我分享出來的樣式吧
image.png
如何分享膝昆?
1.將sdk放入工程中
2.注冊微信API
3.按照項目需求丸边,分享不同類型
文字分享類型代碼
//初始化一個WXTextObject對象,填寫分享的文本內(nèi)容
WXTextObject textObject = new WXTextObject();
textObject.text = shareEntity.shareTitle;
//初始化WXMediaMessage對象
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = textObject;
msg.description = shareEntity.shareTitle;
//構(gòu)造一個Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("text");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);
圖片分享類型代碼
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.share_image);
//初始化WXImageObject和WXMediaMessage對象
WXImageObject imageObject = new WXImageObject(bmp);
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = imageObject;
//設(shè)置縮略圖
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R
.mipmap.share_image);
msg.thumbData = comBitmapOption(thumb);
//構(gòu)造一個Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("img");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);
小程序分享類型代碼
要求發(fā)起分享的App與小程序?qū)儆谕晃⑿砰_放平臺帳號荚孵。
目前僅支持分享小程序類型消息至會話妹窖。
若客戶端版本低于6.5.6,小程序類型分享將自動轉(zhuǎn)成網(wǎng)頁類型分享收叶。開發(fā)者必須填寫網(wǎng)頁鏈接字段骄呼,確保低版本客戶端能正常打開網(wǎng)頁鏈接。
小程序的原始ID獲取方法:登錄小程序后臺-設(shè)置-基本設(shè)置-帳號信息
WXMiniProgramObject miniProgram = new WXMiniProgramObject();
miniProgram.webpageUrl ="http://www.xiaohongchun.com.cn";
miniProgram.userName = "【小程序ID】";
miniProgram.path = "pages/indexApp/indexApp";
WXMediaMessage msg = new WXMediaMessage(miniProgram);
msg.title = "小程序標題";
msg.description = "小程序描述";
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R
.mipmap.ic_launcher);
msg.thumbData = comBitmapOption(thumb);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("miniProgram");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);
剩下的分享類型參考完整代碼吧 https://github.com/kevinTutu/WXShare.git