友盟集成(五) —— UShare模塊之進(jìn)階說(shuō)明之分享到第三方平臺(tái)(二)

版本記錄

版本號(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)注~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容