如何在 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 更新

FacebookTwitter 和其他应用程序选项已在 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 获取朋友的最新状态?

如何在 iOS 9 fb sdk 4.8 或更高版本中从 facebook 获取好友列表?

在 iOS 中从 Facebook 获取个人资料照片

我无法在 iOS 中从 Facebook 获取用户数据

如何使用 FBSDK for iOS 获取 Facebook 好友列表?