【问题标题】:How to share a link on Facebook Messenger from other apps?如何从其他应用分享 Facebook Messenger 上的链接?
【发布时间】:2017-05-30 23:37:29
【问题描述】:

Facebook Developer Documentation,我看到我可以将其他应用程序中的图像、动画图像,甚至音频剪辑分享到 Facebook Messenger。但我看不出有办法分享链接。当我尝试查看 FBSDKMessengerShare 提供什么样的共享时,也没有。

如何使用 Facebook Messenger 分享链接?

【问题讨论】:

  • 奇怪的是不可能……

标签: xcode swift fbsdkmessengersharekit


【解决方案1】:

似乎用 FBSDKMessengerShare 做不到,但用 FBSDKShareKit 是可能的。 (我正在使用 Xcode 8.3、Swift 3.1、Cocoapods 和 FacebookShare 0.2.0)

更多信息请访问 https://developers.facebook.com/docs/sharing/ios

有两种方法:

  1. 使用 FBSDKMessageDialog: “消息对话框切换到本机 Messenger for iOS 应用,然后在发布帖子后将控制权返回给您的应用。”

    @IBAction func messengerButtonAction(_ sender: UIButton) {
    
        let linkContent = FBSDKShareLinkContent()
        linkContent.contentURL = URL(string: "https://itunes.apple.com/in/app/someValidAppURL...")
    
        let dialog = FBSDKMessageDialog()
        dialog.shareContent = linkContent
        dialog.shouldFailOnDataError = true
    
        if dialog.canShow() {
            dialog.show()
        }
    }
    
  2. 使用 FBSDKSendButton:“发送按钮让人们可以使用 Facebook Messenger 将照片、视频和链接私下发送给他们的朋友和联系人。发送按钮将调用消息对话框。”

    这将创建一个显示在指定视图中的共享按钮。如果设备上未安装 Messenger 应用,该按钮将自动禁用。

    override func viewDidLoad() {
    
        let linkContent = FBSDKShareLinkContent()
        linkContent.contentURL = URL(string: "https://itunes.apple.com/in/app/someValidAppURL...")
    
        let button = FBSDKSendButton()        
        button.shareContent = linkContent      
        if button.isEnabled { 
           self.view.addSubview(button) 
        }
    }
    

【讨论】:

  • 代码有效,谢谢:)。但导航不正确 1) 在共享后单击完成按钮时,应用程序会从第一个屏幕显示 2) 从信使单击返回应用程序时,它会导航回应用程序。但是在下一次点击信使分享按钮时,会出现一个空白屏幕,然后它会从第一个屏幕导航回我们的应用程序。这是 SDK 问题吗?
猜你喜欢
  • 2021-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
相关资源
最近更新 更多