使用presentShareDialogWithLink
或Open 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。
有些相关问题:Feed dialog doesn't publish large images
在Facebook > Apps > Open Graph >
下,我在share
和(2) > Action Types
下创建了(1) link
在> Object Types
下。然后,使用下面的代码段,我确实获得了快速切换到Facebook-iOS-app,但分享对话框快速消失,右上角Post
按钮被禁用(类似于this question)。 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];