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