[英]Apply Deep linking in flutter app for android and ios
在 flutter 應用程序中應用深度鏈接以在另一個應用程序或同一個應用程序中打開特定頁面 ?
我認為這與普通的 android 應用程序相同。 深度鏈接是配置而不是代碼。 你需要在你的 android manifest 中寫一些東西。 查看 firebase 手冊了解深度鏈接:
您可以使用 firebase 動態鏈接在 flutter 中進行深度鏈接。 請參閱此鏈接以獲取完整的實施步驟並創建並接收鏈接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});
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.