创建的Branch.io API密钥不是深层链接,而是在仪表板中创建的链接

时间:2016-10-25 21:10:05

标签: branch.io

我在仪表板上创建的链接适用于深层链接,但我在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:

enter image description here

2 个答案:

答案 0 :(得分:1)

来自Branch.io的Alex:我担心你用来构建这个API调用的语法对我来说并不熟悉,所以我无法在本地进行复制。

但是,有些事情可能有所帮助:

  1. 您可以通过将?debug=true附加到网址(例如https://og75.app.link/6lOctoHLLx?debug=true)来检查链接的内容。如果您对这两个链接执行此操作,您将看到API版本缺少您尝试设置的参数,这就是您没有获得正确的深层链接行为的原因。现在想出为什么 ......

  2. 我不知道您在此示例中使用的调用的语法,我想知道data对象是否格式错误。但是,这通常会导致400错误而没有返回URL,所以我有点困惑。如果您查看我们的basic API link creation文档,您会看到以下cURL示例:

  3. 请注意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 - 这很奇怪,即使这是我第一次使用它。