iOS 友盟分享添加自定义分享按钮的方法

2018-12-30  本文已影响0人  马威明

友盟分享时 我们经常会遇到一些默认面板中没有的按钮如:复制链接、调起系统分享等。
解决方式是在友盟初始化的时候添加好自定义的平台
自定义的平台类型使用 用户自定义平台的预留值往下叠加即可。

友盟分享平台的枚举预留值
/**
 *  友盟初始化
 */
-(void) setUM{
    [[UMSocialManager defaultManager] openLog:YES];
    [[UMSocialManager defaultManager] setUmSocialAppkey:UMKey];
    // 新浪
    [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Sina appKey:WBAppid  appSecret:WBAppSecret redirectURL:@"http://sns.whalecloud.com/sina2/callback"];
    //QQ
    [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:QQAppid appSecret:nil redirectURL:@"http://mobile.umeng.com/social"];
    //微信
    [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatTimeLine appKey:WxAppid appSecret:WxAppSecret redirectURL:@"http://mobile.umeng.com/social"];
    [UMSocialUIManager addCustomPlatformWithoutFilted:UMSocialPlatformType_UserDefine_Begin+1
                                     withPlatformIcon:[UIImage imageNamed:@"复制链接"]
                                     withPlatformName:@"复制链接"];
    [UMSocialUIManager addCustomPlatformWithoutFilted:UMSocialPlatformType_UserDefine_Begin+2
                                     withPlatformIcon:[UIImage imageNamed:@"分享版面更多"]
                                     withPlatformName:@"更多"];
    //自定义分享选项
//    UMSocialSnsPlatform *snsPlatform = [[UMSocialSnsPlatform alloc] initWithPlatformName:@"CustomPlatform"];
    
}

然后在分享事件中添加上自定义的平台 并自定义触发事件。

#pragma mark - 友盟分享============================友盟分享
- (void) share{
    [UMSocialUIManager setPreDefinePlatforms:
  @[@(UMSocialPlatformType_Sina),
    @(UMSocialPlatformType_WechatSession),
    @(UMSocialPlatformType_WechatTimeLine),
    @(UMSocialPlatformType_QQ),
    @(UMSocialPlatformType_Qzone),
    @(UMSocialPlatformType_UserDefine_Begin + 1),
    @(UMSocialPlatformType_UserDefine_Begin + 2)
]];
    // 配置 显示在最下面
    [UMSocialShareUIConfig shareInstance].sharePageGroupViewConfig.sharePageGroupViewPostionType = UMSocialSharePageGroupViewPositionType_Bottom;
    // 设置圆角
    [UMSocialShareUIConfig shareInstance].sharePageScrollViewConfig.shareScrollViewPageItemStyleType = UMSocialPlatformItemViewBackgroudType_None;
    [UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
        if (platformType == UMSocialPlatformType_UserDefine_Begin + 1) {
            UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
            pasteboard.string = @"";
            [BMWFactory showSuccess:@"链接复制成功"];
        }else if (platformType == UMSocialPlatformType_UserDefine_Begin + 2){
            NSLog(@"====================点击更多分享");
        }else{
            [self shareWithOption:platformType];
        }
    }];
}
上一篇下一篇

猜你喜欢

热点阅读