在安卓和iOS的颤振应用程序中应用深度链接



在颤振应用程序中应用深度链接以打开 其他应用或同一应用中的特定页面 我想知道如何在 Flutter 中实现深层链接 还是使用安卓原生和iOS原生开放频道? ?

我认为这与普通的安卓应用程序中相同。 深度链接是一个配置的东西,而不是代码。 你需要在你的安卓清单中写一些东西。 查看有关深度链接的 Firebase 手册:

火力基础深度链接手册

您可以使用 Firebase 动态链接在颤振中进行深度链接。有关完整的实施步骤,请参阅此链接,并创建和接收链接(https://medium.com/better-programming/deep-linking-in-flutter-with-firebase-dynamic-links-8a4b1981e1eb)。 这是在应用程序内接收链接并打开新屏幕的示例代码。

class MainWidgetState extends State<MainWidget> {
@override
void initState() {
super.initState();
this.initDynamicLinks();
}
initDynamicLinks(BuildContext context) async {
await Future.delayed(Duration(seconds: 3));
var data = await FirebaseDynamicLinks.instance.getInitialLink();
var deepLink = data?.link;
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
var userName = queryParams['userId'];
openNewScreen(userName);
}
FirebaseDynamicLinks.instance.onLink(onSuccess: (dynamicLink)
async {
var deepLink = dynamicLink?.link;
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
var userName = queryParams['userId'];
openNewScreen(userName);
}
debugPrint('DynamicLinks onLink $deepLink');
}, onError: (e) async {
debugPrint('DynamicLinks onError $e');
});
}
openNewScreen(String userName){
Navigator.of(context).pushNamed("routeFormScreen", arguments: {"name": userName});
}
}

相关内容

最新更新