100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > iOS开发 - 友盟分享(自定义分享)如何让新浪分享显示蓝色文字 其他平台内容不显示链接

iOS开发 - 友盟分享(自定义分享)如何让新浪分享显示蓝色文字 其他平台内容不显示链接

时间:2024-04-04 06:07:03

相关推荐

iOS开发 - 友盟分享(自定义分享)如何让新浪分享显示蓝色文字 其他平台内容不显示链接

我们在做分享时纠结于新浪的分享显示和别的平台不一样,新浪的分享链接显示蓝色的文字,其他平台如果分享内容同意显示链接(比如:),那么恭喜你省了一点功夫,但是如果需求上说内容不允许出现链接怎么办?上一篇内容写了在ShareSDK中如何自定义分享的内容,下面说下在友盟中如何来自定义,先看图:

如图是同一个组件中分享出来的,可以看到,显示是不一样的。

下面看下代码:

/*自定义分享样式,可以自己构造分享列表页面*/-(IBAction)showShareList3:(UIButton *)sender{//iOS8下使用UIAlertController#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000if([[UIDevice currentDevice].systemVersion floatValue] >= 8.0){UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"图文分享" message:@"图文分享" preferredStyle:UIAlertControllerStyleActionSheet];for (NSString *snsName in [UMSocialSnsPlatformManager sharedInstance].allSnsValuesArray) {UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];UIAlertAction *alertAction = [UIAlertAction actionWithTitle:snsPlatform.displayName style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {//设置分享内容,和回调对象NSString *shareText;if ([snsName isEqualToString:@"sina"]) {shareText= @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";}elseshareText = @"Hello";UIImage *shareImage = [UIImage imageNamed:@"UMS_social_demo"];[[UMSocialControllerService defaultControllerService] setShareText:shareText shareImage:shareImage socialUIDelegate:self];UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];snsPlatform.snsClickHandler(self,[UMSocialControllerService defaultControllerService],YES);}];[alertController addAction:alertAction];}UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {[alertController dismissViewControllerAnimated:YES completion:nil];}];[alertController addAction:cancelAction];UIPopoverPresentationController *popover = alertController.popoverPresentationController;if (popover){popover.sourceView = sender;popover.sourceRect = sender.bounds;popover.permittedArrowDirections = UIPopoverArrowDirectionAny;}[self presentViewController:alertController animated:YES completion:nil];} else {#endifUIActionSheet * editActionSheet = [[UIActionSheet alloc] initWithTitle:@"图文分享" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];for (NSString *snsName in [UMSocialSnsPlatformManager sharedInstance].allSnsValuesArray) {UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];[editActionSheet addButtonWithTitle:snsPlatform.displayName];}[editActionSheet addButtonWithTitle:@"取消"];editActionSheet.tag = kTagShareEdit;[editActionSheet showFromTabBar:self.tabBarController.tabBar];editActionSheet.delegate = self;#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000}#endif}-(IBAction)showShareList4:(id)sender{UIActionSheet * editActionSheet = [[UIActionSheet alloc] initWithTitle:@"直接分享到微博" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];for (NSString *snsName in [UMSocialSnsPlatformManager sharedInstance].allSnsValuesArray) {UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];[editActionSheet addButtonWithTitle:snsPlatform.displayName];}[editActionSheet addButtonWithTitle:@"取消"];editActionSheet.tag = kTagSharePost;editActionSheet.cancelButtonIndex = editActionSheet.numberOfButtons - 1;[editActionSheet showFromTabBar:self.tabBarController.tabBar];editActionSheet.delegate = self;}/*在自定义分享样式中,根据点击不同的点击来处理不同的的动作*/- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{if (buttonIndex + 1 >= actionSheet.numberOfButtons ) {return;}NSLog(@"click button index is %d",buttonIndex);//分享编辑页面的接口,snsName可以换成你想要的任意平台,例如UMShareToSina,UMShareToWechatTimelineNSString *snsName = [[UMSocialSnsPlatformManager sharedInstance].allSnsValuesArray objectAtIndex:buttonIndex];NSString *shareText;if (buttonIndex == 0) {shareText= @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";}elseshareText = @"Hello";UIImage *shareImage = [UIImage imageNamed:@"UMS_social_demo"];if (actionSheet.tag == kTagShareEdit) {//设置分享内容,和回调对象[[UMSocialControllerService defaultControllerService] setShareText:shareText shareImage:shareImage socialUIDelegate:self];UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];snsPlatform.snsClickHandler(self,[UMSocialControllerService defaultControllerService],YES);} else if (actionSheet.tag == kTagSharePost){[[UMSocialDataService defaultDataService] postSNSWithTypes:@[snsName] content:shareText image:shareImage location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity * response){if (response.responseCode == UMSResponseCodeSuccess) {UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"成功" message:@"分享成功" delegate:nil cancelButtonTitle:@"好" otherButtonTitles:nil];[alertView show];} else if(response.responseCode != UMSResponseCodeCancel) {UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"失败" message:@"分享失败" delegate:nil cancelButtonTitle:@"好" otherButtonTitles:nil];[alertView show];}}];}}

以上代码来源于友盟的Demo,博主在里面加入了自己的判断,就实现了标题中的功能,上面有两种分享的方式,第一种直接在设置分享内容时给定不一样的自定义内容,第二种在分享时,根据不同的分享平台给定不同的分享内容,看完之后是不是觉得很简单呢?

关键代码如下:

NSString *shareText;if ([snsName isEqualToString:@"sina"]) {shareText= @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";}elseshareText = @"Hello";和if (buttonIndex == 0){shareText= @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";}elseshareText = @"Hello";

注意上面是两种分享方式,所以才有了两种判断,原理都一样的。

有需要Demo的请自行下载。

Demo下载地址

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。