如果觉得我写的还不错,请关注我的新浪微博@杨浩宇-小橘爷,最新文章即时推送~
原生分享(一):微信分享之搭建分享环境
原生分享(二):微信分享之使用分享
微信分享之使用分享
微信分享及收藏是指第三方 APP 通过接入该功能,让用户可以从 APP 分享文字、图片、音乐、视频、网页至微信好友会话、朋友圈或添加到微信收藏。
微信分享及收藏功能已向全体开发者开放,开发者在微信开放平台帐号下申请 APP 并通过审核后,即可获得微信分享及收藏权限。
微信分享及收藏目前支持文字、图片、音乐、视频、网页共五种类型。开发者在 APP 中在集成微信 SDK 后,可调用接口实现,以下依次是文字分享、图片分享、音乐分享、视频分享、网站分享的示例。
分享或收藏的目标场景,通过修改 scene 场景值实现。
发送到聊天界面——WXSceneSession
发送到朋友圈——WXSceneTimeline
添加到微信收藏——WXSceneFavorite
文字类型分享示例
// 第三方程序发送消息至微信终端程序的消息结构体
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.text = @"分享的内容";
// 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息
req.bText = YES;
req.scene = WXSceneTimeline;
[WXApi sendReq:req];
图片类型分享示例
// 用于微信终端和第三方程序之间传递消息的多媒体消息内容
WXMediaMessage *message = [WXMediaMessage message];
// 设置消息缩略图的方法
[message setThumbImage:[UIImage imageNamed:@"图片.png"]];
// 多媒体消息中包含的图片数据对象
WXImageObject *imageObject = [WXImageObject object];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"res1" ofType:@"jpg"];
// 图片真实数据内容
imageObject.imageData = [NSData dataWithContentsOfFile:filePath];
// 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
message.mediaObject = imageObject;
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneTimeline;// 分享到朋友圈
[WXApi sendReq:req];
音乐类型分享示例
WXMediaMessage *message = [WXMediaMessage message];
// 标题
message.title = @"音乐标题";
// 描述内容
message.description = @"音乐描述";
[message setThumbImage:[UIImage imageNamed:@"缩略图.jpg"]];
// 多媒体消息中包含的音乐数据对象
WXMusicObject *ext = [WXMusicObject object];
// 音乐网页的url地址
ext.musicUrl = @"音乐url";
// 音乐lowband数据url地址
ext.musicLowBandDataUrl = ext.musicUrl;
// 音乐数据url地址
ext.musicDataUrl = @"音乐数据url";
// 音乐lowband数据url地址
ext.musicLowBandDataUrl = ext.musicDataUrl;
message.mediaObject = ext;
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneTimeline;
[WXApi sendReq:req];
注意:分享至微信的音乐,直接点击好友会话或朋友圈下的分享内容会跳转至第三方 APP,点击会话列表顶部的音乐分享内容将跳转至微信原生音乐播放器播放。
视频类型分享示例
WXMediaMessage *message = [WXMediaMessage message];
message.title = @"标题";
message.description = @"描述";
[message setThumbImage:[UIImage imageNamed:@"缩略图.jpg"]];
// 多媒体消息中包含的视频数据对象
WXVideoObject *videoObject = [WXVideoObject object];
// 视频网页的url地址
videoObject.videoUrl = @"视频url";
// 视频lowband网页的url地址
videoObject.videoLowBandUrl = videoObject.videoUrl;
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneTimeline;
[WXApi sendReq:req];
网页类型分享示例
WXMediaMessage *message = [WXMediaMessage message];
message.title = @"标题";
message.description = @"描述";
[message setThumbImage:[UIImage imageNamed:@"res2.png"]];
// 多媒体消息中包含的网页数据对象
WXWebpageObject *webpageObject = [WXWebpageObject object];
// 网页的url地址
webpageObject.webpageUrl = @"https://opne.weixin.qq.com";
message.mediaObject = webpageObject;
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneTimeline;
[WXApi sendReq:req];
以上就是微信分享的内容,不过作为过来人,还是劝告你们,能用还是用第三方吧,要是有很多种分享都要做还是很繁琐的~