社会化分享

Posted Dream-seekerGirl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了社会化分享相关的知识,希望对你有一定的参考价值。

社会化分享

      现在很多应用都内置“社会化分享”功能,可以将看到的新闻、博客、广告等内容分享到微博、微信、QQ、空间等,为了拉取用户,提高应用的DAU,一般应用都有分享功能。下面咱们从苹果官方自带分享说起:其实从ios6.0开始苹果官方就内置了Scocial.framework专门来实现社会化分享功能,利用这个框架开发者只需要几句代码就可以实现内容分享。下面就以一个分享到新浪微博的功能为例来演示Social框架的应用,整个过程分为:创建内容编辑控制器,设置分享内容(文本内容,图片等)设置发送(或取消)后的回调事件展示控制器。

       程序代码如下:

//
//  ViewController.m
//  Social_自带社会化分享
//
//  Created by Wangyuanyuan on 16/4/19.
//  Copyright © 2016年 Wangyuanyuan. All rights reserved.
//

#import "ViewController.h"

#import <Social/Social.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad 
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    
    //系统自带social.framewoke的使用步骤
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(100, 100, 100, 100);
    btn.backgroundColor = [UIColor redColor];
    [btn addTarget:self action:@selector(shareAction:) forControlEvents:UIControlEventTouchUpInside];
    [btn setTitle:@"测试" forState:UIControlStateNormal];
    [self.view addSubview:btn];
    
    
    


#pragma mark - 系统自带的分享按钮的响应方法
- (void)shareAction:(UIButton *)sender
    
    //第一步:判断平台是否可用(系统,注意此处)
    if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) 
        NSLog(@"新浪微博不可用");
        return;
    
    
    
    //第二步:创建分享控制器
    SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
    
    //第三步:添加分享的文字
    [composeVC setInitialText:@"梦想一定要有,说不定就实现了呢"];
    
    //第3.5步:添加分享的图片
    [composeVC addImage:[UIImage imageNamed:@"DLAM.jpg"]];
    
    //第四步:弹出控制器进行分享
    [self presentViewController:composeVC animated:YES completion:nil];
    
    //第五步:设置监听发送结果
    composeVC.completionHandler = ^(SLComposeViewControllerResult result)
        
        
        if (result == SLComposeViewControllerResultDone) 
            NSLog(@"用户发送成功");
         else
            NSLog(@"用户发送失败");
        
        
    ;
    
    



- (void)didReceiveMemoryWarning 
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.


@end

运行效果如下图:

    发送成功之后就可以在自己的微博账号中查找到了。注意点:在第一步:判断新浪微博平台是否可用,如果你不进行如下设置:此微博平台是一直不可用状态的,这也是我们需要关注的细节点:1.必须在真机上运行;2.必须修改真机上的“设置”页面,如果要分享到微博账号必须告知哪个账户来发送微博,这些在设置中都有专门设置这些内容的地方,如下图所示


最后再强调一遍必须在上图的地方设置要分享的微博账户,否则Social框架不知道具体使用哪个账户,第一步就失败了。。。。。


说完苹果自带的分享,下面咱们来看一下三方分享

从上面可以看出,苹果官方默认支持的分享并不太多,特别是对国内应用只支持新浪微博和腾讯微博,那么如果要分享到微信,人人,开心网,qq等国内比较知名的社交网路怎么办呢?目前最好的选择就是使用第三方框架,因为要使用各个应用的接口还是比较复杂的。

以下是使用的比较多的第三方分享框架:

1.友盟社会化分享组件快速集成     

2.ShareSDK三方分享


具体使用参考对应的SDK文档,在这里我就不多说了。如果有什么问题咱们一起来讨论学习吧!



以上是关于社会化分享的主要内容,如果未能解决你的问题,请参考以下文章

在Android中使App高速简单地支持新浪微博微信QQfacebook等十几个主流社交平台的分享功能

iOS - 社会化分享-微信分享,朋友圈分享

社会化分享

IOS-社会化分享

iOS 社会化分享小程序

(良心篇)给你们分享一篇关于C#大文件上传的整个过程