单击 link 时填写表格 - Flutter
Fill a form when clicked on a link - Flutter
在我的 flutter 应用程序中,我希望每当我向任何用户发送 link 时,link 将打开我的应用程序并 填写页面上给出的表格。
例如,如果这是我的应用:
然后我通过电子邮件发送了这个link:https://example.com/fillMyForm?username=johndoe
然后这将打开我的应用程序并填写表格,如下所示:
提前致谢。
您可以为此使用 firebase 动态 links。参考这个 link https://medium.com/better-programming/deep-linking-in-flutter-with-firebase-dynamic-links-8a4b1981e1eb
像这样在 flutter 中检索动态 link 并在 link 进入注册监听器时打开表单屏幕。
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'];
openFormScreen(userName);
}
FirebaseDynamicLinks.instance.onLink(onSuccess: (dynamicLink)
async {
var deepLink = dynamicLink?.link;
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
var userName = queryParams['userId'];
openFormScreen(userName);
}
debugPrint('DynamicLinks onLink $deepLink');
}, onError: (e) async {
debugPrint('DynamicLinks onError $e');
});
}
openFormScreen(String userName){
Navigator.of(context).pushNamed("routeFormScreen", arguments: {"name": userName});
}
}
在我的 flutter 应用程序中,我希望每当我向任何用户发送 link 时,link 将打开我的应用程序并 填写页面上给出的表格。
例如,如果这是我的应用:
然后我通过电子邮件发送了这个link:https://example.com/fillMyForm?username=johndoe
然后这将打开我的应用程序并填写表格,如下所示:
提前致谢。
您可以为此使用 firebase 动态 links。参考这个 link https://medium.com/better-programming/deep-linking-in-flutter-with-firebase-dynamic-links-8a4b1981e1eb
像这样在 flutter 中检索动态 link 并在 link 进入注册监听器时打开表单屏幕。
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'];
openFormScreen(userName);
}
FirebaseDynamicLinks.instance.onLink(onSuccess: (dynamicLink)
async {
var deepLink = dynamicLink?.link;
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
var userName = queryParams['userId'];
openFormScreen(userName);
}
debugPrint('DynamicLinks onLink $deepLink');
}, onError: (e) async {
debugPrint('DynamicLinks onError $e');
});
}
openFormScreen(String userName){
Navigator.of(context).pushNamed("routeFormScreen", arguments: {"name": userName});
}
}