版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.04.04 |
前言
相信很多人用過友盟滞详,包括友盟的第三方登錄键俱、分享以及統(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ù)服務(wù)(Dplus)
- 多維度谅海、一站式脸哀、精細化數(shù)據(jù)管理服務(wù)。感興趣的可以看上面幾篇扭吁。
1. 友盟集成(一) —— UShare模塊之快速集成(一)
分享到第三方平臺
分享目前支持的類型有:
- 網(wǎng)頁類型(網(wǎng)頁鏈接)
- 圖片
- 文本
- 表情(GIF圖片撞蜂,即Emotion類型,只有微信支持)
- 圖文(包含一張圖片和一段文本)
- 視頻(只支持視頻URL侥袜、縮略圖及描述)
- 音樂(只支持音樂URL蝌诡、縮略圖及描述)
1. 分享LinkCard(網(wǎng)頁鏈接)
- (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//創(chuàng)建網(wǎng)頁內(nèi)容對象
NSString* thumbURL = @"https://mobile.umeng.com/images/pic/home/social/img-1.png";
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"歡迎使用【友盟+】社會化組件U-Share" descr:@"歡迎使用【友盟+】社會化組件U-Share,SDK包最小枫吧,集成成本最低浦旱,助力您的產(chǎn)品開發(fā)、運營與推廣九杂!" thumImage:thumbURL];
//設(shè)置網(wǎng)頁地址
shareObject.webpageUrl = @"http://mobile.umeng.com/social";
//分享消息對象設(shè)置分享內(nèi)容對象
messageObject.shareObject = shareObject;
//調(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);
}
}
}];
}
更多分享類型詳見進階文檔-分享到第三方平臺颁湖。
2. 調(diào)用分享面板
在分享按鈕綁定如下觸發(fā)代碼
#import <UShareUI/UShareUI.h>
//顯示分享面板
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
// 根據(jù)獲取的platformType確定所選平臺進行下一步操作
}];
更多分享面板說明請參考進階文檔-分享面板UI。
3. 定制自己的分享面板預(yù)定義平臺
以下方法可設(shè)置平臺順序
#import <UShareUI/UShareUI.h>
[UMSocialUIManager setPreDefinePlatforms:@[@(UMSocialPlatformType_Sina),@(UMSocialPlatformType_QQ),@(UMSocialPlatformType_WechatSession)]];
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
// 根據(jù)獲取的platformType確定所選平臺進行下一步操作
}];
為避免應(yīng)用審核被拒例隆,僅會對有效的平臺進行顯示甥捺,如平臺應(yīng)用未安裝,或平臺應(yīng)用不支持等會進行隱藏镀层。 由于以上原因镰禾,在模擬器上部分平臺會隱藏。
如果遇到分享面板未顯示唱逢,請參考分享面板無法彈出
Swift接入U-Share SDK
Swift調(diào)用Objective-C需要建立一個橋接頭文件進行交互吴侦。
1. 新建橋接頭文件
2. 設(shè)置Objective-C橋接文件
3. 導(dǎo)入SDK頭文件
在新建的橋接文件header.h中加入U-Share SDK頭文件:
//
// Use this file to import your target's public headers that you would like to expose to Swift.
//
// U-Share核心SDK
#import <UMShare/UMShare.h>
// U-Share分享面板SDK,未添加分享面板SDK可將此行去掉
#import <UShareUI/UShareUI.h>
4. UMSocialDemo的OC和Swift的切換
UMSocialDemo
是用OC的代碼編寫的坞古,同時也兼容了swift3.0的調(diào)用示例(UMSocialDemo不再對swift2.0做示例兼容).
swift文件夾的結(jié)構(gòu)
UMSocialSDK-Bridging-Header.h
為swift3.0的橋接文件备韧,主要是在swift3.0中,調(diào)用oc的代碼绸贡。
UMSocialSwiftInterface.swift
為Swift3.0的接口文件盯蝴,主要是為了展示用戶讓oc調(diào)用swift3.0的代碼的示例(用戶可以在swift3.0的工程中直接調(diào)用對應(yīng)的swift接口)毅哗。
設(shè)置切換swift的宏
引入對應(yīng)的swift的頭文件,并在OC中調(diào)用swift3.0的代碼如下
#ifdef UM_Swift
#import "UMSocialDemo-Swift.h"
#endif
//分享文本
- (void)shareTextToPlatformType:(UMSocialPlatformType)platformType
{
//創(chuàng)建分享消息對象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//設(shè)置文本
messageObject.text = UMS_Text;
#ifdef UM_Swift
[UMSocialSwiftInterface shareWithPlattype:platformType messageObject:messageObject viewController:self completion:^(UMSocialShareResponse * data, NSError * error) {
#else
//調(diào)用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
#endif
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];
}];
}
注意事項如下:
UMSocialDemo-Swift.h
是工程自動為OC調(diào)用swift生成的捧挺,如果在新建的工程中應(yīng)該是$(TARGET_NAME)-Swift.h
虑绵,$(TARGET_NAME)
為你的工程默認配置的名字UMSocialDemo
需要xcode8下打開,因為里面引入了swift3.0的文件闽烙,不然會編譯出錯(如果不需要swift3.0翅睛,直接運行OC的代碼,可以去掉對應(yīng)宏 UM_Swift 和工程里面對應(yīng)的 文件夾Swift 即可編譯通過)黑竞。
后記
本篇主要介紹了分享到第三方平臺和swift接入U-Share SDK捕发,感興趣的給個贊或者關(guān)注~~~