使用 Branch.io 生成 link 与 Facebook 共享对话框
Using Branch.io generated link with Facebook share dialog
过去几天我仔细阅读了 Branch.io 的文档,但似乎无法查明问题所在。我通过如下设置 BranchUniversalObject
让生成的 link 正常工作:
let branchUniversalObject: BranchUniversalObject = BranchUniversalObject(canonicalIdentifier: "ios_share_user")
branchUniversalObject.title = "My Title"
branchUniversalObject.contentDescription = "My Description"
branchUniversalObject.imageUrl = "www.example.com/image.jpg"
branchUniversalObject.addMetadataKey("id", value: self.userId)
branchUniversalObject.addMetadataKey("type", value: self.userType)
let linkProperties = BranchLinkProperties()
linkProperties.channel = "Facebook"
linkProperties.feature = "Share"
branchUniversalObject.getShortUrl(with: linkProperties, andCallback: { (shareURL, error) in
if error != nil {
print(error!)
return
}
// using shareURL here
})
生成的 URL 工作得很好,但只有在从 Notes 或 Messages 应用程序启动时。 Safari 总是将我重定向到 AppStore,当我尝试像这样共享 URL 时,Facebook 应用程序也是如此:
let content = FBSDKShareLinkContent()
content.contentTitle = "My Title"
content.contentURL = shareURL // generated above
content.contentDescription = "My Description"
content.imageURL = "www.example.com/image.jpg"
let dialog = FBSDKShareDialog()
dialog.fromViewController = self
dialog.delegate = self
dialog.shareContent = content
if dialog.canShow() {
dialog.show()
}
显示对话框并按预期共享内容,但 link 总是将我重定向到 AppStore,就像在 Safari 中一样。
这是仪表板的屏幕截图:
我在关联域中还有 applinks:myLinkDomain.app.link
和 applinks:myLinkDomain-alternate.app.link
,branch_app_domain
= myLinkDomain.app.link
以及 branch_key
= ["live": "key_live_myKey"]
Info.plist
,AppDelegate 设置正确。
要让应用程序从 Safari 和 Facebook 打开而不是重定向到 AppStore,我错过了什么?
我正在为 iOS 9.3+
部署应用程序
谢谢!
我遇到了这个 link,它表明问题不在于 Branch.io SDK 的设置,而是 Apple 强加的限制。唯一的解决方法是使用 Branch 的 Deepviews,不幸的是我不能在我的案例中使用它。
希望Branch.io想办法解决这个问题! ...并可能更新他们的文档以明确说明不支持某些应用程序浏览器
过去几天我仔细阅读了 Branch.io 的文档,但似乎无法查明问题所在。我通过如下设置 BranchUniversalObject
让生成的 link 正常工作:
let branchUniversalObject: BranchUniversalObject = BranchUniversalObject(canonicalIdentifier: "ios_share_user")
branchUniversalObject.title = "My Title"
branchUniversalObject.contentDescription = "My Description"
branchUniversalObject.imageUrl = "www.example.com/image.jpg"
branchUniversalObject.addMetadataKey("id", value: self.userId)
branchUniversalObject.addMetadataKey("type", value: self.userType)
let linkProperties = BranchLinkProperties()
linkProperties.channel = "Facebook"
linkProperties.feature = "Share"
branchUniversalObject.getShortUrl(with: linkProperties, andCallback: { (shareURL, error) in
if error != nil {
print(error!)
return
}
// using shareURL here
})
生成的 URL 工作得很好,但只有在从 Notes 或 Messages 应用程序启动时。 Safari 总是将我重定向到 AppStore,当我尝试像这样共享 URL 时,Facebook 应用程序也是如此:
let content = FBSDKShareLinkContent()
content.contentTitle = "My Title"
content.contentURL = shareURL // generated above
content.contentDescription = "My Description"
content.imageURL = "www.example.com/image.jpg"
let dialog = FBSDKShareDialog()
dialog.fromViewController = self
dialog.delegate = self
dialog.shareContent = content
if dialog.canShow() {
dialog.show()
}
显示对话框并按预期共享内容,但 link 总是将我重定向到 AppStore,就像在 Safari 中一样。
这是仪表板的屏幕截图:
我在关联域中还有 applinks:myLinkDomain.app.link
和 applinks:myLinkDomain-alternate.app.link
,branch_app_domain
= myLinkDomain.app.link
以及 branch_key
= ["live": "key_live_myKey"]
Info.plist
,AppDelegate 设置正确。
要让应用程序从 Safari 和 Facebook 打开而不是重定向到 AppStore,我错过了什么?
我正在为 iOS 9.3+
部署应用程序谢谢!
我遇到了这个 link,它表明问题不在于 Branch.io SDK 的设置,而是 Apple 强加的限制。唯一的解决方法是使用 Branch 的 Deepviews,不幸的是我不能在我的案例中使用它。
希望Branch.io想办法解决这个问题! ...并可能更新他们的文档以明确说明不支持某些应用程序浏览器