由于友盟分享SDK6整體重構(gòu)趴腋,6.0以下SDK中的接口大都不能夠使用了吊说,以至于自定義分享功能不能使用原接口论咏。
如果是 友盟SDK6.0,請轉(zhuǎn)到此處
在 SDK 路徑
UMSocalSDK -- UMSocialCore.framework -- Headers -- UMSocialPlatformConfig.h
文件中定義你需要的平臺類型
//用戶自定義的平臺
UMSocialPlatformType_UserDefine_Begin = 1000,
/// 注:1000 < xxxx < 200
UMSocialPlatformType_Link = xxxx,
UMSocialPlatformType_UserDefine_End = 2000,
自定義分享平臺類(重要的是遵循 UMSocialPlatformProvider 協(xié)議)
// ZXCustomSharePlatform.h
#import <UMSocialCore/UMSocialCore.h>
@interface ZXCustomSharePlatform : UMSocialHandler <UMSocialPlatformProvider>
@end
實現(xiàn)(全部方法都得有颁井,但是挑幾個必須實現(xiàn)的寫)
// ZXCustomSharePlatform.m
#import "ZXCustomSharePlatform.h"
@implementation ZXCustomSharePlatform
+ (void)load {
[super load];
}
+ (NSArray *) socialPlatformTypes {
return @[@(UMSocialPlatformType_Link)];
}
+ (instancetype)defaultManager {
static ZXCustomSharePlatform *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (!instance) {
instance = [[self alloc] init];
}
});
return instance;
}
+ (NSString *)platformNameWithPlatformType:(UMSocialPlatformType)platformType {
return @"復(fù)制鏈接";
}
-(void)umSocial_ShareWithObject:(UMSocialMessageObject *)object
withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler {
UMShareWebpageObject *webObjc = object.shareObject;
UIPasteboard *pastboad = [UIPasteboard generalPasteboard];
pastboad.string = webObjc.webpageUrl;
[ZXCusAlert alertWithTitles:@[@"鏈接復(fù)制成功"]];
}
// 因為我分享的是網(wǎng)頁類型厅贪,所以 object.shareObject 的類型是 UMShareWebpageObject
-(BOOL)umSocial_handleOpenURL:(NSURL *)url {
return YES;
}
-(UMSocialPlatformFeature)umSocial_SupportedFeatures {
return UMSocialPlatformFeature_None;
}
-(NSString *)umSocial_PlatformSDKVersion {
return [UMSocialGlobal umSocialSDKVersion];
}
-(BOOL)checkUrlSchema {
return YES;
}
-(BOOL)umSocial_isInstall {
return YES;
}
-(BOOL)umSocial_isSupport {
return YES;
}
@end
在UMSocialUI--UMSocialSDKResources.bundle路徑下
1.UMSocialPlatformTheme--default中,把umsocial_default.png替換為自己定義平臺的圖片
2.zh-Hans.iproj--UMSocialLocalizable.strings中雅宾,將umsocial_default的值替換為自定義平臺名稱养涮,如“復(fù)制鏈接”
最后,在 Appdelegate.m 文件中 其他分享平臺代碼下方 添加自定義平臺代碼:
ZXCustomSharePlatform *cusPlatform = [[ZXCustomSharePlatform alloc] init];
[[UMSocialManager defaultManager] addAddUserDefinePlatformProvider:cusPlatform withUserDefinePlatformType:UMSocialPlatformType_Link];