我在仪表板上创建的链接适用于深层链接,但我在API中创建的链接不适用(它适用于指向应用,但一旦点击就没有深层链接)
链接:
CODE:
HTTP.post("https://api.branch.io/v1/url", :params => {
:branch_key => "KEY",
# also tried not wrapping it in data
:data => {
:linkType => "questions",
:question_id => 1
}
}).to_s
CONSOLE:
答案 0 :(得分:1)
但是,有些事情可能有所帮助:
您可以通过将?debug=true
附加到网址(例如https://og75.app.link/6lOctoHLLx?debug=true
)来检查链接的内容。如果您对这两个链接执行此操作,您将看到API版本缺少您尝试设置的参数,这就是您没有获得正确的深层链接行为的原因。现在想出为什么 ......
我不知道您在此示例中使用的调用的语法,我想知道data
对象是否格式错误。但是,这通常会导致400错误而没有返回URL,所以我有点困惑。如果您查看我们的basic API link creation文档,您会看到以下cURL示例:
请注意data
对象的内容实际上是如何预先转发的
curl -X POST \
\
-H "Content-Type: application/json" \
\
-d '{"branch_key":"key_live_feebgAAhbH9Tv85H5wLQhpdaefiZv5Dv", "campaign":"new_product_annoucement", "channel":"email", "tags":["monday", "test123"], "data":"{\"name\": \"Alex\", \"email\": \"alex@branch.io\", \"user_id\": \"12346\", \"$deeplink_path\": \"article/jan/123\", \"$desktop_url\": \"https://branch.io\"}"}' \
\
https://api.branch.io/v1/url
也许您可以尝试将data
对象设置为字符串进行调用,并查看您的链接是否返回并设置了所有参数?我不知道这是否是您正在使用的有效代码,但可能是这样的:
HTTP.post("https://api.branch.io/v1/url", :params => {
:branch_key => "KEY",
# also tried not wrapping it in data
:data => {\"linkType\": \"questions\", \"question_id\": "1"
}
}).to_s
答案 1 :(得分:0)
经过大量的测试,并且感谢来自Alex分支支持的提示以及Alex上面的调试技巧,我终于孤立了这一情况。
基本上,即使我没有在iOS中使用此特定参数,我也需要将其添加为参数的一部分。
"$one_time_use": "",
不这样做基本上没有触发我的continueUserActivity - 这很奇怪,即使这是我第一次使用它。