如何在 Facebook 中分享来自 IOS 应用程序的产品详细信息

How to share product details from IOS app in Facebook

我正在制作一个基于在线购物的应用程序。我想为 post 我在 Facebook 中的产品详情创建一个功能。谁能告诉我如何才能做到这一点?

我想在用户按下分享按钮时在 fb 中自动分享产品详情。

使用 SLComposeViewController 显示本机对话框和post您在 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];

  }

iOS 11 次更新

已在 Settings 应用中删除 FacebookTwitter 和其他应用选项。

该应用现在将像其他应用一样对待,使用 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 分享 post。您也可以在推特上分享。

OBJECTIVE 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

我想你已经有了你的产品图片和相关的详细信息。因此 Facebook 提供了一个 SKD,您只需单击一下按钮即可分享您的产品信息。当用户点击您的 post.

时,您还可以让用户重定向到您的 link

有关 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 并将委托添加到其中。