友盟分享面板添加自定義按鈕,比如復制按鈕

如何向友盟分享面板添加自定義按鈕,友盟文檔已經有介紹,這里代碼貼出來,供他人參考

1.在appdelegate里面,程序啟動添加自定義的平臺

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [self customShare];
}

2.核心代碼

- (void)customShare{
    UMSocialSnsPlatform *snsPlatform = [[UMSocialSnsPlatform alloc] initWithPlatformName:@"CustomPlatform"];
    // 設置自定義分享按鈕的名稱
    snsPlatform.displayName = @"復制鏈接";
    // 設置自定義分享按鈕的圖標
    snsPlatform.bigImageName = @"copy";
     __weak typeof(self) weakSelf = self;
    // 監聽自定義按鈕的點擊事件
    snsPlatform.snsClickHandler = ^(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController){
        UIPasteboard *pastboad = [UIPasteboard generalPasteboard];
        pastboad.string = weakSelf.shareUrl;
        UITabBarController *tab = (UITabBarController *)weakSelf.window.rootViewController;
        UINavigationController *nav = tab.selectedViewController;
        [nav showHint:@"復制鏈接成功"];
    };
    
   // 添加自定義平臺
    [UMSocialConfig addSocialSnsPlatform:@[snsPlatform]];
    // 設置你要在分享面板中出現的平臺
    [UMSocialConfig setSnsPlatformNames:@[UMShareToWechatSession, UMShareToWechatTimeline,UMShareToQQ,UMShareToQzone,UMShareToSms,@"CustomPlatform"]];
}

3.點擊彈出分享面板

- (void)shareClick{
    [UMSocialData defaultData].extConfig.wechatTimelineData.title = @"船長分享";
    [UMSocialData defaultData].extConfig.wechatSessionData.title = @"船長分享";
    [UMSocialData defaultData].extConfig.qqData.title = @"船長分享";

    NSString *umurl=@"www.baidu.com";
    AppDelegate *app  = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    app.shareUrl = umurl;
    [UMSocialWechatHandler setWXAppId:@"wx74ed03bc22" appSecret:@"a3a" url:umurl];
    [UMSocialQQHandler setQQWithAppId:@"999827" appKey:@"WFBhLc" url:umurl];
    [UMSocialQQHandler setSupportWebView:YES];
    NSString *shareText = [NSString stringWithFormat:@"chuanzhang"];

    // 微信/朋友圈/QQ/QQ空間/短信/自定義復制按鈕
    NSArray *names = @[ UMShareToWechatSession, UMShareToWechatTimeline,UMShareToQQ,UMShareToQzone,UMShareToSms,@"CustomPlatform"];
    [UMSocialData defaultData].extConfig.smsData.snsName=@"【船長】";
    [UMSocialData defaultData].extConfig.smsData.shareImage=nil;
    [UMSocialSnsService presentSnsIconSheetView:self appKey:@"509" shareText:shareText shareImage:shareImage shareToSnsNames:names delegate:self];
    }

4.分享按鈕點擊事件(針對短信平臺)

-(void)didSelectSocialPlatform:(NSString *)platformName withSocialData:(UMSocialData *)socialData
{
    // 短信分享處理
    if (platformName == UMShareToSms) {
        NSString *umurl=[NSString stringWithFormat:@"船長"];
        socialData.shareText= [NSString stringWithFormat:@"船長"];
        socialData.shareImage=nil;
        //socialData.urlResource=[[UMSocialUrlResource alloc]initWithSnsResourceType:UMSocialUrlResourceTypeWeb url:umurl];
    }
    else{
       // socialData.shareText = @"分享到其他平臺的文字內容";
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容