Параметр DFL в Firebase Dynamic Links Builder

Мне нужно программно создать динамическую ссылку с помощью API Dynamic Link Builder на Android (https://firebase.google.com/docs/dynamic-links/android/create). Это единственный вариант, применимый в моем случае, поскольку мне нужно отслеживать данные о кликах и сокращать ссылки.

Эту ссылку можно открыть на рабочем столе, но проблема в том, что ссылка будет доступна только для мобильных приложений - веб-сайт не может распознать эту ссылку (такое поведение является преднамеренным). Я бы хотел, чтобы пользователь рабочего стола был перенаправлен на главную страницу сайта.

Вот цитата из документа Firebase:

Когда пользователи открывают динамическую ссылку в настольном веб-браузере, они загружают этот URL-адрес (если не указан параметр dfl). Если у вас нет веб-эквивалента связанного содержимого, URL-адрес не должен указывать на действительный веб-ресурс. В этой ситуации вам следует настроить перенаправление с этого URL-адреса, например, на вашу домашнюю страницу.

Я вижу, что мне нужен параметр dfl. (dfl - это ссылка для открытия на рабочем столе, переопределяющая ссылку на параметр.) Как я могу указать параметр dfl с помощью конструктора динамических ссылок на Android?

Я знаю, что могу указать dfl, создав динамическую ссылку вручную - https://firebase.google.com/docs/dynamic-links/create-manually Но этот подход бесполезен для меня, поскольку он имеет такие ограничения:

Если вам не нужно отслеживать данные о кликах в консоли Firebase и вам все равно, длинные ли ссылки ...

Кто-нибудь знает правильное решение или какой-нибудь трюк для этого? Любые мысли / идеи будут оценены!


person Oleksandr Karpovich    schedule 17.07.2017    source источник


Ответы (1)


Кажется, простое добавление действительно работает ...

Когда конструктор составляет Uri, я добавляю его с помощью & dfl = XXXXX

Когда я пытаюсь открыть эту ссылку на ПК с браузером, она направляет меня на URL-адрес в параметре dfl, но на устройстве открывается Play Store или приложение (если оно установлено).

Отсутствие такого метода меня смутило, но решение найдено.

person Oleksandr Karpovich    schedule 17.07.2017
comment
Да, это должно сработать. Я могу подтвердить, что у этого параметра нет установщика в настоящее время в Android api. - person Ian Barber; 18.07.2017
comment
Вы можете использовать функцию setLongLink - person kh0r; 17.04.2018
comment
Привет, Александр, я пробую ваш подход, но я не получаю ожидаемого результата. Не могли бы вы опубликовать последнюю ссылку, которую вы используете? - person Juanje; 09.07.2018
comment
@Juanje Я проверил их документацию. Похоже, имя параметра было изменено: dfl - ›ofl Взгляните: firebase.google.com/docs/dynamic-links/create-manually Дайте мне знать, если это поможет. У меня было что-то вроде этого: `String longDynamicLink = jasid384234.app.goo.gl +? Apn = android.app.id + & ibi = ios.bundle.id + & link = + urlEncodedRefLink + & dfl = + URLEncoder.encode (dflLink, UTF-8); ` - person Oleksandr Karpovich; 10.07.2018
comment
Спасибо @AlexandrKarpovich, я постараюсь сделать это вручную, потому что я добавляю этот параметр к ссылке по умолчанию, созданной с помощью предоставленных методов, и все еще не работает. Ссылка, которую я хочу показать, - это ссылка на магазин Play, поведение по умолчанию, но также и в браузерах для настольных компьютеров. - person Juanje; 11.07.2018