从iOS应用程序分享到Facebook并创建应用程序名称
我可以使用标准共享操作从我的iOS应用程序*享到Facebook。我看到其他应用程序也一样。从iOS应用程序分享到Facebook并创建应用程序名称
不过,我已经在其他应用中注意到的是他们的应用程序的名称包含在Facebook上分享的信息。
如果我从一个浏览器内的链接上点击,它进入这个:
https://apps.facebook.com/carousell/?fb_source=feed
如果我从Facebook的移动应用程序内的链接上点击,它进入应用商店页面。
我可以从iOS应用程序做同样的事吗?或者它是在网站上确定的东西?如果是这样,我该怎么做到这一点?
我不确定我理解你的问题,但看着你的两个图像,我得到的印象是,你试图通过用户设备上的Facebook应用发布到用户的墙上,而“Carousell”应用是以编程方式创建帖子。我不确定是否可以将Facebook应用程序设置为包含有关称为帖子操作的应用程序的元数据,但我知道如何以编程方式进行操作。一种方法是创建一个“Story”帖子(我意识到这不是Carousell在这里做的,只是以此为例)。
要创建故事帖子,首先需要在开发人员门户中设置故事。要做到这一点,请登录您的Facebook Developer Portal并选择您的应用程序。然后从左边的菜单中选择“Open Graph”。我不打算解释如何从这里创建一个真实的故事,因为它非常简单。完成故事创建后,点击“获取代码”查看您需要的代码片段。
下面是我的一个应用程序示例。在这种情况下,我正在执行imagePickerController:didFinishPickingMediaWithInfo:
委托方法中的所有内容。我创建一个对象,动作,以及随后的故事,通过一个共享的对话框提示该用户内容:
UIImage *image = info[UIImagePickerControllerOriginalImage];
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = image;
photo.userGenerated = YES;
NSDictionary *properties = @{
@"og:type": @"appNamespace:objectTypeName",
@"og:title": @"Type Title",
@"og:description": @"Facebook story post!",
@"og:url": @"http://samples.ogp.me/bignumber",
@"og:image": @[photo]
};
FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject objectWithProperties:properties];
FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
action.actionType = @"appNamespace:objectTypeName";
[action setObject:object forKey:@"objectTypeName"];
FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init];
content.action = action;
content.previewPropertyName = @"objectTypeName";
[FBSDKShareDialog showFromViewController:someViewController
withContent:content
delegate:self];
这种方法将创建一个“故事”的帖子这其中也包括您的应用程序名称和链接到您的应用程序。我是 大部分代码将在Facebook开发人员门户网站上为您自动生成,但您可以通过编程方式发布到您的时间表,直到获得您要查找的结果,然后使用默认代码和实验进行试用。除了您的应用测试人员之外,没有人能够看到这些帖子,直到您的故事得到批准,或者至少这是我迄今为止的经历。我希望这有助于回答你的问题。