版本記錄
| 版本號(hào) | 時(shí)間 |
|---|---|
| V1.0 | 2018.04.05 |
前言
相信很多人用過(guò)友盟,包括友盟的第三方登錄、分享以及統(tǒng)計(jì)。這里我們就分幾個(gè)模塊進(jìn)行詳細(xì)的說(shuō)明 —— 移動(dòng)統(tǒng)計(jì)
(U - App)、網(wǎng)站統(tǒng)計(jì)(U - Web)、消息推送(U - Push)、社會(huì)化分享(U - Share)、游戲統(tǒng)計(jì)(U - Game)、互聯(lián)網(wǎng)運(yùn)營(yíng)數(shù)據(jù)服務(wù)(Dplus)- 多維度、一站式、精細(xì)化數(shù)據(jù)管理服務(wù)。感興趣的可以看上面幾篇。
1. 友盟集成(一) —— UShare模塊之快速集成(一)
2. 友盟集成(二) —— UShare模塊之快速集成(二)
3. 友盟集成(三) —— UShare模塊之第三方登錄(一)
4. 友盟集成(四) —— UShare模塊之進(jìn)階說(shuō)明之第三方平臺(tái)SDK說(shuō)明(一)
分享到第三方平臺(tái)
1. 第三方平臺(tái)支持的分享類(lèi)型總覽


