2016-10-25 4 views
1

ссылки, созданные мной на панели инструментов, работают для глубокой привязки, но те, которые я создал в API, не работают (он работает для направления в приложение, но не глубокая связь после клика)Созданные ключи Branch.io API не имеют глубокой ссылки, но ссылки, созданные на панели управления,

ССЫЛКИ:


КОД:

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

ответ

1

Alex из Branch.io: Я боюсь, что синтаксис вы используете, чтобы построить этот API вызов мне не знаком, поэтому я не могу реплицировать локально.

Однако, несколько вещей, которые могли бы помочь:

  1. Вы можете проверить содержимое ссылки, добавляя ?debug=true к URL (например, https://og75.app.link/6lOctoHLLx?debug=true). Если вы сделаете это с обоими вашими ссылками, вы увидите, что в версии API отсутствуют параметры, которые вы пытаетесь установить, поэтому вы не получаете правильного поведения глубоких ссылок. Теперь, чтобы выяснить, почему ...

  2. Не зная синтаксис вызова, который вы используете в этом примере, мне интересно, если 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 
+0

alex -> после нескольких раундов отладки, я понял, что мне нужно установить «$ one_time_use»: «», чтобы это нормально работало, даже tho, ни в коем случае в iOS-коде я использую это –

+0

i также добавил ответ. большое спасибо за вашу помощь! –

0

После долгих испытаний, и благодаря советы от удивительной поддержки Branch и отладки советы от Алекс выше, я, наконец, изолировал ситуацию.

В принципе, даже если бы я не использовал этот параметр в iOS, мне нужно было добавить это как часть параметров.

"$one_time_use": "", 

Не делать это в принципе не вызвать моего continueUserActivity - что странно, даже если это первый раз я использую его.

+0

Хм, это абсолютно не должно быть. Если это работает на вас ... удивительно! Но нет причин, по которым установка должна заключаться в устранении симптомов, которые вы видите, - с удовольствием помогаем отлаживать дальше, если вам интересно! –

+0

Я знаю! я тоже был очень озадачен! возможно, это связано с моей конкретной реализацией ...;) –

+0

На самом деле я подозреваю, что это может быть что-то вроде добавления управляющего параметра (что-то, начинающегося с '$'), заставляет систему анализировать ввод, который в противном случае считался бы недействительным. Это заставляет меня нервничать, потому что нет никакой гарантии, что ваша реализация может не нарушиться в будущем без предупреждения. Если у вас есть время, вы могли бы [представить интеграционный билет] (https://support.branch.io/support/tickets/new) для этого, чтобы мы могли понять, что действительно происходит? –

Смежные вопросы