如何打开Facebook Messenger并指向某人?

时间:2016-05-31 10:04:25

标签: 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

  3. 我该怎么做?

3 个答案:

答案 0 :(得分:5)

Swift 4

UI

在我的应用中,我将用户的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查看其他人的Facebook ID,然后观察该网址:

FB ID from URL

答案 1 :(得分:0)

我找到了一个使用URL Scheme的解决方案:

let userID = 4
let urlStr = String(format: "fb-messenger://user-thread/%d", userID)
let theUrl = NSURL(string: urlStr)
[UIApplication.sharedApplication() .openURL(theUrl!)]

此代码将打开Message应用程序并与Mark交谈。

答案 2 :(得分:0)

在Swift 5.1中,使用

     guard let messenger = URL(string: "fb-messenger://user-thread/your_id") else { return }
 UIApplication.shared.open(messenger)