版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.04.05 |
前言
相信很多人用過友盟描滔,包括友盟的第三方登錄、分享以及統(tǒng)計踪古。這里我們就分幾個模塊進行詳細的說明 —— 移動統(tǒng)計
(U - App)
含长、網(wǎng)站統(tǒng)計(U - Web)
、消息推送(U - Push)
伏穆、社會化分享(U - Share)
拘泞、游戲統(tǒng)計(U - Game)
、互聯(lián)網(wǎng)運營數(shù)據(jù)服務(Dplus)
- 多維度枕扫、一站式陪腌、精細化數(shù)據(jù)管理服務。感興趣的可以看上面幾篇烟瞧。
1. 友盟集成(一) —— UShare模塊之快速集成(一)
2. 友盟集成(二) —— UShare模塊之快速集成(二)
3. 友盟集成(三) —— UShare模塊之第三方登錄(一)
4. 友盟集成(四) —— UShare模塊之進階說明之第三方平臺SDK說明(一)
分享到第三方平臺
1. 第三方平臺支持的分享類型總覽
2. 分享文本
- (void)shareTextToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設置文本
messageObject.text = @"社會化組件UShare將各大社交平臺接入您的應用诗鸭,快速武裝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)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建圖片內(nèi)容對象
UMShareImageObject *shareObject = [[UMShareImageObject alloc] init];
//如果有縮略圖参滴,則設置縮略圖
shareObject.thumbImage = [UIImage imageNamed:@"icon"];
[shareObject setShareImage:@"https://mobile.umeng.com/images/pic/home/social/img-1.png"];
//分享消息對象設置分享內(nèi)容對象
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)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設置文本
messageObject.text = @"社會化組件UShare將各大社交平臺接入您的應用,快速武裝App卵洗。";
//創(chuàng)建圖片內(nèi)容對象
UMShareImageObject *shareObject = [[UMShareImageObject alloc] init];
//如果有縮略圖请唱,則設置縮略圖
shareObject.thumbImage = [UIImage imageNamed:@"icon"];
[shareObject setShareImage:@"https://www.umeng.com/img/index/demo/1104.4b2f7dfe614bea70eea4c6071c72d7f5.jpg"];
//分享消息對象設置分享內(nèi)容對象
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)頁
- (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建網(wǎng)頁內(nèi)容對象
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"分享標題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設置網(wǎng)頁地址
shareObject.webpageUrl =@"http://mobile.umeng.com/social";
//分享消息對象設置分享內(nèi)容對象
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. 分享音樂
- (void)shareMusicToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建音樂內(nèi)容對象
UMShareMusicObject *shareObject = [UMShareMusicObject shareObjectWithTitle:@"分享標題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設置音樂網(wǎng)頁播放地址
shareObject.musicUrl = @"http://c.y.qq.com/v8/playsong.html?songid=108782194&source=yqq#wechat_redirect";
// shareObject.musicDataUrl = @"這里設置音樂數(shù)據(jù)流地址(如果有的話弥咪,而且也要看所分享的平臺支不支持)";
//分享消息對象設置分享內(nèi)容對象
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)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建視頻內(nèi)容對象
UMShareVideoObject *shareObject = [UMShareVideoObject shareObjectWithTitle:@"分享標題" descr:@"分享內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
//設置視頻網(wǎng)頁播放地址
shareObject.videoUrl = @"http://video.sina.com.cn/p/sports/cba/v/2013-10-22/144463050817.html";
// shareObject.videoStreamUrl = @"這里設置視頻數(shù)據(jù)流地址(如果有的話,而且也要看所分享的平臺支不支持)";
//分享消息對象設置分享內(nèi)容對象
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)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:@"小程序標題" descr:@"小程序內(nèi)容描述" thumImage:[UIImage imageNamed:@"icon"]];
shareObject.webpageUrl = @"兼容微信低版本網(wǎng)頁地址";
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; // 可選體驗版和開發(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 = @"社會化組件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];
}];
}
調(diào)用分享面板分享文本到所選平臺
#import <UShareUI/UShareUI.h>
#import <UMShare/UMShare.h>
- (void)shareWithUI {
//顯示分享面板
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
// 根據(jù)獲取的platformType確定所選平臺進行下一步操作
//創(chuàng)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設置文本
messageObject.text = @"社會化組件UShare將各大社交平臺接入您的應用扳躬,快速武裝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);
}
}];
}];
}
后記
本篇主要介紹了分享的類型以及示例代碼甚亭,感興趣的給個贊或者關(guān)注~~~