4

我正在制作一个基于在线购物的应用程序。我想创建一个功能来在 Facebook 上发布我的产品详细信息。谁能告诉我如何实现这一目标?

当用户按下分享按钮时,我想在 fb 中自动分享产品详细信息。

4

3 回答 3

6

我想你已经有了你的产品图片和它的详细信息。因此,Facebook 提供了一个 SKD,您只需单击一下按钮即可共享您的产品信息。当用户点击您的帖子时,您还可以让用户重定向到您的链接。

有关 FBSDKShareKit 的更多信息,请通过此 FB 供开发人员链接

这是共享您的产品信息并在用户单击时将其发送到您的页面的代码,

只需在您的分享按钮方法中编写此代码。

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

于 2017-07-25T13:57:24.823 回答
3

iOS 11 更新

应用程序中已删除 、 和其他应用程序Facebook选项。TwitterSettings

该应用程序现在将被视为使用 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进行个人分享

脸书分享文件

推特分享文档

==================================================== =========================

您可以使用社交框架分享帖子。你也可以在推特上分享。

在此处输入图像描述

目标 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];        
}

迅速

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 和 twitter 分享

于 2017-07-25T05:18:17.380 回答
1

使用 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];

  }
于 2017-07-25T05:17:16.933 回答