【问题标题】:Custom URL to launch Facebook Messenger on iOS在 iOS 上启动 Facebook Messenger 的自定义 URL
【发布时间】:2013-12-02 06:21:53
【问题描述】:

我如何使用 compose Windows 启动 FaceBook Messenger(如果已安装)到特定的 FB ID。

如果没有安装 messenger,我们可以启动 Facebook 应用程序并让撰写窗口打开到特定的 FB ID。

在极少数情况下,如果没有安装 Facebook 应用程序,我们可以使用撰写窗口启动移动 Safari 吗?

【问题讨论】:

  • 检查this 以获得与您的问题相关的一些提示。
  • 我确实检查过,但它仅适用于 FaceBook,并且一半的 FaceBook URL 不再起作用。 Facebook 必须更改其内部 URL 方案。
  • 我一直在寻找和试验,但我无法弄清楚他们的 URL 方案是什么。 fb-messenger:// 有效,但我无法与个人或群组进行特定对话。
  • 大家好,this may be of help

标签: ios facebook ios7 custom-url


【解决方案1】:

示例,它在 ios 中对我有用

let msgUrl = URL(string: "http://m.me/{PAGE_NAME}")
UIApplication.shared.openURL(msgUrl)

dev facebook 文档中的参考:https://developers.facebook.com/docs/messenger-platform/discovery/m-me-links/

