码迷,mamicode.com
首页 > 移动开发 > 详细

iOS友盟分享--集成Facebook官方SDK

时间:2015-07-29 11:56:14      阅读:2055      评论:0      收藏:0      [点我收藏+]

标签:

一直用的友盟分享,最近客户提了个新需求要求可以分享到Facebook  想到友盟就有FB分享 万分激动啊。。

但是测试后发现 友盟的Facebook 两种都存在一定问题。。

第一种   使用系统自带Facebook需要先在手机上设置Facebook账号

 优点:这种分享简单 不需要配置Facebook AppID

 缺点:继承了系统Facebook 不能预填写分享内容的特点(一般的app分享内容是要预填写的  怎么着也得王婆卖瓜对不对。。所以这个缺点很致命);

第二种:使用应用内网页分享 (这种分享 友盟官方demo 都无法分享成功 ==)

优点:不用费脑子想了,就是没有优点

缺点:都分享不了了  你说呢

既然这样。。 只能手动集成了。。。 ==

---------以上纯属抱怨  ----下面进入正题---

集成友盟就不累赘讲了  

首先 你需要进入https://developers.facebook.com注册一个应用 得到一个 App ID

官方文档地址 https://developers.facebook.com/docs/ios/getting-started 

首先 下载 Facebook sdk 下载下来是.pkg安装文件

安装完成  在~/Documents/FacebookSDK 路径下 可以找到 Facebook的sdk

把 FBSDKLoginKit.framework FBSDKShareKit.framework FBSDKCoreKit.framework 拖拽到项目下

选择 Create groups for any added folders.

在项目的.plist文件内  新建一个FacebookAppID key   value 是上面在Facebook注册完应用得到的appID

然后 在 info ->URL types ->点击加号 在url schemes 里填写 fb+appID (如:fb91136964205)

最后 在appdelegate.m 中添加下面代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                  didFinishLaunchingWithOptions:launchOptions];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                        openURL:url
                                              sourceApplication:sourceApplication
                                                     annotation:annotation];
}

 ---到这里--Facebook SDK 集成完毕-----

然后 需要重新定义友盟的 sharetofacebook 平台

截获友盟Facebook平台的点击事件 走官方sdk

  UMSocialSnsPlatform *fbPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToFacebook];

        fbPlatform.needLogin = NO;

        NSString *shareUrlStr = @"www.baidu.com";

        fbPlatform.snsClickHandler = ^(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController) {

            FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];

            content.contentURL = [NSURL URLWithString:shareUrlStr];

            content.contentDescription = shareContentText;

            content.contentTitle = @"test sharefb";

            content.imageURL = [NSURL URLWithString:@"http://dev.umeng.com/system/images/W1siZiIsIjIwMTQvMDMvMTIvMTZfMjFfNDBfNTc3X3NvY2lhbF9zaGFyZWxpc3RfYWN0aW9uc2hlZXQucG5nIl1d/social_sharelist_actionsheet.png"];

            

            [FBSDKShareDialog showFromViewController:self

                                         withContent:content

                                            delegate:nil];

        };

 ---到这里  --大功告成了^_^-----

PS:我也不想干巴巴的说。。但是不老写博客。。不知道怎么加图片 == 

Demo 地址: https://github.com/Rachel829/UMShareToFBDemo

 

iOS友盟分享--集成Facebook官方SDK

标签:

原文地址:http://www.cnblogs.com/Rachel0829/p/4684737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!