iOS 友盟整合說明之分享到第三方平臺
阿新 • • 發佈:2018-12-16
分享到第三方平臺
1. 第三方平臺支援的分享型別總覽
2. 分享文字
- (void)shareTextToPlatformType:(UMSocialPlatformType)platformType { //建立分享訊息物件 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject]; //設定文字 messageObject.text = @"社會化元件UShare將各大社交平臺接入您的應用,快速武裝App。"; //呼叫分享介面 [[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 { //建立分享訊息物件 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject]; //建立圖片內容物件 UMShareImageObject *shareObject = [[UMShareImageObject alloc] init]; //如果有縮圖,則設定縮圖 shareObject.thumbImage = [UIImage imageNamed:@"icon"]; [shareObject setShareImage:@"https://mobile.umeng.com/images/pic/home/social/img-1.png"]; //分享訊息物件設定分享內容物件 messageObject.shareObject = shareObject; //呼叫分享介面 [[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 { //建立分享訊息物件 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject]; //設定文字 messageObject.text = @"社會化元件UShare將各大社交平臺接入您的應用,快速武裝App。"; //建立圖片內容物件 UMShareImageObject *shareObject = [[UMShareImageObject alloc] init]; //如果有縮圖,則設定縮圖 shareObject.thumbImage = [UIImage imageNamed:@"icon"]; [shareObject setShareImage:@"https://www.umeng.com/img/index/demo/1104.4b2f7dfe614bea70eea4c6071c72d7f5.jpg"]; //分享訊息物件設定分享內容物件 messageObject.shareObject = shareObject; //呼叫分享介面 [[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. 分享網頁
- (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType
{
//建立分享訊息物件
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//建立網頁內容物件
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"分享標題" descr:@"分享內容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設定網頁地址
shareObject.webpageUrl [email protected]"http://mobile.umeng.com/social";
//分享訊息物件設定分享內容物件
messageObject.shareObject = shareObject;
//呼叫分享介面
[[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. 分享音樂
- (void)shareMusicToPlatformType:(UMSocialPlatformType)platformType
{
//建立分享訊息物件
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//建立音樂內容物件
UMShareMusicObject *shareObject = [UMShareMusicObject shareObjectWithTitle:@"分享標題" descr:@"分享內容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設定音樂網頁播放地址
shareObject.musicUrl = @"http://c.y.qq.com/v8/playsong.html?songid=108782194&source=yqq#wechat_redirect";
// shareObject.musicDataUrl = @"這裡設定音樂資料流地址(如果有的話,而且也要看所分享的平臺支不支援)";
//分享訊息物件設定分享內容物件
messageObject.shareObject = shareObject;
//呼叫分享介面
[[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
{
//建立分享訊息物件
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//建立視訊內容物件
UMShareVideoObject *shareObject = [UMShareVideoObject shareObjectWithTitle:@"分享標題" descr:@"分享內容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設定視訊網頁播放地址
shareObject.videoUrl = @"http://video.sina.com.cn/p/sports/cba/v/2013-10-22/144463050817.html";
// shareObject.videoStreamUrl = @"這裡設定視訊資料流地址(如果有的話,而且也要看所分享的平臺支不支援)";
//分享訊息物件設定分享內容物件
messageObject.shareObject = shareObject;
//呼叫分享介面
[[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;
//呼叫分享介面
[[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;
//分享結果訊息
NSLog(@"response message is %@",resp.message);
}else{
NSLog(@"response data is %@",data);
}
}
}];
}
9. 分享微信小程式
- (void)shareMiniProgramToPlatformType:(UMSocialPlatformType)platformType
{
//建立分享訊息物件
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:@"小程式標題" descr:@"小程式內容描述" thumImage:[UIImage imageNamed:@"icon"]];
shareObject.webpageUrl = @"相容微信低版本網頁地址";
shareObject.userName = @"小程式username,如 gh_3ac2059ac66f";
shareObject.path = @"小程式頁面路徑,如 pages/page10007/page10007";
messageObject.shareObject = shareObject;
shareObject.hdImageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo" ofType:@"png"]];
shareObject.miniProgramType = UShareWXMiniProgramTypeRelease; // 可選體驗版和開發板
//呼叫分享介面
[[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;
//分享結果訊息
UMSocialLogInfo(@"response message is %@",resp.message);
//第三方原始返回的資料
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 = @"社會化元件U-Share將各大社交平臺接入您的應用,快速武裝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];
}];
}
呼叫分享面板分享文字到所選平臺
#import <UShareUI/UShareUI.h>
#import <UMShare/UMShare.h>
- (void)shareWithUI {
//顯示分享面板
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
// 根據獲取的platformType確定所選平臺進行下一步操作
//建立分享訊息物件
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設定文字
messageObject.text = @"社會化元件UShare將各大社交平臺接入您的應用,快速武裝App。";
//呼叫分享介面
[[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);
}
}];
}];
}
後記
本篇主要介紹了分享的型別以及示例程式碼,感興趣的給個贊或者關注~~~