【讨论】:

    【解决方案2】:

    您只能使用自定义 -URL 启动已安装的应用程序。但是您无法检查应用程序是否已安装(问题的第二部分。)原因:如果可以检查 iOS 中已安装的应用程序,则可以创建应用程序,该应用程序将获取所有已安装应用程序的信息。

    facebook 自定义 URL 最新更新:

    fb://album/%@
    fb://album/(aid)
    fb://album/(aid)/cover
    fb://album/(initWithAID:)
    fb://album/(initWithAID:)/cover
    fb://album/new
    fb://albums
    fb://birthdays
    fb://birthdays/(initWithMonth:)/(year:)
    fb://birthdays/(month)/(year)
    fb://chat/(fbid)
    fb://chat/(initWithUID:)
    fb://chat/(user.fbid)
    fb://contactimporter
    fb://contactimporter/invites
    fb://contactimporter/legalese
    fb://contactimporter/modal
    fb://event/%@
    fb://event/%llu
    fb://event/(event.fbid)/members/(rsvpStatus)
    fb://event/(fbid)
    fb://event/(fbid)/members/attending
    fb://event/(fbid)/members/declined
    fb://event/(fbid)/members/not_replied
    fb://event/(fbid)/members/unsure
    fb://event/(fbid)/rsvp
    fb://event/(initWithEventId:)
    fb://event/(initWithEventId:)/members/(rsvpStatus:)
    fb://event/(initWithEventId:)/rsvp
    fb://events
    fb://events/
    fb://faceweb/(initWithURL:)
    fb://facewebmodal/(initWithURL:)
    fb://feed
    fb://feed/%@
    fb://feed/(filter.filterKey)
    fb://feed/(initWithFilterKey:)
    fb://feedfilters
    fb://findfriends
    fb://findfriends/legalese
    fb://findfriends/modal
    fb://friends
    fb://friends/picker
    fb://friends/sync
    fb://friends/sync/(removeData:)
    fb://friends/sync/disconnect
    fb://friends/sync/legalese
    fb://group/(fbid)/members
    fb://group/(initWithGroupId:)/members
    fb://groups
    fb://launcher
    fb://mailbox
    fb://mailbox/(folder)
    fb://mailbox/(initWithFolder:)
    fb://mailbox/(initWithFolder:)/(tid:)
    fb://mailbox/(mailbox.folder)/(tid)
    fb://mailbox/compose
    fb://mailbox/compose/(fbid)
    fb://mailbox/compose/(initWithUID:)
    fb://map
    fb://messaging
    fb://messaging/(folder)
    fb://messaging/(initWithFolder:)
    fb://messaging/(initWithFolder:)/(tid:)/participants
    fb://messaging/(initWithFolder:)/thread?tid=(tid:)
    fb://messaging/(mailbox.folder)/(urlEscapedTid)/participants
    fb://messaging/(mailbox.folder)/thread?tid=(urlEscapedTid)
    fb://messaging/compose
    fb://messaging/compose/(fbid)
    fb://messaging/compose/(initWithUID:)
    fb://messaging/original_message?mid=(commentId)
    fb://messaging/original_message?mid=(initWithMessageId:)
    fb://nearby
    fb://note/%@
    fb://note/(initWithNoteId:)
    fb://note/(initWithNoteId:)/edit
    fb://note/(noteId)
    fb://note/(noteId)/edit
    fb://note/compose
    fb://notes
    fb://notifications
    fb://online
    fb://online#offline
    fb://online#online
    fb://page/(page.id)
    fb://pages
    fb://photo/%@/0/%@
    fb://photo/(album.user.fbid)/(album.aid)/(pid)
    fb://photo/(album.user.fbid)/(album.aid)/(pid)/feedback
    fb://photo/(fbid)/profilepic
    fb://photo/(initWithProfilePicturesUID:)/profilepic
    fb://photo/(initWithUID:)/(aid:)/(pid:)
    fb://photo/(initWithUID:)/(aid:)/(pid:)/feedback
    fb://photosapp
    fb://place/%@
    fb://place/(initWithPageId:)
    fb://place/(targetId)
    fb://place/addfriends
    fb://place/addphoto
    fb://place/create
    fb://places
    fb://places/%lld/%lld
    fb://places/(initWithCheckinAtPlace:)/(byUser:)
    fb://places/legalese/tagged/%lld/%lld
    fb://places/legalese/tagged/(initWithTaggedAtPlace:)/(byUser:)
    fb://post/%@
    fb://post/%@_%@
    fb://post/(initWithPostId:)
    fb://post/(initWithPostId:)/tagged
    fb://post/(postId)
    fb://post/(postId)/tagged
    fb://post/(postId)/untagSelf
    fb://post/(untagSelfFromPostWithId:)/untagSelf
    fb://profile
    fb://profile/
    fb://profile/%@
    fb://profile/%lld
    fb://profile/(addFan:)/addfan
    fb://profile/(fbid)
    fb://profile/(fbid)/addfan
    fb://profile/(fbid)/addfriend
    fb://profile/(fbid)/fanpages
    fb://profile/(fbid)/fans
    fb://profile/(fbid)/favorite
    fb://profile/(fbid)/friends
    fb://profile/(fbid)/info
    fb://profile/(fbid)/menu
    fb://profile/(fbid)/mutualfriends
    fb://profile/(fbid)/photos
    fb://profile/(fbid)/poke
    fb://profile/(fbid)/removefriend
    fb://profile/(fbid)/wall
    fb://profile/(initWithFBID:)/menu
    fb://profile/(initWithFansUID:)/fans
    fb://profile/(initWithFriendsUID:)/friends
    fb://profile/(initWithInfoUID:)/info
    fb://profile/(initWithMutualFriendsUID:)/mutualfriends
    fb://profile/(initWithPhotosUID:)/photos
    fb://profile/(initWithUID:)
    fb://profile/(initWithUID:)/addfriend
    fb://profile/(initWithUID:)/fanpages
    fb://profile/(initWithUID:)/poke
    fb://profile/(initWithUID:)/removefriend
    fb://profile/(initWithWallUID:)/wall
    fb://profile/(toggleFavorite:)/favorite
    fb://profile/(user.fbid)/fans
    fb://profile/(user.fbid)/friends
    fb://profile/(user.fbid)/mutualfriends
    fb://profile/0
    fb://publish
    fb://publish/mailbox/(initWithFolder:)/(tid:)
    fb://publish/mailbox/(mailbox.folder)/(tid)
    fb://publish/photo/(album.user.fbid)/(album.aid)/(pid)
    fb://publish/photo/(initWithUID:)/(aid:)/(pid:)
    fb://publish/post/(initWithPostId:)
    fb://publish/post/(postId)
    fb://publish/profile/(fbid)
    fb://publish/profile/(initWithUID:)
    fb://publish/profile/(owner.fbid)
    fb://requests
    fb://root
    fb://upload
    fb://upload/%@/album/%lld/%@
    fb://upload/%@/checkin/%lld
    fb://upload/%@/profile/%lld
    fb://upload/(initWithSource:)/album/(uid:)/(aid:)
    fb://upload/(initWithSource:)/checkin/(checkinId:)
    fb://upload/(initWithSource:)/profile/(uid:)
    fb://upload/actions
    fb://upload/actions/album/(initWithUID:)/(aid:)
    fb://upload/actions/album/(user.fbid)/(aid)
    fb://upload/actions/checkin/(checkinId)/
    fb://upload/actions/checkin/(initWithCheckinId:)
    fb://upload/actions/newalbum
    fb://upload/actions/profile/(fbid)
    fb://upload/actions/profile/(initWithUID:)
    fb://upload/actions/resume
    fb://upload/album/(showUploadMenuWithUID:)/(aid:)
    fb://upload/album/(user.fbid)/(aid)
    fb://upload/checkin/(checkinId)
    fb://upload/checkin/(showUploadMenuWithCheckinID:)
    fb://upload/discard
    fb://upload/profile/(fbid)
    fb://upload/profile/(owner.fbid)
    fb://upload/profile/(showUploadMenuWithUID:)
    fb://upload/resume
    fb://userset
    fb://video/%@
    fb://video/(playVideoWithId:)
    fb://video/(videoId)
    

    【讨论】:

    • HTML 智能标签如何检查是否安装了特定应用程序。
    • 这些似乎都不适合我。 Facebook 是否再次更新了他们的 URL 方案?
    【解决方案3】:

    只需使用https://m.me/USER_ID

    这会将用户深层链接到本地​​ Messenger 应用(如果可用),并与由其USER_ID 标识的用户开始对话。

    如果本机应用程序在设备上不可用,它将在新浏览器中打开信使网络应用程序。

    【讨论】:

    • 这是现代使用最准确的答案。跨设备和浏览器工作。
    • 非常感谢您的回答。为我工作。
    【解决方案4】:

    URL 方案是fb-messenger://user-thread/{user-id}。我只是使用fb-messenger URL 方案作为查看器构建我的应用程序,并将 URL 捕获在 UIApplication 委托上。 user-id 参数为长整型一,如https://developers.facebook.com/docs/graph-api/reference/user/

    【讨论】:

    • user-id 是否与 UID(数字字符串)相同?
    • 嘿蒂亚,快速提问。用户“完成” fb-messenger 后如何返回您的应用程序?
    • @user1349663 您可以使用 Facebook 的应用链接来实现这一点:applinks.org
    • 在图 2.0 中,FB 引入了“AppScopedIds”——它破坏了与 Messenger 的深度链接,因为 Messenger 不理解应用范围的 ID。但是,Facebook 个人资料链接可以理解应用范围的 id——因此它看起来像是 Messenger 中的一个错误——理想情况下,它们应该能够正确地将应用范围的 id 转换为正确的 fb id。
    • 您好,我可以使用此 URL 发送个人消息吗?
    猜你喜欢
    • 2014-10-17
    • 1970-01-01
    • 2018-11-09
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2014-08-27
    • 2012-10-25
    相关资源
    最近更新 更多