У меня возникли некоторые проблемы при реализации Flutter Dynamic Link. Я уже настроил требование Firebase для этой библиотеки, настроил проект, вставил google_service.json в проект. В моем приложении для флаттера я использовал короткую динамическую ссылку и мой код, подобный этому:
static shortDynamicLink(String id) async {
final ShortDynamicLink shortDynamicLink =
await DynamicLinkParameters.shortenUrl(
Uri.parse(Config.dynamicLink +
'?link=' + Config.urlShareContent + id +
'&apn=' + Config.packageName +
'&amv=' + Config.minSdk +
'&afl=' + Config.urlShareContent + id),
DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.unguessable),
);
final Uri shortUrl = shortDynamicLink.shortUrl;
return shortUrl.toString();
}
Я уже добавил этот код ниже, как в документах:
static void initDynamicLinks(BuildContext context) async {
final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
if (deepLink != null) {
Navigator.pushNamed(context, deepLink.path);
}
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
if (deepLink != null) {
Navigator.pushNamed(context, deepLink.path);
}
},
onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
}
);
}
И вызвать его в методе initState()
.
Когда я запускаю приложение, оно работает для меня, ссылка тоже работает. Но проблема в том, что я уже установил это приложение, и когда я нажал на ссылку, оно не открывало мое приложение, а просто прямо на веб-сайт. Как я могу сделать это, когда я уже приложение и нажмите на ссылку, оно должно открыть приложение? Кто-нибудь может мне помочь?