动态链接 deepLink.path 空问题
Dynamic links deepLink.path empty issue
我正在使用 firebase_dynamic_links: ^0.5.0+11 我创建了 firebase 动态 link 并且我可以将我的应用程序启动到动态 link (https://myapp.page.link/test) 我正在尝试读取 deepLink.path 但它在 Android 和 Ios 中是空的(不是空的)。
void initState() {
super.initState();
initDynamicLinks();
}
void initDynamicLinks() async {
final PendingDynamicLinkData data =
await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
print("---initDynamicLinks");
if (deepLink != null) {
toast("---deeplink---"+deepLink.path);
print(deepLink.path);
}
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
print('--onLinkSuccess');
if (deepLink != null) {
toast("---deeplink---"+deepLink.path);
print(deepLink.path);
}
}, onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
});
}
颤振医生:
[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E266, locale tr-TR)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
[!] Android Studio (version 3.4)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.44.0)
[✓] Connected device (1 available)
您可以通过在动态 ?d=1
末尾添加
来调试动态 link
示例:https://myapp.page.link/test?d=1
之后,单击桌面部分以查看是否重定向到正确的 link。如果那个 link 没有路径,那么您可能无法使用您的应用程序捕获它。
仔细检查您的设置过程以将深度 link 添加到您的动态 link 中。
如果您添加了没有路径的深层 link,例如 mycompany.com
,您的路径将为空。
使用 url 路径如:
mycompany.com/products?item=5
实际上我们可以处理真实的 links 路径。在我的例子中,我的 deeplink mylink.page.link/test real link mypage.com 这不是正确的方式。我将真实 link 更改为:mypage.com/test 然后我处理 "test" 值
我正在使用 firebase_dynamic_links: ^0.5.0+11 我创建了 firebase 动态 link 并且我可以将我的应用程序启动到动态 link (https://myapp.page.link/test) 我正在尝试读取 deepLink.path 但它在 Android 和 Ios 中是空的(不是空的)。
void initState() {
super.initState();
initDynamicLinks();
}
void initDynamicLinks() async {
final PendingDynamicLinkData data =
await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
print("---initDynamicLinks");
if (deepLink != null) {
toast("---deeplink---"+deepLink.path);
print(deepLink.path);
}
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
print('--onLinkSuccess');
if (deepLink != null) {
toast("---deeplink---"+deepLink.path);
print(deepLink.path);
}
}, onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
});
}
颤振医生:
[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E266, locale tr-TR)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
[!] Android Studio (version 3.4)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.44.0)
[✓] Connected device (1 available)
您可以通过在动态 ?d=1
末尾添加
示例:https://myapp.page.link/test?d=1
之后,单击桌面部分以查看是否重定向到正确的 link。如果那个 link 没有路径,那么您可能无法使用您的应用程序捕获它。
仔细检查您的设置过程以将深度 link 添加到您的动态 link 中。
如果您添加了没有路径的深层 link,例如 mycompany.com
,您的路径将为空。
使用 url 路径如:
mycompany.com/products?item=5
实际上我们可以处理真实的 links 路径。在我的例子中,我的 deeplink mylink.page.link/test real link mypage.com 这不是正确的方式。我将真实 link 更改为:mypage.com/test 然后我处理 "test" 值