【问题标题】:How to open Facebook Messenger and direct to someone?如何打开 Facebook Messenger 并直接发送给某人?
【发布时间】:2016-05-31 10:04:25
【问题描述】:

我已经有 FBSDK 并且可以使用 FBSDKShareKit 在 Messenger 上发送一些东西。 我只想在 Facebook Messenger 中与某人聊天。像这样:

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

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

我该怎么做?

【问题讨论】:

    标签: ios swift facebook


    【解决方案1】:

    斯威夫特 4

    用户界面

    在我的应用中,我将用户的 Facebook 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,然后观察 URL:

    【讨论】:

      【解决方案2】:

      我找到了一个使用 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 交谈。

      【讨论】:

        【解决方案3】:

        在 swift 5.1 中,使用

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

        【讨论】:

          猜你喜欢
          • 2017-07-29
          • 2016-08-14
          • 1970-01-01
          • 2017-06-04
          • 2020-05-03
          • 1970-01-01
          • 2016-11-11
          • 1970-01-01
          • 2016-11-05
          相关资源
          最近更新 更多