1

使用presentShareDialogWithLinkOpen Graph其他东西,(如何)可以在没有登录会话(即使用快速应用程序切换)的情况下在网络上发布大缩略图?即,官方片段不会在网络上显示缩略图(如下所示)。

[FBDialogs presentShareDialogWithLink:[NSURL URLWithString:@"http://example.com/"]
                                 name:@"name"
                              caption:nil
                          description:@"description"
                              picture:[NSURL URLWithString:linkToAnImage]
                          clientState:nil
                              handler:^(FBAppCall *call, NSDictionary *results, NSError *error) 
                                      {}];

如下所示,该片段确实在 iOS 应用程序中显示了大缩略图,但相同共享在网络上仅显示为左侧的旧/小缩略图。图像的分辨率为 2048 x 1072。

  • 网络

在此处输入图像描述

  • 苹果手机

在此处输入图像描述

  • iPad

在此处输入图像描述

有点相关的问题:Feed 对话框不发布大图像

使用 Open Graph 的另一次尝试

Facebook > Apps > Open Graph >我创建了(1) share under> Action Types(2) link under > Object Types。然后,使用下面的代码片段,我确实得到了快速切换到 Facebook-iOS 应用程序,但是共享对话框很快消失并且右上角的Post按钮被禁用(类似于这个问题)。Facebook 仪表板仍显示(1) share带有蓝色标记Unapproved状态的操作类型,如果这在测试时有所不同。

id object = [FBGraphObject openGraphObjectForPostWithType:[NSString stringWithFormat:@"%@:link", FBAppNamespace]
                                                    title:@"name"
                                                    image:@"http://link.com/to/an/image.jpg"
                                                      url:@"http://appstore.com/keynote"
                                              description:@"description"];

id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
action[@"link"] = object;
FBOpenGraphActionShareDialogParams* params = [FBOpenGraphActionShareDialogParams new];
params.action = action;
params.actionType = [NSString stringWithFormat:@"%@:share", FBAppNamespace];
[FBDialogs presentShareDialogWithOpenGraphAction:params.action
                                          actionType:params.actionType
                                 previewPropertyName:@"link"
                                             handler:nil];
4

0 回答 0