如何在 Facebook 中从 IOS 应用程序共享产品详细信息
Posted
技术标签:
【中文标题】如何在 Facebook 中从 IOS 应用程序共享产品详细信息【英文标题】:How to share product details from IOS app in Facebook 【发布时间】:2017-07-25 05:08:14 【问题描述】:我正在制作一个基于在线购物的应用程序。我想创建一个功能来在 Facebook 上发布我的产品详细信息。谁能告诉我如何实现这一目标?
当用户按下分享按钮时,我想在 fb 中自动分享产品详情。
【问题讨论】:
【参考方案1】:我想你已经有了你的产品图片和它的详细信息。因此,Facebook 提供了一个 SKD,您只需单击一下按钮即可共享您的产品信息。当用户点击您的帖子时,您还可以让用户重定向到您的链接。
有关 FBSDKShareKit 的更多信息,请通过此 FB for developers link
这是分享您的产品信息并在用户点击时将其发送到您的页面的代码,
只需在您的分享按钮方法中编写此代码即可。
FBSDKShareLinkContent *content =[[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"your product page URL here"];
content.imageURL = [NSURL URLWithString:@"your product image url here"];
content.contentTitle= @"Title of your product";
content.contentDescription=@"Description of your product";
FBSDKShareDialog *dialog=[[FBSDKShareDialog alloc]init];
dialog.mode=FBSDKShareDialogModeNative;
if (![dialog canShow])
// fallback presentation when there is no FB app
dialog.mode = FBSDKShareDialogModeWeb;
//
dialog.shareContent=content;
dialog.delegate=self;
dialog.fromViewController=self;
[dialog show];
确保在 .h 文件中导入 FBSDKCoreKit/FBSDKCoreKit.h 和 FBSDKShareKit/FBSDKShareKit.h 并向其中添加代理。
【讨论】:
【参考方案2】:iOS 11 更新
Facebook
、Twitter
和其他应用程序选项已在 Settings
应用程序中删除。
这些应用现在将被视为其他应用,使用 ios sharing extensions
let share = [image, text, url]
let activityViewController = UIActivityViewController(activityItems: share, applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
self.present(activityViewController, animated: true, completion: nil)
您也可以使用第三方SDK
进行个人分享
Facebook Sharing Doc
Twitter Sharing Doc
================================================ =============================
您可以使用Social Framework 分享帖子。你也可以在推特上分享。
目标 C
#import <Social/Social.h>
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"First post from my iPhone app"];
[self presentViewController:controller animated:YES completion:Nil];
SWIFT
import Social
let vc = SLComposeViewController(forServiceType:SLServiceTypeFacebook)
vc.add(imageView.image!)
vc.add(URL(string: "http://www.example.com/"))
vc.setInitialText("Initial text here.")
self.present(vc, animated: true, completion: nil)
更多详情Facebook and twitter sharing
【讨论】:
我想在用户按下分享按钮时在 fb 中自动分享产品详细信息...我不希望用户手动输入任何内容...谢谢 @NeerajSonaro 请更新您的问题的全部细节。 @HarshalValanda,上面的代码已经足够好了。只需将上述代码嵌入到您的 share 方法的 IBAction 中即可。 检查您的设置是否没有插入 Facebook 帐户。需要在设置中插入fb账号 转到设置 -> Facebook 并添加您的凭据。【参考方案3】:使用 SLComposeViewController 显示原生对话框并在 Facebook 上发布您的内容。
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
__weak CFShareToFacebookViewController *weakSelf = self;
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:self.captionTextField.text];
[controller addURL:[NSURL URLWithString:@"http://www.google.com"]];
[controller addImage:self.selectedImage];
[controller setCompletionHandler:^(SLComposeViewControllerResult result)
switch (result)
case SLComposeViewControllerResultCancelled:
break;
case SLComposeViewControllerResultDone:
break;
default:
break;
];
[self presentViewController:controller animated:YES completion:Nil];
【讨论】:
我想在用户按下分享按钮时在 fb 中自动分享产品详细信息...我不希望用户手动输入任何内容...谢谢。 使用 Graph API 发布您的内容,而不向用户显示任何对话框 [developers.facebook.com/docs/graph-api/reference/v2.10/post][1]以上是关于如何在 Facebook 中从 IOS 应用程序共享产品详细信息的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ios 中从我们的应用程序验证 Facebook 用户名和密码
如何在 ios 中从 facebook 获取朋友的最新状态?