Branch.io getShortUrl 通用分支对象

Branch.io getShortUrl Universal Branch Object

BranchUniversalObject 的 getShortUrl 函数通常工作正常。但是,有时它会生成一个非常大的 url,其中包含大量元数据。

url 通常看起来像:

http://exampleapp.com/alias

但每隔一段时间,不知为何,我会取回一个 url,其中包含来自 link 属性的所有元数据。类似于:

http://exampleapp.com/a/key_live_nin0QyFNUZ2BYh13tBpioevJWClfBoDS?%24identity_id=142989785412097588?alias=alias&channel=app&feature=invite&type=0&duration=0&source=ios&data=eyJ1c2VySWQiOiJnZDIwYnZIFub25pY2VybCI6Imh0dHA6Ly9oZaDVMIiwiJG9nX2ltYWdlX3VybmF3cy5jb20vZmIyODZlZjMxZjU0MjAzOTkzMWZhMDJlMTVjMjRjZTFfZmlsFsX3ZS5iaW4iLCIkY2XljdXJ0c3kuY29tIiwiJG9nX3RpdGxlIjoiR2V0ICQxMCBvZmYgeW91ciBmaXJzdCBkcmVzcyBvbiBDdXJ0cbCI6Imh0dHBzOi8vY3VydHN5LXBhcnNlLWZpbGVzLnMzLmFtYXpv3kiLCIkZXhwX2RhdGUiOjAsIiRwd9pbmRleGFibGUiOjEsInJlZmVWJsaWNseVycmFsIjoicmVmZXJyYWwiLCIkY2Fub25pY2FsX2lkZW50aWZpZXIiOiJnZDIwYnZIaDVMcmVmZXJyYWwifQ==

我一直无法确定是什么原因造成的。

(上面的 url,我对其进行了一些编辑和修改,以防止任何识别信息....我不知道它可能去哪里,所以不要去它)

我终于在他们的 github 文档中找到了答案,但在他们网站上的文档中找不到。

"NOTE: If you POST to the this endpoint with the same alias, and a matching set of other POST parameters to an existing aliased link, the original will be returned to you. If it clashes and you don't specify a match, will return a HTTP 409 error."

调试发现在Branch上调用will别名urls的函数时出现409错误,但没有保存到我自己的后端。似乎还遗漏了完整的 url 将与错误一起返回。

我基本上重新编写了一小部分代码来检测 409 错误,如果它发生了,只需在别名中添加一个数字