如何打开 Facebook Messenger 并直接发送给某人?
Posted
技术标签:
【中文标题】如何打开 Facebook Messenger 并直接发送给某人?【英文标题】:How to open Facebook Messenger and direct to someone? 【发布时间】:2016-05-31 10:04:25 【问题描述】:我已经有 FBSDK 并且可以使用 FBSDKShareKit 在 Messenger 上发送一些东西。 我只想在 Facebook Messenger 中与某人聊天。像这样:
在我的应用程序中单击一个按钮(示例:Facebook 应用程序): http://i.imgur.com/j60P3Ng.png
转到 Facebook Messenger 并打开与此人的聊天: http://i.imgur.com/yU0EXKF.png
我该怎么做?
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于如何打开 Facebook Messenger 并直接发送给某人?的主要内容,如果未能解决你的问题,请参考以下文章