ios - 如何打开 Facebook Messenger 并直接发送给某人?

标签 ios swift facebook

我已经有了 FBSDK,可以使用 FBSDKShareKit 在 Messenger 上发送内容。 我只想在 Facebook Messenger 中与某人聊天。像这样:

  1. 点击我的应用程序中的一个按钮(示例:Facebook 应用程序): http://i.imgur.com/j60P3Ng.png

  2. 转到 Facebook Messenger 并与此人聊天: http://i.imgur.com/yU0EXKF.png

我该怎么做?

最佳答案

swift 4

界面

在我的应用程序中,我将用户的 Facebook ID 显示为一个按钮: FB ID

代码

@IBAction func messengerButton(_ sender: UIButton) {
    if let id = sender.titleLabel?.text {
        if let url = URL(string: "fb-messenger://user-thread/\(id)") {

            // Attempt to open in Messenger App first
            UIApplication.shared.open(url, options: [:], completionHandler: {
                (success) in

                if success == false {
                    // Messenger is not installed. Open in browser instead.
                    let url = URL(string: "https://m.me/\(id)")
                    if UIApplication.shared.canOpenURL(url!) {
                        UIApplication.shared.open(url!)
                    }
                }
            })
        }
    }
}

用户的 Facebook ID

用户可以通过在 Facebook 上查找他们然后观察 URL 来获取另一个人的 Facebook ID:

FB ID from URL

关于ios - 如何打开 Facebook Messenger 并直接发送给某人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37542659/

相关文章:

ios - 知道在 AppDelegate 中选择了哪个 UITabBarItem

ios - 可重用 View Controller 的自定义初始化器

ios - 调整 collectionView.scrollToItem 考虑 inset?

ios - EXC_BAD_ACCES 在尝试将 UITextField.text 作为字符串操作时 swift 出现

ios - FB IOS SDK是否提供检查访问 token 有效性的方法?

ios - 如何用其他颜色替换 UIImage 中的颜色

ios - 单元测试 : ViewController has no segue with identifier : "segue id"

ios - 自定义运算符来简化 If-Let

ios - 如何更新 WDA WebDriverAgentRunner 产品构建版本?

facebook - 使用 Graph API 获取用户在 Facebook 中拥有的页面列表