はじめに
個人アプリのライブラリのバージョンアップ対応しようと思いflutter pub upgrade --major-versions
をしたところ、firebase_dynamic_linksの4.0.0で破壊的変更があり修正が必要だったので変更した箇所を記録しておきます。
2.0.7から4.0.3への変更で出たエラーです。
参考URL
https://firebase.flutter.dev/docs/dynamic-links/usage/#build-short-dynamic-link
変更箇所
buildShortLinkメソッドの変更
以前までは、このような形で使用していたのですがエラーになっていました。
final parameters = DynamicLinkParameters(
...
);
final dynamicUrl = await parameters.buildShortLink();
final shortUrl = dynamicUrl.shortUrl;
↓変更後
final dynamicUrl =
await FirebaseDynamicLinks.instance.buildShortLink(parameters);
final shortUrl = dynamicUrl.shortUrl;
このように変更になっています。
onLinkの変更
以前までは以下のように実装していました。
onSuccessパラメーターにPendingDynamicLinkData
が含まれるような形だったのですが、
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData? dynamicLink) async {
final deepLink = dynamicLink?.link;
...
});
変更後はPendingDynamicLinkData
が含まれるStreamを返すように変更になっていました。
FirebaseDynamicLinks.instance.onLink.listen((dynamicLinkData) async {
final deepLink = dynamicLinkData.link;
...
});
さいごに
他にも変更点がありましたが自分のアプリで該当するのはこの2つでした。
他の変更点に関して詳しくは公式ドキュメントを参照してみてください。
https://firebase.flutter.dev/docs/dynamic-links/usage/#build-short-dynamic-link