Java 在android和ios的Flitter应用程序中应用深度链接

Java 在android和ios的Flitter应用程序中应用深度链接,java,android,ios,flutter,dart,Java,Android,Ios,Flutter,Dart,在颤振应用程序中应用深度链接以打开 其他应用程序或同一应用程序中的特定页面 我想知道如何在flatter中实现深层链接 还是使用android本机和ios本机的开放频道? ?我认为这与普通android应用程序中的情况相同。深度链接是一种配置,而不是代码。 你需要在你的android清单中写一些东西。 请参阅firebase手册中的深度链接: 您可以在颤振中使用firebase动态链接进行深度链接。有关完整的实施步骤以及创建和接收链接,请参阅此链接。 下面是接收应用程序内部链接并打开新屏幕的示例

在颤振应用程序中应用深度链接以打开 其他应用程序或同一应用程序中的特定页面 我想知道如何在flatter中实现深层链接 还是使用android本机和ios本机的开放频道?

我认为这与普通android应用程序中的情况相同。深度链接是一种配置,而不是代码。 你需要在你的android清单中写一些东西。 请参阅firebase手册中的深度链接:


您可以在颤振中使用firebase动态链接进行深度链接。有关完整的实施步骤以及创建和接收链接,请参阅此链接。 下面是接收应用程序内部链接并打开新屏幕的示例代码

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});
  }
}
类MainWidgetState扩展状态{
@凌驾
void initState(){
super.initState();
this.initDynamicLinks();
}
InitDynamicLink(构建上下文上下文)异步{
等待未来。延迟(持续时间(秒:3));
var data=await FirebaseDynamicLinks.instance.getInitialLink();
var deepLink=数据?.link;
最终查询参数=deepLink.queryParameters;
如果(queryParams.length>0){
var userName=queryParams['userId'];
openNewScreen(用户名);
}
FireBaseDynamicLink.instance.onLink(onSuccess:(dynamicLink)
异步的{
var deepLink=dynamicLink?.link;
最终查询参数=deepLink.queryParameters;
如果(queryParams.length>0){
var userName=queryParams['userId'];
openNewScreen(用户名);
}
debugPrint('DynamicLinks onLink$deepLink');
},onError:(e)异步{
debugPrint('DynamicLinks onError$e');
});
}
openNewScreen(字符串用户名){
Navigator.of(context.pushNamed(“routeFormScreen”,参数:{“name”:userName});
}
}