#flutter #url #hyperlink #external #universal
#flutter #url #гиперссылка #внешний #Универсальный
Вопрос:
Мы разрабатываем приложение для партнерских сервисов, CPA networks предоставили нам маркетинговые ссылки (которые клиенты должны использовать для перенаправления в интернет-магазин), однако я не могу понять, как вызвать универсальную ссылку для открытия соответствующего приложения после завершения перенаправления.
Например, CPA-сеть дала ссылку на Aliexpress, пусть это будет что-то вроде этого, например
https://ourcpapartner.com/link/to/aliexpress ?параметры
И мы открываем ссылку со следующим кодом, используя url_launcher
if (await canLaunch('https://ourcpapartner.com/link/to/aliexpress?params')) {
await launch('https://ourcpapartner.com/link/to/aliexpress?params');
} else {
throw ('Redirect failed');
}
С Safari проблем нет, но с Google Chrome ничего просто не происходит, после открытия этой ссылки она мгновенно перенаправляется на конечный URL-адрес — Aliexpress.com , и теперь он должен открыть приложение (если оно, конечно, установлено), но ничего не происходит, однако, как только вы нажимаете на что-то (например.g продукт) затем приложение открывается, и отслеживание партнеров сбивается с толку.
Он открывает приложение, как и предполагалось, если вы нажмете прямую ссылку на нашем веб-сайте.
Я мог бы вместо этого использовать WebView (чтобы это не зависело от спецификаций сторонних браузеров), но как тогда можно было бы открывать локальные приложения? Мы не можем просто жестко запрограммировать каждое приложение, которое нам нужно открыть с помощью deeplink, поскольку у нас сотни разных предложений.
Комментарии:
1. как вы уже упоминали, если приложение не установлено, перенаправьте ссылку на установку приложения, чтобы получить эту функциональность, вам придется использовать динамические ссылки. обратитесь к: pub.dev/packages/firebase_dynamic_links
2. Ваше решение не имеет ничего общего с моей задачей, мне не нужно запрашивать установку партнерских приложений, мне нужно заставить универсальные ссылки работать после окончательного перенаправления