項(xiàng)目需要做海外版本眶俩,因此分享需要集成facebook messanger莹汤。由于這兩個(gè)都是facebook旗下的sdk,因此只要到facebook開發(fā)者官網(wǎng)上下載對(duì)應(yīng)的sdk颠印。
按照官網(wǎng)的步驟一步一步集成下來纲岭,產(chǎn)品將申請(qǐng)的faceBook分享需要的 app_id 和 secretKey給我們(坑就此埋下了)。然后配置項(xiàng)目中 info.list 需要配置三個(gè)key 分別是
facebookAPPid (產(chǎn)品給) faceBookDisplayName (產(chǎn)品沒給线罕,自己寫了項(xiàng)目名稱)和 url schemes(官網(wǎng)有)止潮。
1、facebook 分析圖片
項(xiàng)目前期只做了分享視頻的功能钞楼,這個(gè)配置work的喇闸。 最近需要要求分享圖片,卻總是分享失敗询件。核對(duì)過幾次代碼都沒問題燃乍,最后在 失敗回調(diào)中打印出來的info信息中顯示faceBookDisplayName 與產(chǎn)品在開發(fā)者網(wǎng)站上面填寫的不一致。登錄開發(fā)者賬號(hào)將產(chǎn)品填寫的faceBookDisplayName 的內(nèi)容拷貝到 info.plist文件中宛琅。然后運(yùn)行分享圖片一切正常刻蟹。faceBook在分享圖片的時(shí)候會(huì)驗(yàn)證 faceBookDisplayName 的值與開發(fā)者后臺(tái)填寫的是否一致
2、messanger分享在 ipad和iphone上的坑
messanger在ipad上面分享要添加 "fb-messenger-platform" urlSchemes,
在ipad的上面分享時(shí)只能調(diào) FBSDKMessengerSharer 的api嘿辟,在iphone設(shè)備上可以與facebook的share 混合使用座咆。 即用 facebook 分享api構(gòu)建分享對(duì)象
分享鏈接
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"https://developers.facebook.com"];
分享圖片
UIImage *image = info[UIImagePickerControllerOriginalImage];
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = image; photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
分享視頻
FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
video.videoURL = videoURL;
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
content.video = video;
然后用
[FBSDKMessageDialog showWithContent:content delegate:nil];
分享出去 就ok
官方明確寫出 FBSDKMessageDialog 不支持ipad分享