Flutter 에서 dynamic link (v4.1.1) 모듈을 적용해 보면
이렇게 동작하기를 기대하는데, 2번은 잘 안된다. 가이드에 따르면
final PendingDynamicLinkData initialLink =
await FirebaseDynamicLinks.instance.getInitialLink();
if (initialLink != null) {
movePage(initialLink.link);
}
initialLink
에서 전달될 것으로 기대되지만 2번의 경우 항상 null이 리턴된다.
그래서,
앱이 실행될 때 전달된 Universal Link를 직접 가지고 오도록 하여 처리했다. uni_link 라이브러리를 사용했고 다음과 같이 처리했다.
final PendingDynamicLinkData initialLink =
await FirebaseDynamicLinks.instance.getInitialLink();
if (initialLink != null) {
movePage(initialLink.link);
return;
}
final String deepLink = await getInitialLink();
if (deepLink != null && deepLink.isNotEmpty) {
FirebaseDynamicLinks.instance
.getDynamicLink(Uri.parse(deepLink))
.then((link) => movePage(link.link));
}