2. 分享文本
- (void)shareTextToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設(shè)置文本
messageObject.text = @"社會(huì)化組件UShare將各大社交平臺(tái)接入您的應(yīng)用,快速武裝App。";
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}
3. 分享圖片
- (void)shareImageToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建圖片內(nèi)容對(duì)象
UMShareImageObject *shareObject = [[UMShareImageObject alloc] init];
//如果有縮略圖,則設(shè)置縮略圖
shareObject.thumbImage = [UIImage imageNamed:@"icon"];
[shareObject setShareImage:@"https://mobile.umeng.com/images/pic/home/social/img-1.png"];
//分享消息對(duì)象設(shè)置分享內(nèi)容對(duì)象
messageObject.shareObject = shareObject;
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}
4. 分享圖文(新浪支持,微信/QQ僅支持圖或文本分享)
- (void)shareImageAndTextToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設(shè)置文本
messageObject.text = @"社會(huì)化組件UShare將各大社交平臺(tái)接入您的應(yīng)用,快速武裝App。";
//創(chuàng)建圖片內(nèi)容對(duì)象
UMShareImageObject *shareObject = [[UMShareImageObject alloc] init];
//如果有縮略圖,則設(shè)置縮略圖
shareObject.thumbImage = [UIImage imageNamed:@"icon"];
[shareObject setShareImage:@"https://www.umeng.com/img/index/demo/1104.4b2f7dfe614bea70eea4c6071c72d7f5.jpg"];
//分享消息對(duì)象設(shè)置分享內(nèi)容對(duì)象
messageObject.shareObject = shareObject;
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}
5. 分享網(wǎng)頁(yè)
- (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建網(wǎng)頁(yè)內(nèi)容對(duì)象
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"分享標(biāo)題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設(shè)置網(wǎng)頁(yè)地址
shareObject.webpageUrl =@"http://mobile.umeng.com/social";
//分享消息對(duì)象設(shè)置分享內(nèi)容對(duì)象
messageObject.shareObject = shareObject;
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}
6. 分享音樂(lè)
- (void)shareMusicToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建音樂(lè)內(nèi)容對(duì)象
UMShareMusicObject *shareObject = [UMShareMusicObject shareObjectWithTitle:@"分享標(biāo)題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設(shè)置音樂(lè)網(wǎng)頁(yè)播放地址
shareObject.musicUrl = @"http://c.y.qq.com/v8/playsong.html?songid=108782194&source=yqq#wechat_redirect";
// shareObject.musicDataUrl = @"這里設(shè)置音樂(lè)數(shù)據(jù)流地址(如果有的話,而且也要看所分享的平臺(tái)支不支持)";
//分享消息對(duì)象設(shè)置分享內(nèi)容對(duì)象
messageObject.shareObject = shareObject;
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}
7. 分享視頻
- (void)shareVedioToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建視頻內(nèi)容對(duì)象
UMShareVideoObject *shareObject = [UMShareVideoObject shareObjectWithTitle:@"分享標(biāo)題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設(shè)置視頻網(wǎng)頁(yè)播放地址
shareObject.videoUrl = @"http://video.sina.com.cn/p/sports/cba/v/2013-10-22/144463050817.html";
// shareObject.videoStreamUrl = @"這里設(shè)置視頻數(shù)據(jù)流地址(如果有的話,而且也要看所分享的平臺(tái)支不支持)";
//分享消息對(duì)象設(shè)置分享內(nèi)容對(duì)象
messageObject.shareObject = shareObject;
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}
8. 分享微信表情
- (void)shareEmoticonToPlatformType:(UMSocialPlatformType)platformType
{
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
UMShareEmotionObject *shareObject = [UMShareEmotionObject shareObjectWithTitle:UMS_Title descr:UMS_Text thumImage:nil];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"gifFile"
ofType:@"gif"];
NSData *emoticonData = [NSData dataWithContentsOfFile:filePath];
shareObject.emotionData = emoticonData;
messageObject.shareObject = shareObject;
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
if ([data isKindOfClass:[UMSocialShareResponse class]]) {
UMSocialShareResponse *resp = data;
//分享結(jié)果消息
NSLog(@"response message is %@",resp.message);
}else{
NSLog(@"response data is %@",data);
}
}
}];
}
9. 分享微信小程序
- (void)shareMiniProgramToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:@"小程序標(biāo)題" descr:@"小程序內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
shareObject.webpageUrl = @"兼容微信低版本網(wǎng)頁(yè)地址";
shareObject.userName = @"小程序username,如 gh_3ac2059ac66f";
shareObject.path = @"小程序頁(yè)面路徑,如 pages/page10007/page10007";
messageObject.shareObject = shareObject;
shareObject.hdImageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo" ofType:@"png"]];
shareObject.miniProgramType = UShareWXMiniProgramTypeRelease; // 可選體驗(yàn)版和開(kāi)發(fā)板
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
UMSocialLogInfo(@"************Share fail with error %@*********",error);
}else{
if ([data isKindOfClass:[UMSocialShareResponse class]]) {
UMSocialShareResponse *resp = data;
//分享結(jié)果消息
UMSocialLogInfo(@"response message is %@",resp.message);
//第三方原始返回的數(shù)據(jù)
UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);
}else{
UMSocialLogInfo(@"response data is %@",data);
}
}
[self alertWithError:error];
}];
}
10. 示例
分享文本到微信
#import <UMShare/UMShare.h>
- (void)shareTextToWechat
{
NSString *text = @"社會(huì)化組件U-Share將各大社交平臺(tái)接入您的應(yīng)用,快速武裝App。";
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
messageObject.text = text;
[[UMSocialManager defaultManager] shareToPlatform:UMSocialPlatformType_WechatSession messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
NSString *message = nil;
if (!error) {
message = [NSString stringWithFormat:@"分享成功"];
} else {
message = [NSString stringWithFormat:@"失敗原因Code: %d\n",(int)error.code];
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"share"
message:message
delegate:nil
cancelButtonTitle:NSLocalizedString(@"確定", nil)
otherButtonTitles:nil];
[alert show];
}];
}
調(diào)用分享面板分享文本到所選平臺(tái)
#import <UShareUI/UShareUI.h>
#import <UMShare/UMShare.h>
- (void)shareWithUI {
//顯示分享面板
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
// 根據(jù)獲取的platformType確定所選平臺(tái)進(jìn)行下一步操作
//創(chuàng)建分享消息對(duì)象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設(shè)置文本
messageObject.text = @"社會(huì)化組件UShare將各大社交平臺(tái)接入您的應(yīng)用,快速武裝App。";
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"response data is %@",data);
}
}];
}];
}
后記
本篇主要介紹了分享的類(lèi)型以及示例代碼,感興趣的給個(gè)贊或者關(guān)注~~~
