美文网首页
ShareSDK 分享简单使用操作

ShareSDK 分享简单使用操作

作者: Nicole__Zhang | 来源:发表于2016-09-27 16:56 被阅读741次

    1、注册ShareSDK的账号 创建应用

    创建应用 获取应用的App Key和App Secret 具体步骤参考官方文档 讲的很详细http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1

    2.下载SDK 也可使用 cocoaPods 集成

    官方文档上有详细的注释,如果手动导包 请仔细阅读根据文档一步步操作。
    http://wiki.mob.com/ios%E7%AE%80%E6%B4%81%E7%89%88%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90/

    3.SSO(免登录)设置

    配置QQ所需的配置需要转格式 其他平台的设置参照文档
    在URL Types中添加QQ的AppID,其格式为:”QQ” + AppId的16进制(如果appId转换的16进制数不够8位则在前面补0,如转换的是:5FB8B52,则最终填入为:QQ05FB8B52 注意:转换后的字母要大写) 转换16进制的方法:echo ‘ibase=10;obase=16;801312852′|bc,其中801312852为QQ的AppID,见下图

    9406F13D-F78B-4261-A52B-CFBC7ECF4890.png
    URL Types配置 以微信为例:
    55BDA8FD-90BF-472B-999C-4C57680AB210.png

    4.设置ShareSDK的Appkey并初始化对应的第三方社交平台

    打开AppDelegate.m导入头文件(根据自己的需求)

    #import <ShareSDK/ShareSDK.h>
    #import <ShareSDKConnector/ShareSDKConnector.h>
     
    //腾讯开放平台(对应QQ和QQ空间)SDK头文件
    #import <TencentOpenAPI/TencentOAuth.h>
    #import <TencentOpenAPI/QQApiInterface.h>
     
    //微信SDK头文件
    #import "WXApi.h"
     
    //新浪微博SDK头文件
    #import "WeiboSDK.h"
    //新浪微博SDK需要在项目Build Settings中的Other Linker Flags添加"-ObjC"
     
    //人人SDK头文件
    #import <RennSDK/RennSDK.h>
    

    在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台(ShareSDK各社交平台申请APPkey 的网址及申请流程汇总http://bbs.mob.com/forum.php?mod=viewthread&tid=275&page=1&extra=#pid860)

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
          /**
         *  设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到http://mob.com/login 登录后台进行应用注册
         *  在将生成的AppKey传入到此方法中。
         *  方法中的第二个第三个参数为需要连接社交平台SDK时触发,
         *  在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。
         *  如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。
         */
     [ShareSDK registerApp:@"iosv1101" 
     
               activePlatforms:@[
                                @(SSDKPlatformTypeSinaWeibo),
                                @(SSDKPlatformTypeMail),
                                @(SSDKPlatformTypeSMS),
                                @(SSDKPlatformTypeCopy),
                                @(SSDKPlatformTypeWechat),
                                @(SSDKPlatformTypeQQ),
                                @(SSDKPlatformTypeRenren),
                                @(SSDKPlatformTypeGooglePlus)]
               onImport:^(SSDKPlatformType platformType)    
               {
                   switch (platformType)
                   {
                      case SSDKPlatformTypeWechat:
                           [ShareSDKConnector connectWeChat:[WXApi class]];
                        break;
                      case SSDKPlatformTypeQQ:
                           [ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
                        break;
                      case SSDKPlatformTypeSinaWeibo:
                              [ShareSDKConnector connectWeibo:[WeiboSDK class]];
                        break;
                      case SSDKPlatformTypeRenren:
                              [ShareSDKConnector connectRenren:[RennClient class]];
                        break;
                      default:
                        break;
                    }
              }
              onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) 
              {
     
                  switch (platformType)
                  {
                      case SSDKPlatformTypeSinaWeibo:
                          //设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
                          [appInfo SSDKSetupSinaWeiboByAppKey:@"568898243"
                                                    appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3"
                                                  redirectUri:@"http://www.sharesdk.cn"
                                                     authType:SSDKAuthTypeBoth];
                       break;
                      case SSDKPlatformTypeWechat:
                          [appInfo SSDKSetupWeChatByAppId:@"wx4868b35061f87885"
                                                appSecret:@"64020361b8ec4c99936c0e3999a9f249"];
                       break;
                      case SSDKPlatformTypeQQ:
                          [appInfo SSDKSetupQQByAppId:@"100371282"
                                               appKey:@"aed9b0303e3ed1e27bae87c33761161d"
                                             authType:SSDKAuthTypeBoth];
                       break;
                      case SSDKPlatformTypeRenren:
                          [appInfo        SSDKSetupRenRenByAppId:@"226427"
                                                   appKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
                                                secretKey:@"f29df781abdd4f49beca5a2194676ca4"
                                                 authType:SSDKAuthTypeBoth];
                        break;
                       case SSDKPlatformTypeGooglePlus:
                         [appInfo SSDKSetupGooglePlusByClientID:@"232554794995.apps.googleusercontent.com"
                                                    clientSecret:@"PEdFgtrMw97aCvf0joQj7EMk"
                                                     redirectUri:@"http://localhost"];
                        break;
                       default:
                        break;
                  }
              }];
     return YES;
    }
    

    4.添加实现代码

    打开需要集成分享功能的视图源码,把如下代码复制并粘贴到你要分享的位置,例如到响应分享按钮的方法中。并且修改相应的参数即可。

    1.需要在分享的试图中导入的头文件

    #import <ShareSDK/ShareSDK.h>
    #import <ShareSDKUI/ShareSDK+SSUI.h>
    

    2.调用构造分享参数接口和分享的接口

    //1、创建分享参数
        NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
        //(注意:图片必须要在Xcode左边目录里面,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
        if (imageArray) {
     
            NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
            [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                             images:imageArray
                                                url:[NSURL URLWithString:@"http://mob.com"]
                                              title:@"分享标题"
                                               type:SSDKContentTypeAuto];
     //2、分享(可以弹出我们的分享菜单和编辑界面)
            [ShareSDK showShareActionSheet:nil //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
                                     items:nil
                               shareParams:shareParams
                       onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
     
                           switch (state) {
                               case SSDKResponseStateSuccess:
                               {
                                   UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                                       message:nil
                                                                                      delegate:nil
                                                                             cancelButtonTitle:@"确定"
                                                                             otherButtonTitles:nil];
                                   [alertView show];
                                   break;
                               }
                               case SSDKResponseStateFail:
                               {
                                   UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                                       message:[NSString stringWithFormat:@"%@",error]
                                                                                      delegate:nil
                                                                             cancelButtonTitle:@"OK"
                                                                             otherButtonTitles:nil, nil];
                                    [alert show];
                                    break;
                                }
                                default:
                                   break;
                                }
                        }  
            ];}
    

    5.最后一定要看的 防止掉坑里 !!!

    适配iOS9系统注意点:
    1.大部分社交平台接口不支持https协议
    2.小部分社交平台SDK不支持bitcode
    3.添加Scheme白名单
    http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/
    4.本人遇到的问题:

    2016-09-27 下午4.04.01.png
    解决方法 将微信添加白名单

    5.关于分享界面是英文的问题

    如下配置:
    添加Language


    2016-09-28 下午1.25.27.png

    相关文章

      网友评论

          本文标题:ShareSDK 分享简单使用操作

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