Facebook shareLinkContent 的深层链接
Posted
技术标签:
【中文标题】Facebook shareLinkContent 的深层链接【英文标题】:Deep linking for Facebook shareLinkContent 【发布时间】:2017-03-30 12:33:17 【问题描述】:我正在使用 ios 中的深层链接。我将使用 FBSDKShareLinkContent 在 Facebook 中分享一个链接。我在 Facebook 中创建了深层链接 URL,例如 https://fb.me/****************
。
我已经完成了 AppInviteContent,效果很好:
让内容:FBSDKAppInviteContent = FBSDKAppInviteContent() content.appLinkURL = NSURL(字符串:“https://fb.me/****************”)! content.appInvitePreviewImageURL = NSURL(string: "http://***.***.***.***/shareImage.png" as String)! FBSDKAppInviteDialog.showWithContent(内容,委托:自我)现在,我在 Facebook 上分享这样的链接:
let shareLinkContent : FBSDKShareLinkContent = FBSDKShareLinkContent()
shareLinkContent.contentURL = NSURL(string: "https://example.com/a2d69835ae")!
shareLinkContent.contentTitle = "App_Name"
shareLinkContent.contentDescription = "Description"
let dialog : FBSDKShareDialog = FBSDKShareDialog()
dialog.fromViewController = self
dialog.delegate = self
dialog.shareContent = shareLinkContent
dialog.mode = FBSDKShareDialogMode.Web
dialog.show()
如何在这个shareLinkContent
中设置深层链接URL(例如https://fb.me/****************
)。
【问题讨论】:
您想在您的应用程序中显示 Facebook ShareDialog 吗? @AbilashBNair - 是的 Nair。 您的 FBSDK pod 版本是多少? @AbilashBNair - FBSDK pod 版本是 4.12.0 【参考方案1】:一个非常恰当的想法是使用 Branch 框架来实现深度链接功能。你可以从这里https://branch.io/了解如何使用这个框架
它可用于将您的应用内容分享到任何社交网站。它具有通用链接和深度链接的功能。
【讨论】:
正在检查这个。我发现应用程序安装在移动设备中。但它会进入 iTunes 商店并要求从那里打开它。这样我就打不开一些特定的页面了。 这是分支的默认行为,您无法转到应用程序的特定页面。为了满足您的期望,您必须使用 facebook SDK,您应该在其中指定特定页面的 URL。 Branch 不支持您要求的要求,除了 FB,它适用于所有其他社交网站。 感谢您的回复。仅对于 Facebook,它将进入 iTunes 商店。所以我为 Facebook 和其他社交网络的分支做了 fb 深度链接。【参考方案2】:删除下面的代码,这已在最新的 pod 版本中进行了修改。
let dialog : FBSDKShareDialog = FBSDKShareDialog()
dialog.fromViewController = self
dialog.delegate = self
dialog.shareContent = shareLinkContent
dialog.mode = FBSDKShareDialogMode.Web
dialog.show()
添加此代码将显示 Facebook 分享对话框:
FBSDKShareDialog.show(from: self, with: shareLinkContent, delegate: self)
这将解决您的 FBSDK 共享问题。
对于 APP 邀请,请尝试以下操作:
let content : FBSDKAppInviteContent = FBSDKAppInviteContent()
content.appLinkURL = NSURL(string: "https://fb.me/****************")!
content.appInvitePreviewImageURL = NSURL(string: "http://***.***.***.***/shareImage.png" as String)!
FBSDKAppInviteDialog.show(from: self, with: content, delegate: self)
【讨论】:
它的工作,但内容标题和内容描述没有显示。 Facebook 停止允许除 FBSDKShareLinkContent 中的链接以外的其他内容。对于分享标题、描述、链接,您需要使用 Facebook 图形 API,但您需要在 Facebook 登录期间启用“public_action”。有关图形 API 的更多信息developers.facebook.com/docs/graph-api 我的问题是要分享一个链接以及如何在 sharedLinkContent 中添加深层链接 url 没有 Abilash。请理解我的问题。对我来说,应用邀请已成功运行。我的需要是,我将使用 FBSDKShare 来分享链接。在 Facebook 应用程序中,当我点击共享图像时,如果已安装,它将打开该应用程序,否则它将导航到 App Store 下载该应用程序。 检查这个是否有深度链接:idev101.com/code/Objective-C/custom_url_schemes.html 和 developers.facebook.com/docs/app-ads/deep-linking以上是关于Facebook shareLinkContent 的深层链接的主要内容,如果未能解决你的问题,请参考以下文章
未找到 Codeigniter Facebook\Facebook 类中的 Facebook 登录
Facebook 的 Facebook 赞按钮 Facebook 页面的博客