Alex из Branch.io: Я боюсь, что синтаксис вы используете, чтобы построить этот API вызов мне не знаком, поэтому я не могу реплицировать локально.
Однако, несколько вещей, которые могли бы помочь:
Вы можете проверить содержимое ссылки, добавляя ?debug=true
к URL (например, 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\": \"[email protected]\", \"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
alex -> после нескольких раундов отладки, я понял, что мне нужно установить «$ one_time_use»: «», чтобы это нормально работало, даже tho, ни в коем случае в iOS-коде я использую это –
i также добавил ответ. большое спасибо за вашу помощь! –