FaceBook messanger 分享图片的坑

项目需要做海外版本,因此分享需要集成facebook messanger。由于这两个都是facebook旗下的sdk,因此只要到facebook开发者官网上下载对应的sdk。
按照官网的步骤一步一步集成下来,产品将申请的faceBook分享需要的 app_id 和 secretKey给我们(坑就此埋下了)。然后配置项目中 info.list 需要配置三个key 分别是
facebookAPPid (产品给) faceBookDisplayName (产品没给,自己写了项目名称)和 url schemes(官网有)。
1、facebook 分析图片
项目前期只做了分享视频的功能,这个配置work的。 最近需要要求分享图片,却总是分享失败。核对过几次代码都没问题,最后在 失败回调中打印出来的info信息中显示faceBookDisplayName 与产品在开发者网站上面填写的不一致。登录开发者账号将产品填写的faceBookDisplayName 的内容拷贝到 info.plist文件中。然后运行分享图片一切正常。faceBook在分享图片的时候会验证 faceBookDisplayName 的值与开发者后台填写的是否一致

2、messanger分享在 ipad和iphone上的坑
messanger在ipad上面分享要添加 "fb-messenger-platform" urlSchemes,
在ipad的上面分享时只能调 FBSDKMessengerSharer 的api,在iphone设备上可以与facebook的share 混合使用。 即用 facebook 分享api构建分享对象
分享链接

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分享


FaceBook messanger 分享图片的坑_第1张图片
Paste_Image.png

你可能感兴趣的:(FaceBook messanger 分享图片的坑)