您的当前位置:首页社会化分享

社会化分享

2024-12-13 来源:哗拓教育

社会化分享

广告 - 免费推广.

原生框架

了解内容:(在中国不适用,只支持新浪微博和腾讯微博)
苹果原生的只有新浪微博和腾讯微博.其他的不行.不实用.
框架:Social.
控制器:SLComposeViewController

 if ([SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo] == NO) {
        NSLog(@"不支持微博分享服务");
    }
    // 实例化
    SLComposeViewController *composeVc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
    
    // 配置
    [composeVc setInitialText:@"测试用的"];
    [composeVc addImage:[UIImage imageNamed:@"nihao"]];
    
    // 结果回调参数
    // SLComposeViewControllerCompletionHandler
     = ^(SLComposeViewControllerResult result){
        // SLComposeViewControllerResultCancelled,
        // SLComposeViewControllerResultDone
        if (result == SLComposeViewControllerResultDone) {
            NSLog(@"分享成功");
        } else {
            NSLog(@"分享失败");
        }
    };
    // 3. 弹出来
    [self presentViewController:composeVc animated:YES completion:nil];

第三方框架

  • shareSDK和友盟
  • 注意原理:集成所有share,但是这个分享的前提是你必须去相应网站配置信息.演示微信和微博的分享,只是把其他app的分享集成到一起而已,本身不能做分享的. 因此需要你分别取shareSDK上和各个需要分享到应用开放平台上注册appKey和appSecret.

根据shareSDK官网上的代码提示.

  1. 导入ShareSDK的框架
    • 在下载的时候需要指定所分享的平台.
  2. 导入每个SDK所需要使用的系统框架(根据你需要的分享平台的系统框架决定)
  3. 初始化ShareSDK注册并验证.
  4. 代码部分
    4.1. 导入相应的头文件.(ShareSDK的,你需要分享的app的)
    导入时注意点:
    1. .framework用<框架名>导入,.a用"框架名"导入
    2. 注意系统自带的分享不需要连接,只需要连接第三方的分享(因为第三方有SDK需要连接)
    4.2. 注册,初始化ShareSDK应用
    根据官网上的示例代码,配置参数.
    //    appKey
    
[ShareSDK registerApp:shareSDKAppKey activePlatforms:platforms onImport:importHandler onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
    switch (platformType)
    {
        case SSDKPlatformTypeSinaWeibo:
            //设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权,注意授权回调页不能写错,得写开放者平台上填写的.不然会得不到你的授权.
            [appInfo SSDKSetupSinaWeiboByAppKey:shareWeiboAppKey
                                      appSecret:shareWeiboAppSecret
                                    redirectUri:SinaWeiboRedirectUri
                                       authType:SSDKAuthTypeBoth];
            break;
        case SSDKPlatformTypeWechat:
            [appInfo SSDKSetupWeChatByAppId:shareWechatAppKey
                                  appSecret:shareWechatAppSecret];
            break;
        default:
            break;
    }
}];
```

** 注意授权回调页不能写错,得写开放者平台上填写的.不然会得不到你的授权. **

  1. 弹出分享界面
    5.1 弹出分享界面方法,根据方法参数配置相关参数.
Snip20161031_4.png Snip20161101_11.png

Other Linker:如果libWeiboSDK.a里面的.m(.a文件中的.m已经被编译成其他的东西了)文件的代码.

//1、创建分享参数
    NSString *text = @"测试用的";
    
    NSArray* imageArray = @[[UIImage 
    
    //分享的网页路径
    NSURL *url = [NSURL 
    
    NSString *title = @"分享的标题";
    
//    (注意:图片必须要在Xcode左边目录里面,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 
    if (imageArray) {
        
        NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
        [shareParams SSDKSetupShareParamsByText:text
                                         images:imageArray
                                            url:url
                                          title:title
                                           type:SSDKContentTypeAuto];
        // show分享
        [ShareSDK showShareActionSheet:nil items:nil shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
            // SSDKResponseState表示结果状态
            if (state == SSDKResponseStateSuccess) {
                NSLog(@"分享成功: %@, %@", userData, contentEntity);
            }
            
            if (error) {
                NSLog(@"错误信息: %@", error);
            }
        }];
    }

微信分享,需要跳转进微信页面.进行额外的配置.

  1. SSO登陆认证,跳转APP(免登陆进行授权)
    6.1. wechat平台需要添加sso之后才能使用,因为微信没有网页,必须走sso
    6.2. 配置info中的url scheme!
    6.3. iOS9.0之后,要配置https
    6.4. 白名单,根据官网配置.
Snip20161101_15.png Snip20161101_16.png
显示全文