美文网首页iOS实用技术iOS进阶指南iOS学习笔记
友盟分享面板添加自定义按钮,比如复制按钮

友盟分享面板添加自定义按钮,比如复制按钮

作者: 船长_ | 来源:发表于2016-04-17 22:28 被阅读3581次

如何向友盟分享面板添加自定义按钮,友盟文档已经有介绍,这里代码贴出来,供他人参考

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 = @"分享到其他平台的文字内容";
    }
}

相关文章

网友评论

  • 俊俊吖:添加头文件会报错
  • 小代码仔:#import "UMSocialUIManager.h"
    手动导入这个报错 说没有找到 应该怎么解决啊
    1c5490ecd7b6:@俊俊吖 #import <UShareUI/UShareUI.h>
    俊俊吖:@Atlantis_d724 头文件引入的哪一个啊
    1c5490ecd7b6:只要在界面把添加的方法【self customShare]方法跑一下就能实现自定义的分享界面了,再实现按钮点击实现分享的,不用appdelegate里面做什么,我已经做好了
  • 劳资有个梦想:swift 版本的有吗。 这个翻译过来有问题
  • 知德:6.0以上的sdk怎么添加 自定义 复制链接的功能呢?
  • 9f5781138e1a:6.0.2 的sdk中,好像不能用这个方法,该怎么办
  • 瘦子书生:友盟的面板DEMO在哪里,怎么没找到
    船长_:就是快速集成友盟分享的方法,自带弹窗ui
  • 迷程:如果需要添加自定义按钮,如复制链接等按钮,在appdelegate方法内添加下面的代码:

    UMSocialSnsPlatform *snsPlatform = [[UMSocialSnsPlatform alloc] initWithPlatformName:@"CustomPlatform"];
    snsPlatform.displayName = @"自定义平台";
    snsPlatform.snsClickHandler = ^(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController){
    NSLog(@"点击自定义平台的响应");
    };
    [UMSocialConfig addSocialSnsPlatform:@[snsPlatform]];
    //设置你要在分享面板中出现的平台
    [UMSocialConfig setSnsPlatformNames:@[UMShareToSina,@"CustomPlatform"]];
    这是友盟官方的代码,加进去没多显示一个按钮出来,大神知道为何吗?
  • 爱iOS的延哥:shareUrl是什么啊
    船长_:@爱iOS的延哥 你肯定没仔细看,NSString *umurl=@"www.baidu.com";
    AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    app.shareUrl = umurl;属性传值过去
    爱iOS的延哥:@船长_ 你好,但是这个方法是写在delegate里面的,请问我该怎么替换
    ,谢谢你。
    船长_:@爱iOS的延哥 要复制的字符串啊
  • 00605726cf24:换了key值,也还是没加上
  • c5af9bbf728f:同样的情况
  • Senior丶:我复制过去的,为什么我的自定义的这个还是没添加上啊
    船长_:@Senior丶 因为这个key是乱写的,仅供参考用,要用自己申请的key
  • husky_duang:这两天正想看呢,谢谢

本文标题:友盟分享面板添加自定义按钮,比如复制按钮

本文链接:https://www.haomeiwen.com/subject/xtoolttx.html