过去几天我经历了很多Branch.io的文档,我似乎无法确定问题所在。通过设置BranchUniversalObject
,我生成的链接可以正常工作,如下所示:
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()
}
显示对话框并按预期共享内容,但链接总是将我重定向到AppStore,就像在Safari中一样。
我在关联域中也有applinks:myLinkDomain.app.link
和applinks:myLinkDomain-alternate.app.link
,branch_app_domain
= myLinkDomain.app.link
以及branch_key
= ["live": "key_live_myKey"]
{{1}正确设置了AppDelegate。
从Safari和Facebook开放应用程序而不是重定向到AppStore,我错过了什么?
我正在为iOS 9.3 +
部署应用程序谢谢!
答案 0 :(得分:0)
我遇到了这个link,它表明问题不是以任何方式设置Branch.io SDK,而是Apple强加的限制。唯一的解决方法是使用Branch的Deepviews,遗憾的是我不能在我的情况下使用它。
希望Branch.io找到解决方法! ...并且可能更新他们的文档以清楚地说明某些应用程序浏览器不受支持