iOS友盟分享--整合Facebook官方SDK

來源:互聯網
上載者:User

標籤:

一直用的友盟分享,最近客戶提了個新需求要求可以分享到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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.