我们如何使用 Get X 处理 flutter 中的深层链接以转到应用程序的自定义页面?
How can we handle deep links in flutter with Get X for go to Custom pages of the application?
我们如何使用 Get X 处理 flutter 中的深层链接以转到应用程序的自定义页面?
默认情况下,通过将所需地址添加到 Android 清单文件:
<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="flutterbooksample.com" />
<data android:scheme="https" android:host="flutterbooksample.com"/>
</intent-filter>
当应用程序打开时,应用程序的主页面将显示给我们。
我希望实现这一点,我可以将用户定向到所需应用程序的 任何 页面。一个实际的例子是在网页上支付并return到应用程序。当我们 return 时,我们应该向用户显示有关付款状态的消息,而不是将用户引导至应用程序的第一页。
当您处理深层链接时,在您的应用中执行页面路由。
在我的应用程序中,我通常使用 uni_links (https://pub.dev/packages/uni_links),在我的 main.dart
中,我有这样的东西:
StreamSubscription<String> _subUniLinks;
@override
initState() {
super.initState();
// universal link setup
initUniLinks();
}
Future<void> initUniLinks() async {
try {
final String initialLink = await getInitialLink();
await processLink(initialLink);
} on PlatformException {
}
_subUniLinks = linkStream.listen(processLink, onError: (err) {});
}
processLink(String link) async {
// parse link and decide what to do:
// - use setState
// - or use Navigator.pushReplacement
// - or whatever mechanism if you have in your app for routing to a page
}
@override
dispose() {
if (_subUniLinks != null) _subUniLinks.cancel();
super.dispose();
}
我们如何使用 Get X 处理 flutter 中的深层链接以转到应用程序的自定义页面?
默认情况下,通过将所需地址添加到 Android 清单文件:
<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="flutterbooksample.com" />
<data android:scheme="https" android:host="flutterbooksample.com"/>
</intent-filter>
当应用程序打开时,应用程序的主页面将显示给我们。
我希望实现这一点,我可以将用户定向到所需应用程序的 任何 页面。一个实际的例子是在网页上支付并return到应用程序。当我们 return 时,我们应该向用户显示有关付款状态的消息,而不是将用户引导至应用程序的第一页。
当您处理深层链接时,在您的应用中执行页面路由。
在我的应用程序中,我通常使用 uni_links (https://pub.dev/packages/uni_links),在我的 main.dart
中,我有这样的东西:
StreamSubscription<String> _subUniLinks;
@override
initState() {
super.initState();
// universal link setup
initUniLinks();
}
Future<void> initUniLinks() async {
try {
final String initialLink = await getInitialLink();
await processLink(initialLink);
} on PlatformException {
}
_subUniLinks = linkStream.listen(processLink, onError: (err) {});
}
processLink(String link) async {
// parse link and decide what to do:
// - use setState
// - or use Navigator.pushReplacement
// - or whatever mechanism if you have in your app for routing to a page
}
@override
dispose() {
if (_subUniLinks != null) _subUniLinks.cancel();
super.dispose();
}